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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x194
mov eax, dword [ebp + 8]
mov dword [ebp - 0x198], eax
mov eax, dword [0x43e080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x194], 0xfba27d6f
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x19c], eax
sub eax, 0x85184cd1
je 0x40e4bc
jmp 0x40cf14
mov eax, dword [ebp - 0x19c]
sub eax, 0x89b75e7e
je 0x40df5a
jmp 0x40cf2a
mov eax, dword [ebp - 0x19c]
sub eax, 0x8d14a864
je 0x40ddcf
jmp 0x40cf40
mov eax, dword [ebp - 0x19c]
sub eax, 0x916f7b84
je 0x40d842
jmp 0x40cf56
mov eax, dword [ebp - 0x19c]
sub eax, 0x951a6d3a
je 0x40d542
jmp 0x40cf6c
mov eax, dword [ebp - 0x19c]
sub eax, 0x97cc56e0
je 0x40e49e
jmp 0x40cf82
mov eax, dword [ebp - 0x19c]
sub eax, 0x990d62e0
je 0x40e185
jmp 0x40cf98
mov eax, dword [ebp - 0x19c]
sub eax, 0xa137a4f0
je 0x40e38a
jmp 0x40cfae
mov eax, dword [ebp - 0x19c]
sub eax, 0xab5dc627
je 0x40e611
jmp 0x40cfc4
mov eax, dword [ebp - 0x19c]
sub eax, 0xab957d84
je 0x40d851
jmp 0x40cfda
mov eax, dword [ebp - 0x19c]
sub eax, 0xac369402
je 0x40d952
jmp 0x40cff0
mov eax, dword [ebp - 0x19c]
sub eax, 0xb7a1b4e3
je 0x40d733
jmp 0x40d006
mov eax, dword [ebp - 0x19c]
sub eax, 0xb9536e2b
je 0x40ddfa
jmp 0x40d01c
mov eax, dword [ebp - 0x19c]
sub eax, 0xbfab556a
je 0x40d6c5
jmp 0x40d032
mov eax, dword [ebp - 0x19c]
sub eax, 0xc2bd4299
je 0x40d9b2
jmp 0x40d048
mov eax, dword [ebp - 0x19c]
sub eax, 0xc4274726
je 0x40e2d3
jmp 0x40d05e
mov eax, dword [ebp - 0x19c]
sub eax, 0xc4f1ffda
je 0x40e5e4
jmp 0x40d074
mov eax, dword [ebp - 0x19c]
sub eax, 0xc9107f23
je 0x40deed
jmp 0x40d08a
mov eax, dword [ebp - 0x19c]
sub eax, 0xd2222f61
je 0x40dc4a
jmp 0x40d0a0
mov eax, dword [ebp - 0x19c]
sub eax, 0xd349cc47
je 0x40da47
jmp 0x40d0b6
mov eax, dword [ebp - 0x19c]
sub eax, 0xd81ca100
je 0x40dcc3
jmp 0x40d0cc
mov eax, dword [ebp - 0x19c]
sub eax, 0xe7934147
je 0x40d5c1
jmp 0x40d0e2
mov eax, dword [ebp - 0x19c]
sub eax, 0xe7da42e4
je 0x40df3c
jmp 0x40d0f8
mov eax, dword [ebp - 0x19c]
sub eax, 0xe9238233
je 0x40e41a
jmp 0x40d10e
mov eax, dword [ebp - 0x19c]
sub eax, 0xec878afc
je 0x40e755
jmp 0x40d124
mov eax, dword [ebp - 0x19c]
sub eax, 0xefb29381
je 0x40de70
jmp 0x40d13a
mov eax, dword [ebp - 0x19c]
sub eax, 0xf07e8a80
je 0x40dc7a
jmp 0x40d150
mov eax, dword [ebp - 0x19c]
sub eax, 0xf167f032
je 0x40d5d0
jmp 0x40d166
mov eax, dword [ebp - 0x19c]
sub eax, 0xf1c04cdf
je 0x40e1a3
jmp 0x40d17c
mov eax, dword [ebp - 0x19c]
sub eax, 0xf419a9ce
je 0x40e5d5
jmp 0x40d192
mov eax, dword [ebp - 0x19c]
sub eax, 0xf42489ce
je 0x40d7a5
jmp 0x40d1a8
mov eax, dword [ebp - 0x19c]
sub eax, 0xfba27d6f
je 0x40d4f1
jmp 0x40d1be
mov eax, dword [ebp - 0x19c]
sub eax, 0xff3d53df
je 0x40dd75
jmp 0x40d1d4
mov eax, dword [ebp - 0x19c]
sub eax, 0x15cc059
je 0x40e5fc
jmp 0x40d1ea
mov eax, dword [ebp - 0x19c]
sub eax, 0x3dc187b
je 0x40dc3b
jmp 0x40d200
mov eax, dword [ebp - 0x19c]
sub eax, 0x7d072bf
je 0x40dbb9
jmp 0x40d216
mov eax, dword [ebp - 0x19c]
sub eax, 0x1026e7e7
je 0x40e50a
jmp 0x40d22c
mov eax, dword [ebp - 0x19c]
sub eax, 0x13a5b11d
je 0x40d89a
jmp 0x40d242
mov eax, dword [ebp - 0x19c]
sub eax, 0x17a82de7
je 0x40ddde
jmp 0x40d258
mov eax, dword [ebp - 0x19c]
sub eax, 0x1ca531c0
je 0x40da38
jmp 0x40d26e
mov eax, dword [ebp - 0x19c]
sub eax, 0x1d930130
je 0x40db68
jmp 0x40d284
mov eax, dword [ebp - 0x19c]
sub eax, 0x1e3c4c3f
je 0x40db47
jmp 0x40d29a
mov eax, dword [ebp - 0x19c]
sub eax, 0x1f0f3d1a
je 0x40d75d
jmp 0x40d2b0
mov eax, dword [ebp - 0x19c]
sub eax, 0x1f892019
je 0x40e4e9
jmp 0x40d2c6
mov eax, dword [ebp - 0x19c]
sub eax, 0x20e069d2
je 0x40dede
jmp 0x40d2dc
mov eax, dword [ebp - 0x19c]
sub eax, 0x22341aa9
je 0x40e3c9
jmp 0x40d2f2
mov eax, dword [ebp - 0x19c]
sub eax, 0x29ecf676
je 0x40e5c0
jmp 0x40d308
mov eax, dword [ebp - 0x19c]
sub eax, 0x2bed267a
je 0x40dfd3
jmp 0x40d31e
mov eax, dword [ebp - 0x19c]
sub eax, 0x2e040b7f
je 0x40e5a5
jmp 0x40d334
mov eax, dword [ebp - 0x19c]
sub eax, 0x37d9c4fd
je 0x40d657
jmp 0x40d34a
mov eax, dword [ebp - 0x19c]
sub eax, 0x3a906f06
je 0x40dabd
jmp 0x40d360
mov eax, dword [ebp - 0x19c]
sub eax, 0x3f200e20
je 0x40e176
jmp 0x40d376
mov eax, dword [ebp - 0x19c]
sub eax, 0x48525765
je 0x40dcff
jmp 0x40d38c
mov eax, dword [ebp - 0x19c]
sub eax, 0x4de3a656
je 0x40d742
jmp 0x40d3a2
mov eax, dword [ebp - 0x19c]
sub eax, 0x4fc5e102
je 0x40e764
jmp 0x40d3b8
mov eax, dword [ebp - 0x19c]
sub eax, 0x53835d3e
je 0x40d961
jmp 0x40d3ce
mov eax, dword [ebp - 0x19c]
sub eax, 0x55f3a24d
je 0x40dc6b
jmp 0x40d3e4
mov eax, dword [ebp - 0x19c]
sub eax, 0x57f7c8ac
je 0x40e53c
jmp 0x40d3fa
mov eax, dword [ebp - 0x19c]
sub eax, 0x58d10084
je 0x40e1f4
jmp 0x40d410
mov eax, dword [ebp - 0x19c]
sub eax, 0x5a2cbcbc
je 0x40df0e
jmp 0x40d426
mov eax, dword [ebp - 0x19c]
sub eax, 0x5a98a104
je 0x40e4ad
jmp 0x40d43c
mov eax, dword [ebp - 0x19c]
sub eax, 0x5b51d8a5
je 0x40e399
jmp 0x40d452
mov eax, dword [ebp - 0x19c]
sub eax, 0x5d28e9e6
je 0x40e2c4
jmp 0x40d468
mov eax, dword [ebp - 0x19c]
sub eax, 0x64f09351
je 0x40e52b
jmp 0x40d47e
mov eax, dword [ebp - 0x19c]
sub eax, 0x65f7a271
je 0x40e049
mov eax, dword [0x43f564]
mov ecx, dword [0x43f560]
mov edx, eax
sub edx, 0xfceb850d
sub edx, 1
add edx, 0xfceb850d
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, 0x57f7c8ac
mov ecx, 0x951a6d3a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
push eax
mov eax, esp
mov dword [ebp - 0x168], eax
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
mov edx, ecx
add edx, 0xb90a24ec
sub edx, 1
sub edx, 0xb90a24ec
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, 0x57f7c8ac
mov ecx, 0xe7934147
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dword [ebp - 0x194], 0xf167f032
jmp 0x40e77c
mov eax, dword [ebp - 0x198]
push eax
mov ecx, esp
mov dword [ebp - 0x164], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x16c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00427ea0
add esp, 0xc
mov eax, dword [ebp - 0x16c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x174], eax
mov eax, 0x37d9c4fd
mov ecx, 0x4de3a656
cmp dword [ebp - 0x174], 0
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
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, 0x758cb89b
mov ecx, 0xbfab556a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
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, 0x758cb89b
mov ecx, 0xb7a1b4e3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dword [ebp - 0x194], 0x64f09351
jmp 0x40e77c
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x194], 0x1f0f3d1a
jmp 0x40e77c
mov edx, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x15c]
lea eax, [ebp - 0x11c]
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 eax, dword [ebp - 0x11c]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x194], 0xf42489ce
jmp 0x40e77c
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x174]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x110]
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 dword [ebp - 0x17c], eax
mov edx, 0xffffffff
mov eax, 0xab957d84
mov ecx, 0x916f7b84
cmp dword [ebp - 0x17c], edx
cmove eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dword [ebp - 0x194], 0x64f09351
jmp 0x40e77c
mov eax, dword [0x43f564]
mov ecx, dword [0x43f560]
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, 0x78e71a03
mov ecx, 0x13a5b11d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov eax, dword [ebp - 0x17c]
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 - 0x154], eax
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
mov edx, ecx
add edx, 0x6d7ff6f0
sub edx, 1
sub edx, 0x6d7ff6f0
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, 0x78e71a03
mov ecx, 0xac369402
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dword [ebp - 0x194], 0x53835d3e
jmp 0x40e77c
mov eax, dword [0x43f564]
mov ecx, dword [0x43f560]
mov edx, eax
add edx, 0x8117f257
sub edx, 1
sub edx, 0x8117f257
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, 0x2e040b7f
mov ecx, 0xc2bd4299
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x150], eax
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
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, 0x2e040b7f
mov ecx, 0x1ca531c0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dword [ebp - 0x194], 0xd349cc47
jmp 0x40e77c
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
mov edx, ecx
sub edx, 0x4d146a98
sub edx, 1
add edx, 0x4d146a98
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, 0x29ecf676
mov ecx, 0x3a906f06
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov eax, dword [ebp - 0x150]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x149], al
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
mov edx, ecx
add edx, 0xdcc56bd4
sub edx, 1
sub edx, 0xdcc56bd4
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, 0x29ecf676
mov ecx, 0x1e3c4c3f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dl, byte [ebp - 0x149]
mov eax, 0x1d930130
mov ecx, 0xf07e8a80
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov eax, dword [0x43f564]
mov ecx, dword [0x43f560]
mov edx, eax
sub edx, 0xdc1fb7bd
sub edx, 1
add edx, 0xdc1fb7bd
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, 0xf419a9ce
mov ecx, 0x7d072bf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x148], eax
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
mov edx, ecx
add edx, 0x9440500a
sub edx, 1
sub edx, 0x9440500a
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, 0xf419a9ce
mov ecx, 0x3dc187b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dword [ebp - 0x194], 0xd2222f61
jmp 0x40e77c
mov eax, dword [ebp - 0x148]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x194], 0x55f3a24d
jmp 0x40e77c
mov dword [ebp - 0x194], 0x64f09351
jmp 0x40e77c
mov eax, dword [ebp - 0x180]
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 dword [ebp - 0x184], eax
mov dword [ebp - 0x194], 0xd81ca100
jmp 0x40e77c
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x188]
mov ecx, dword [ecx + 0x3c]
add eax, 0x85bf7be6
add eax, ecx
sub eax, 0x85bf7be6
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x194], 0x48525765
jmp 0x40e77c
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
mov edx, ecx
sub edx, 0x9a7d3274
sub edx, 1
add edx, 0x9a7d3274
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, 0xc4f1ffda
mov ecx, 0xff3d53df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov word [ebp - 0x18e], 0
mov eax, dword [0x43f564]
mov ecx, dword [0x43f560]
mov edx, eax
add edx, 0x90fdae8d
sub edx, 1
sub edx, 0x90fdae8d
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, 0xc4f1ffda
mov ecx, 0x8d14a864
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dword [ebp - 0x194], 0x17a82de7
jmp 0x40e77c
movzx eax, word [ebp - 0x18e]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x194], 0xb9536e2b
jmp 0x40e77c
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
mov edx, ecx
add edx, 0x1d212911
sub edx, 1
sub edx, 0x1d212911
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, 0x15cc059
mov ecx, 0xefb29381
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov eax, dword [ebp - 0x18c]
movzx ecx, word [eax + 6]
mov eax, dword [ebp - 0x144]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x13d], al
mov eax, dword [0x43f564]
mov ecx, dword [0x43f560]
mov edx, eax
sub edx, 0x655b002c
sub edx, 1
add edx, 0x655b002c
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, 0x15cc059
mov ecx, 0x20e069d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dword [ebp - 0x194], 0xc9107f23
jmp 0x40e77c
mov dl, byte [ebp - 0x13d]
mov eax, 0x85184cd1
mov ecx, 0x5a2cbcbc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov eax, dword [ebp - 0x18c]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x194], 0xe7da42e4
jmp 0x40e77c
mov eax, dword [ebp - 0x138]
add eax, 4
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x194], 0x89b75e7e
jmp 0x40e77c
mov eax, dword [ebp - 0x134]
movzx edx, word [eax + 0x10]
mov ecx, dword [ebp - 0x13c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
movzx eax, word [ebp - 0x18e]
imul eax, eax, 0x28
sub ecx, 0x129b3e9b
add ecx, eax
add ecx, 0x129b3e9b
mov eax, dword [ebp - 0x168]
mov dword [eax], ecx
mov eax, dword [ebp - 0x168]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x436e4e
call fcn.0042b7a0
add esp, 8
mov edx, eax
mov eax, 0x2bed267a
mov ecx, 0xc4274726
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
mov edx, ecx
add edx, 0xed464ecc
sub edx, 1
sub edx, 0xed464ecc
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, 0xab5dc627
mov ecx, 0x65f7a271
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dword [ebp - 0x194], 0x990d62e0
jmp 0x40e77c
mov eax, dword [ebp - 0x12c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x194], 0xf1c04cdf
jmp 0x40e77c
mov eax, dword [0x43f564]
mov ecx, dword [0x43f560]
mov edx, eax
sub edx, 0x96b5b9f3
sub edx, 1
add edx, 0x96b5b9f3
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, 0x6fc66927
mov ecx, 0x58d10084
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov esi, dword [ebp - 0x178]
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0x5a2f8ca
add esi, eax
add esi, 0x5a2f8ca
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x128]
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 - 0x160]
mov byte [eax], cl
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
mov edx, ecx
sub edx, 0xd729591
sub edx, 1
add edx, 0xd729591
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, 0x6fc66927
mov ecx, 0x5d28e9e6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dword [ebp - 0x194], 0xc4274726
jmp 0x40e77c
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
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, 0xec878afc
mov ecx, 0x6e072305
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dword [ebp - 0x194], 0x5b51d8a5
jmp 0x40e77c
mov ax, word [ebp - 0x18e]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x122], ax
mov dword [ebp - 0x194], 0x22341aa9
jmp 0x40e77c
mov eax, dword [0x43f564]
mov ecx, dword [0x43f560]
mov edx, eax
add edx, 0x36f7f390
sub edx, 1
sub edx, 0x36f7f390
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, 0x4fc5e102
mov ecx, 0xe9238233
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov ax, word [ebp - 0x122]
mov word [ebp - 0x18e], ax
mov ecx, dword [0x43f564]
mov eax, dword [0x43f560]
mov edx, ecx
sub edx, 0x763bf5e9
sub edx, 1
add edx, 0x763bf5e9
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, 0x4fc5e102
mov ecx, 0x97cc56e0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x194], eax
jmp 0x40e77c
mov dword [ebp - 0x194], 0x5a98a104
jmp 0x40e77c
mov dword [ebp - 0x194], 0x17a82de7
jmp 0x40e77c
mov eax, dword [ebp - 0x17c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x194], 0x1f892019
jmp 0x40e77c
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x194], 0x1026e7e7
jmp 0x40e77c
mov eax, dword [ebp - 0x170]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x194], 0x64f09351
jmp 0x40e77c
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.004271b0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x194], 0x951a6d3a
jmp 0x40e77c
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x194], 0xc2bd4299
jmp 0x40e77c
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x194], 0x3a906f06
jmp 0x40e77c
mov dword [ebp - 0x194], 0x7d072bf
jmp 0x40e77c
mov word [ebp - 0x18e], 0
mov dword [ebp - 0x194], 0xff3d53df
jmp 0x40e77c
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x194], 0xefb29381
jmp 0x40e77c
mov eax, dword [ebp - 0x164]
mov dword [eax], 0
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, esi
add eax, edx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x164]
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 - 0x160]
mov byte [eax], cl
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0xee9de640
add edx, eax
add edx, 0xee9de640
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xacd0b3b6
add ecx, eax
add ecx, 0xacd0b3b6
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00428000
add esp, 0xc
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x194], 0x65f7a271
jmp 0x40e77c
mov dword [ebp - 0x194], 0x6e072305
jmp 0x40e77c
mov ax, word [ebp - 0x122]
mov word [ebp - 0x18e], ax
mov dword [ebp - 0x194], 0xe9238233
jmp 0x40cef8