Function at 0x407ff0
Capabilities:
Allocate or change rwx memory
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x94
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [0x43a080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x94], 0x6ab4bb8a
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
sub eax, 0x8175af3c
je 0x408dbe
jmp 0x408034
mov eax, dword [ebp - 0x9c]
sub eax, 0x92c99601
je 0x408c80
jmp 0x40804a
mov eax, dword [ebp - 0x9c]
sub eax, 0x9564a8c9
je 0x4095aa
jmp 0x408060
mov eax, dword [ebp - 0x9c]
sub eax, 0x9a9ec8e3
je 0x4087c9
jmp 0x408076
mov eax, dword [ebp - 0x9c]
sub eax, 0x9c39f1f9
je 0x4096ec
jmp 0x40808c
mov eax, dword [ebp - 0x9c]
sub eax, 0xa2043c28
je 0x40959b
jmp 0x4080a2
mov eax, dword [ebp - 0x9c]
sub eax, 0xabea15fb
je 0x408ac5
jmp 0x4080b8
mov eax, dword [ebp - 0x9c]
sub eax, 0xb111fdb1
je 0x408c62
jmp 0x4080ce
mov eax, dword [ebp - 0x9c]
sub eax, 0xb149f8de
je 0x4088c7
jmp 0x4080e4
mov eax, dword [ebp - 0x9c]
sub eax, 0xbaa0353f
je 0x409006
jmp 0x4080fa
mov eax, dword [ebp - 0x9c]
sub eax, 0xbf087487
je 0x40944c
jmp 0x408110
mov eax, dword [ebp - 0x9c]
sub eax, 0xbf0dad6f
je 0x4088d6
jmp 0x408126
mov eax, dword [ebp - 0x9c]
sub eax, 0xc64cbc35
je 0x409654
jmp 0x40813c
mov eax, dword [ebp - 0x9c]
sub eax, 0xc7c7d769
je 0x409334
jmp 0x408152
mov eax, dword [ebp - 0x9c]
sub eax, 0xc9ac9206
je 0x409533
jmp 0x408168
mov eax, dword [ebp - 0x9c]
sub eax, 0xca4d385f
je 0x4092aa
jmp 0x40817e
mov eax, dword [ebp - 0x9c]
sub eax, 0xcaff941a
je 0x408706
jmp 0x408194
mov eax, dword [ebp - 0x9c]
sub eax, 0xd01a8dc2
je 0x408edc
jmp 0x4081aa
mov eax, dword [ebp - 0x9c]
sub eax, 0xd0e431aa
je 0x409240
jmp 0x4081c0
mov eax, dword [ebp - 0x9c]
sub eax, 0xd50881d0
je 0x408ff7
jmp 0x4081d6
mov eax, dword [ebp - 0x9c]
sub eax, 0xd52dbb0e
je 0x408ebc
jmp 0x4081ec
mov eax, dword [ebp - 0x9c]
sub eax, 0xd9c67fb1
je 0x40940c
jmp 0x408202
mov eax, dword [ebp - 0x9c]
sub eax, 0xda0e89d5
je 0x408de4
jmp 0x408218
mov eax, dword [ebp - 0x9c]
sub eax, 0xdf7d3158
je 0x409231
jmp 0x40822e
mov eax, dword [ebp - 0x9c]
sub eax, 0xe6cc985f
je 0x408f4a
jmp 0x408244
mov eax, dword [ebp - 0x9c]
sub eax, 0xe8e42e40
je 0x408913
jmp 0x40825a
mov eax, dword [ebp - 0x9c]
sub eax, 0xe9200ebb
je 0x408aea
jmp 0x408270
mov eax, dword [ebp - 0x9c]
sub eax, 0xeb9197e6
je 0x408b84
jmp 0x408286
mov eax, dword [ebp - 0x9c]
sub eax, 0xec0d5516
je 0x408a78
jmp 0x40829c
mov eax, dword [ebp - 0x9c]
sub eax, 0xf00a4c74
je 0x408ea3
jmp 0x4082b2
mov eax, dword [ebp - 0x9c]
sub eax, 0xf99acc60
je 0x408e94
jmp 0x4082c8
mov eax, dword [ebp - 0x9c]
sub eax, 0xfc5ffa70
je 0x408bb9
jmp 0x4082de
mov eax, dword [ebp - 0x9c]
sub eax, 0xfd7e4e3c
je 0x4087d8
jmp 0x4082f4
mov eax, dword [ebp - 0x9c]
sub eax, 0x4ff126b
je 0x408c97
jmp 0x40830a
mov eax, dword [ebp - 0x9c]
sub eax, 0x52453d8
je 0x408d05
jmp 0x408320
mov eax, dword [ebp - 0x9c]
sub eax, 0x593c3e9
je 0x4091af
jmp 0x408336
mov eax, dword [ebp - 0x9c]
sub eax, 0x651e53e
je 0x409553
jmp 0x40834c
mov eax, dword [ebp - 0x9c]
sub eax, 0xa6c2eff
je 0x408821
jmp 0x408362
mov eax, dword [ebp - 0x9c]
sub eax, 0xc60d1a8
je 0x4090cb
jmp 0x408378
mov eax, dword [ebp - 0x9c]
sub eax, 0xc8e7aab
je 0x4096cd
jmp 0x40838e
mov eax, dword [ebp - 0x9c]
sub eax, 0x117c591a
je 0x4090e9
jmp 0x4083a4
mov eax, dword [ebp - 0x9c]
sub eax, 0x17986ddd
je 0x409057
jmp 0x4083ba
mov eax, dword [ebp - 0x9c]
sub eax, 0x1bccf5ec
je 0x408c71
jmp 0x4083d0
mov eax, dword [ebp - 0x9c]
sub eax, 0x1deff364
je 0x408dcd
jmp 0x4083e6
mov eax, dword [ebp - 0x9c]
sub eax, 0x22b6f1c0
je 0x40897d
jmp 0x4083fc
mov eax, dword [ebp - 0x9c]
sub eax, 0x29bcb355
je 0x409524
jmp 0x408412
mov eax, dword [ebp - 0x9c]
sub eax, 0x2b09e985
je 0x4095c8
jmp 0x408428
mov eax, dword [ebp - 0x9c]
sub eax, 0x2bee7c66
je 0x40963f
jmp 0x40843e
mov eax, dword [ebp - 0x9c]
sub eax, 0x2c96f41f
je 0x408a69
jmp 0x408454
mov eax, dword [ebp - 0x9c]
sub eax, 0x2d23deac
je 0x40941b
jmp 0x40846a
mov eax, dword [ebp - 0x9c]
sub eax, 0x2e0f24e6
je 0x4090bc
jmp 0x408480
mov eax, dword [ebp - 0x9c]
sub eax, 0x36afb213
je 0x409343
jmp 0x408496
mov eax, dword [ebp - 0x9c]
sub eax, 0x36b16242
je 0x4096a5
jmp 0x4084ac
mov eax, dword [ebp - 0x9c]
sub eax, 0x3886021d
je 0x409259
jmp 0x4084c2
mov eax, dword [ebp - 0x9c]
sub eax, 0x3e6fa121
je 0x4089f3
jmp 0x4084d8
mov eax, dword [ebp - 0x9c]
sub eax, 0x41156be9
je 0x4093b1
jmp 0x4084ee
mov eax, dword [ebp - 0x9c]
sub eax, 0x4169ac22
je 0x408c0a
jmp 0x408504
mov eax, dword [ebp - 0x9c]
sub eax, 0x435ceb0c
je 0x409180
jmp 0x40851a
mov eax, dword [ebp - 0x9c]
sub eax, 0x4e9d2d32
je 0x409544
jmp 0x408530
mov eax, dword [ebp - 0x9c]
sub eax, 0x56dd1b03
je 0x409515
jmp 0x408546
mov eax, dword [ebp - 0x9c]
sub eax, 0x57f4dab6
je 0x408687
jmp 0x40855c
mov eax, dword [ebp - 0x9c]
sub eax, 0x5d5d3268
je 0x409705
jmp 0x408572
mov eax, dword [ebp - 0x9c]
sub eax, 0x612ced75
je 0x40958c
jmp 0x408588
mov eax, dword [ebp - 0x9c]
sub eax, 0x66b73e5f
je 0x408b3b
jmp 0x40859e
mov eax, dword [ebp - 0x9c]
sub eax, 0x690a8482
je 0x409495
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
mov ecx, dword [0x43b584]
mov eax, dword [0x43b580]
mov edx, ecx
add edx, 0x39f374a6
sub edx, 1
sub edx, 0x39f374a6
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x4e9d2d32
mov ecx, 0xcaff941a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov dword [ebp - 0x94], 0x70da0979
jmp 0x409721
mov dword [ebp - 0x94], 0xc9ac9206
jmp 0x409721
mov eax, dword [0x43b584]
mov ecx, dword [0x43b580]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x651e53e
mov ecx, 0xa6c2eff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 0x18]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
lea eax, [ebp - 0x18]
mov dword [ebp - 0x58], eax
mov ecx, dword [0x43b584]
mov eax, dword [0x43b580]
mov edx, ecx
add edx, 0x6d5d581b
sub edx, 1
sub edx, 0x6d5d581b
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x651e53e
mov ecx, 0xb149f8de
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov dword [ebp - 0x94], 0xbf0dad6f
jmp 0x409721
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x90]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x94], 0xe8e42e40
jmp 0x409721
mov eax, dword [ebp - 0x80]
xor ecx, ecx
sub esp, 0x1c
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, eax
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7c]
mov esi, 0xffffffff
mov eax, 0xec0d5516
mov ecx, 0x22b6f1c0
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov ecx, dword [0x43b584]
mov eax, dword [0x43b580]
mov edx, ecx
sub edx, 0xfb027251
sub edx, 1
add edx, 0xfb027251
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x612ced75
mov ecx, 0x3e6fa121
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov ecx, dword [0x43b584]
mov eax, dword [0x43b580]
mov edx, ecx
sub edx, 0x8675a805
sub edx, 1
add edx, 0x8675a805
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x612ced75
mov ecx, 0x2c96f41f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov dword [ebp - 0x94], 0xc9ac9206
jmp 0x409721
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x94], 0xabea15fb
jmp 0x409721
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x4d], al
mov dword [ebp - 0x94], 0xe9200ebb
jmp 0x409721
mov eax, dword [0x43b584]
mov ecx, dword [0x43b580]
mov edx, eax
sub edx, 0x24d9be2a
sub edx, 1
add edx, 0x24d9be2a
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xa2043c28
mov ecx, 0x66b73e5f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov eax, dword [0x43b584]
mov ecx, dword [0x43b580]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xa2043c28
mov ecx, 0xeb9197e6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov dl, byte [ebp - 0x4d]
mov eax, 0x7e201ba3
mov ecx, 0x92c99601
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov eax, dword [0x43b584]
mov ecx, dword [0x43b580]
mov edx, eax
add edx, 0x60615631
sub edx, 1
sub edx, 0x60615631
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x9564a8c9
mov ecx, 0x4169ac22
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x43b584]
mov ecx, dword [0x43b580]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x9564a8c9
mov ecx, 0xb111fdb1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov dword [ebp - 0x94], 0x1bccf5ec
jmp 0x409721
mov dword [ebp - 0x94], 0xc9ac9206
jmp 0x409721
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x94], 0x4ff126b
jmp 0x409721
mov ecx, dword [0x43b584]
mov eax, dword [0x43b580]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x2b09e985
mov ecx, 0x52453d8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov eax, dword [ebp - 0x48]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, eax
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
sub ecx, 0x221cbec7
add ecx, eax
add ecx, 0x221cbec7
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [0x43b584]
mov ecx, dword [0x43b580]
mov edx, eax
sub edx, 0x551d3707
sub edx, 1
add edx, 0x551d3707
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x2b09e985
mov ecx, 0x8175af3c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov dword [ebp - 0x94], 0x1deff364
jmp 0x409721
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov dword [ebp - 0x94], 0xda0e89d5
jmp 0x409721
mov eax, dword [0x43b584]
mov ecx, dword [0x43b580]
mov edx, eax
sub edx, 0x3c1f939b
sub edx, 1
add edx, 0x3c1f939b
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x2bee7c66
mov ecx, 0x6ea0ab2d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov dword [ebp - 0x94], 0xf00a4c74
jmp 0x409721
mov ax, word [ebp - 0x3e]
movzx eax, ax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x94], 0xd52dbb0e
jmp 0x409721
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x3c]
mov eax, 0x2d23deac
mov ecx, 0xd01a8dc2
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov ecx, dword [0x43b584]
mov eax, dword [0x43b580]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xc64cbc35
mov ecx, 0xe6cc985f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
xor eax, eax
sub eax, 0x18
sub ecx, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x43b584]
mov eax, dword [0x43b580]
mov edx, ecx
add edx, 0xf26d64c
sub edx, 1
sub edx, 0xf26d64c
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xc64cbc35
mov ecx, 0xd50881d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov dword [ebp - 0x94], 0xbaa0353f
jmp 0x409721
mov eax, dword [0x43b584]
mov ecx, dword [0x43b580]
mov edx, eax
sub edx, 0xf7717ada
sub edx, 1
add edx, 0xf7717ada
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x36b16242
mov ecx, 0x17986ddd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov ecx, dword [ebp - 0x38]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x433866
call fcn.00427f50
add esp, 8
mov dword [ebp - 0x34], eax
mov eax, dword [0x43b584]
mov ecx, dword [0x43b580]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x36b16242
mov ecx, 0x2e0f24e6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov dword [ebp - 0x94], 0xc60d1a8
jmp 0x409721
mov edx, dword [ebp - 0x34]
mov eax, 0x117c591a
mov ecx, 0xdf7d3158
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0xe898306a
add edx, eax
add edx, 0xe898306a
mov eax, dword [ebp - 0x60]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x40
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x5c]
mov byte [eax], cl
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x94], 0x435ceb0c
jmp 0x409721
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
add eax, 0x313a401b
add eax, ecx
sub eax, 0x313a401b
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x94], 0x593c3e9
jmp 0x409721
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004247b0
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x11f4d8e0
add esi, eax
sub esi, 0x11f4d8e0
mov eax, dword [ebp - 0x60]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x5c]
mov byte [eax], cl
mov dword [ebp - 0x94], 0xdf7d3158
jmp 0x409721
mov dword [ebp - 0x94], 0xd0e431aa
jmp 0x409721
mov eax, dword [ebp - 0x68]
mov ax, word [eax]
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x94], 0x3886021d
jmp 0x409721
mov eax, dword [0x43b584]
mov ecx, dword [0x43b580]
mov edx, eax
sub edx, 0x3c1ec844
sub edx, 1
add edx, 0x3c1ec844
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xc8e7aab
mov ecx, 0xca4d385f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov ax, word [ebp - 0x1c]
sub ax, 0x5d20
add ax, 1
add ax, 0x5d20
mov word [ebp - 0x1a], ax
mov ecx, dword [0x43b584]
mov eax, dword [0x43b580]
mov edx, ecx
sub edx, 0x22b976d
sub edx, 1
add edx, 0x22b976d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xc8e7aab
mov ecx, 0xc7c7d769
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov dword [ebp - 0x94], 0x36afb213
jmp 0x409721
mov ecx, dword [0x43b584]
mov eax, dword [0x43b580]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x9c39f1f9
mov ecx, 0x41156be9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov eax, dword [ebp - 0x68]
mov cx, word [ebp - 0x1a]
mov word [eax], cx
mov eax, dword [0x43b584]
mov ecx, dword [0x43b580]
mov edx, eax
add edx, 0x1b54869c
sub edx, 1
sub edx, 0x1b54869c
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x9c39f1f9
mov ecx, 0xd9c67fb1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov dword [ebp - 0x94], 0xda0e89d5
jmp 0x409721
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xbf087487
jmp 0x409721
mov eax, dword [0x43b584]
mov ecx, dword [0x43b580]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x5d5d3268
mov ecx, 0x690a8482
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409721
mov dword [ebp - 0x94], 0x29bcb355
jmp 0x409721
mov dword [ebp - 0x94], 0xc9ac9206
jmp 0x409721
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00423960
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x94], 0x57f4dab6
jmp 0x409721
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
lea eax, [ebp - 0x18]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
mov dword [ebp - 0x94], 0xa6c2eff
jmp 0x409721
mov dword [ebp - 0x94], 0x3e6fa121
jmp 0x409721
mov dword [ebp - 0x94], 0x66b73e5f
jmp 0x409721
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0x4169ac22
jmp 0x409721
mov eax, dword [ebp - 0x48]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, eax
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
sub ecx, 0x92b70d13
add ecx, eax
add ecx, 0x92b70d13
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0x52453d8
jmp 0x409721
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x94], 0x6ea0ab2d
jmp 0x409721
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
xor eax, eax
sub eax, 0x18
sub ecx, eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
add ecx, 0x5d6f431c
add ecx, eax
sub ecx, 0x5d6f431c
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0x287c541b
add ecx, eax
sub ecx, 0x287c541b
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x94], 0xe6cc985f
jmp 0x409721
mov ecx, dword [ebp - 0x38]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x433866
call fcn.00427f50
add esp, 8
mov dword [ebp - 0x94], 0x17986ddd
jmp 0x409721
mov ax, word [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov dword [ebp - 0x94], 0xca4d385f
jmp 0x409721
mov eax, dword [ebp - 0x68]
mov cx, word [ebp - 0x1a]
mov word [eax], cx
mov dword [ebp - 0x94], 0x41156be9
jmp 0x409721
mov eax, dword [ebp - 0x8c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0x690a8482
jmp 0x408018