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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x90
mov eax, dword [ebp + 8]
mov dword [ebp - 0x94], eax
mov eax, dword [0x43d080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
sub edx, 0xa3a460fb
sub edx, 1
add edx, 0xa3a460fb
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x8a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x89], al
mov dword [ebp - 0x90], 0x209dbd0b
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x98], eax
sub eax, 0x84e9ea4c
je 0x40d11e
jmp 0x40c333
mov eax, dword [ebp - 0x98]
sub eax, 0x922d8787
je 0x40ce6f
jmp 0x40c349
mov eax, dword [ebp - 0x98]
sub eax, 0xac75786b
je 0x40d7fe
jmp 0x40c35f
mov eax, dword [ebp - 0x98]
sub eax, 0xad620274
je 0x40d547
jmp 0x40c375
mov eax, dword [ebp - 0x98]
sub eax, 0xadfba204
je 0x40d0aa
jmp 0x40c38b
mov eax, dword [ebp - 0x98]
sub eax, 0xaf12ee92
je 0x40d1da
jmp 0x40c3a1
mov eax, dword [ebp - 0x98]
sub eax, 0xb0db3e47
je 0x40cb64
jmp 0x40c3b7
mov eax, dword [ebp - 0x98]
sub eax, 0xb2b8d242
je 0x40d6bd
jmp 0x40c3cd
mov eax, dword [ebp - 0x98]
sub eax, 0xb39f1930
je 0x40d79b
jmp 0x40c3e3
mov eax, dword [ebp - 0x98]
sub eax, 0xb7093c60
je 0x40d5bd
jmp 0x40c3f9
mov eax, dword [ebp - 0x98]
sub eax, 0xb83efb7a
je 0x40d286
jmp 0x40c40f
mov eax, dword [ebp - 0x98]
sub eax, 0xba384a8d
je 0x40d45c
jmp 0x40c425
mov eax, dword [ebp - 0x98]
sub eax, 0xbabac5fd
je 0x40cbe9
jmp 0x40c43b
mov eax, dword [ebp - 0x98]
sub eax, 0xbd7184d3
je 0x40ca1e
jmp 0x40c451
mov eax, dword [ebp - 0x98]
sub eax, 0xc7605e0b
je 0x40d0e6
jmp 0x40c467
mov eax, dword [ebp - 0x98]
sub eax, 0xca972def
je 0x40ce32
jmp 0x40c47d
mov eax, dword [ebp - 0x98]
sub eax, 0xd25b36ee
je 0x40d163
jmp 0x40c493
mov eax, dword [ebp - 0x98]
sub eax, 0xd684da3a
je 0x40cc74
jmp 0x40c4a9
mov eax, dword [ebp - 0x98]
sub eax, 0xd6a1d45d
je 0x40c938
jmp 0x40c4bf
mov eax, dword [ebp - 0x98]
sub eax, 0xd7715631
je 0x40d44d
jmp 0x40c4d5
mov eax, dword [ebp - 0x98]
sub eax, 0xd78fdc0e
je 0x40d105
jmp 0x40c4eb
mov eax, dword [ebp - 0x98]
sub eax, 0xdbc364c2
je 0x40cf7a
jmp 0x40c501
mov eax, dword [ebp - 0x98]
sub eax, 0xdc8b7613
je 0x40d5e5
jmp 0x40c517
mov eax, dword [ebp - 0x98]
sub eax, 0xde4724cb
je 0x40d6ae
jmp 0x40c52d
mov eax, dword [ebp - 0x98]
sub eax, 0xe6747ff9
je 0x40ccf5
jmp 0x40c543
mov eax, dword [ebp - 0x98]
sub eax, 0xe7f3a462
je 0x40d984
jmp 0x40c559
mov eax, dword [ebp - 0x98]
sub eax, 0xeced7fae
je 0x40d33b
jmp 0x40c56f
mov eax, dword [ebp - 0x98]
sub eax, 0xed27764c
je 0x40d210
jmp 0x40c585
mov eax, dword [ebp - 0x98]
sub eax, 0xeea69db4
je 0x40d3c0
jmp 0x40c59b
mov eax, dword [ebp - 0x98]
sub eax, 0xef60fa62
je 0x40d9b3
jmp 0x40c5b1
mov eax, dword [ebp - 0x98]
sub eax, 0x3c88f4f
je 0x40d975
jmp 0x40c5c7
mov eax, dword [ebp - 0x98]
sub eax, 0x6982758
je 0x40d70e
jmp 0x40c5dd
mov eax, dword [ebp - 0x98]
sub eax, 0x94c3308
je 0x40c9d5
jmp 0x40c5f3
mov eax, dword [ebp - 0x98]
sub eax, 0x9c144ec
je 0x40cd17
jmp 0x40c609
mov eax, dword [ebp - 0x98]
sub eax, 0x109ca10a
je 0x40cb73
jmp 0x40c61f
mov eax, dword [ebp - 0x98]
sub eax, 0x171f86e4
je 0x40d4f6
jmp 0x40c635
mov eax, dword [ebp - 0x98]
sub eax, 0x1ca1798d
je 0x40d883
jmp 0x40c64b
mov eax, dword [ebp - 0x98]
sub eax, 0x209dbd0b
je 0x40c8e4
jmp 0x40c661
mov eax, dword [ebp - 0x98]
sub eax, 0x21eedbf9
je 0x40d143
jmp 0x40c677
mov eax, dword [ebp - 0x98]
sub eax, 0x2b43302a
je 0x40cc65
jmp 0x40c68d
mov eax, dword [ebp - 0x98]
sub eax, 0x2dc9cdb7
je 0x40d34a
jmp 0x40c6a3
mov eax, dword [ebp - 0x98]
sub eax, 0x2e8eda07
je 0x40d8d6
jmp 0x40c6b9
mov eax, dword [ebp - 0x98]
sub eax, 0x2f0dc337
je 0x40cde5
jmp 0x40c6cf
mov eax, dword [ebp - 0x98]
sub eax, 0x2fb43df4
je 0x40d856
jmp 0x40c6e5
mov eax, dword [ebp - 0x98]
sub eax, 0x32aab52a
je 0x40ce51
jmp 0x40c6fb
mov eax, dword [ebp - 0x98]
sub eax, 0x34ce26ee
je 0x40cacf
jmp 0x40c711
mov eax, dword [ebp - 0x98]
sub eax, 0x372712d9
je 0x40d636
jmp 0x40c727
mov eax, dword [ebp - 0x98]
sub eax, 0x38a2c15c
je 0x40cdd6
jmp 0x40c73d
mov eax, dword [ebp - 0x98]
sub eax, 0x3928557e
je 0x40ce86
jmp 0x40c753
mov eax, dword [ebp - 0x98]
sub eax, 0x3d7cff8d
je 0x40d0b9
jmp 0x40c769
mov eax, dword [ebp - 0x98]
sub eax, 0x3e8295fa
je 0x40cf5c
jmp 0x40c77f
mov eax, dword [ebp - 0x98]
sub eax, 0x4080d85d
je 0x40cd60
jmp 0x40c795
mov eax, dword [ebp - 0x98]
sub eax, 0x40efeb38
je 0x40d865
jmp 0x40c7ab
mov eax, dword [ebp - 0x98]
sub eax, 0x51a7e685
je 0x40c9c6
jmp 0x40c7c1
mov eax, dword [ebp - 0x98]
sub eax, 0x54939113
je 0x40d80d
jmp 0x40c7d7
mov eax, dword [ebp - 0x98]
sub eax, 0x57c8a34f
je 0x40ced7
jmp 0x40c7ed
mov eax, dword [ebp - 0x98]
sub eax, 0x5ae8b57d
je 0x40d5cc
jmp 0x40c803
mov eax, dword [ebp - 0x98]
sub eax, 0x616c0df1
je 0x40d78c
jmp 0x40c819
mov eax, dword [ebp - 0x98]
sub eax, 0x62be6ec1
je 0x40d93c
jmp 0x40c82f
mov eax, dword [ebp - 0x98]
sub eax, 0x6460f84c
je 0x40d193
jmp 0x40c845
mov eax, dword [ebp - 0x98]
sub eax, 0x666fb97b
je 0x40d7ed
jmp 0x40c85b
mov eax, dword [ebp - 0x98]
sub eax, 0x68170802
je 0x40d7ca
jmp 0x40c871
mov eax, dword [ebp - 0x98]
sub eax, 0x6be1ff04
je 0x40cade
jmp 0x40c887
mov eax, dword [ebp - 0x98]
sub eax, 0x6cf5efd7
je 0x40cf6b
jmp 0x40c89d
mov eax, dword [ebp - 0x98]
sub eax, 0x7520cf53
je 0x40d69f
mov bl, byte [ebp - 0x8a]
mov dh, byte [ebp - 0x89]
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, 0xac75786b
mov ecx, 0xd6a1d45d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
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, 0xac75786b
mov ecx, 0x51a7e685
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov dword [ebp - 0x90], 0x94c3308
jmp 0x40d9c0
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
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, 0x54939113
mov ecx, 0xbd7184d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x74], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
add edx, 0x710d9871
sub edx, 1
sub edx, 0x710d9871
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, 0x54939113
mov ecx, 0x34ce26ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov dword [ebp - 0x90], 0x6be1ff04
jmp 0x40d9c0
mov ecx, dword [ebp - 0x94]
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.004267c0
add esp, 0xc
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7c]
mov eax, 0xb0db3e47
mov ecx, 0x109ca10a
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov dword [ebp - 0x90], 0x666fb97b
jmp 0x40d9c0
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
sub edx, 0x57944113
sub edx, 1
add edx, 0x57944113
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, 0x77991e8a
mov ecx, 0xbabac5fd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x80]
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 [0x43e55c]
mov ecx, dword [0x43e558]
mov edx, eax
sub edx, 0x38f8ef0
sub edx, 1
add edx, 0x38f8ef0
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, 0x77991e8a
mov ecx, 0x2b43302a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov dword [ebp - 0x90], 0xd684da3a
jmp 0x40d9c0
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx]
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 eax, dword [ebp - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0xe6747ff9
jmp 0x40d9c0
mov edx, dword [ebp - 0x70]
mov esi, 0xffffffff
mov eax, 0x2f0dc337
mov ecx, 0x9c144ec
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
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, 0x2fb43df4
mov ecx, 0x4080d85d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
sub edx, 0xb6a23bb
sub edx, 1
add edx, 0xb6a23bb
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, 0x2fb43df4
mov ecx, 0x38a2c15c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov dword [ebp - 0x90], 0x666fb97b
jmp 0x40d9c0
mov eax, dword [ebp - 0x70]
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 - 0x4c], eax
mov dword [ebp - 0x90], 0xca972def
jmp 0x40d9c0
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x90], 0x32aab52a
jmp 0x40d9c0
mov edx, dword [ebp - 0x48]
mov eax, 0x922d8787
mov ecx, 0xdbc364c2
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x90], 0x3928557e
jmp 0x40d9c0
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
mov edx, eax
sub edx, 0x892ff9d8
sub edx, 1
add edx, 0x892ff9d8
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, 0x40efeb38
mov ecx, 0x57c8a34f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
sub edx, 0xe9650c1c
sub edx, 1
add edx, 0xe9650c1c
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, 0x40efeb38
mov ecx, 0x3e8295fa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov dword [ebp - 0x90], 0x6cf5efd7
jmp 0x40d9c0
mov dword [ebp - 0x90], 0x666fb97b
jmp 0x40d9c0
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
add edx, 0xe1ccb5df
sub edx, 1
sub edx, 0xe1ccb5df
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, 0x1ca1798d
mov ecx, 0x7690f858
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov dword [ebp - 0x90], 0x3d7cff8d
jmp 0x40d9c0
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x90], 0xc7605e0b
jmp 0x40d9c0
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov dword [ebp - 0x90], 0xd78fdc0e
jmp 0x40d9c0
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x3a], ax
mov dword [ebp - 0x90], 0x84e9ea4c
jmp 0x40d9c0
mov ax, word [ebp - 0x3a]
movzx eax, ax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
movzx eax, word [eax + 6]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x90], 0x21eedbf9
jmp 0x40d9c0
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov eax, 0xb2b8d242
mov ecx, 0xd25b36ee
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
add eax, 0x7880a1c3
add eax, 0x18
sub eax, 0x7880a1c3
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x90], 0x6460f84c
jmp 0x40d9c0
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
sub ecx, 0xb54da9be
add ecx, eax
add ecx, 0xb54da9be
mov eax, dword [ebp - 0x5c]
movzx eax, word [eax]
imul eax, eax, 0x28
add ecx, 0xc6e73d62
add ecx, eax
sub ecx, 0xc6e73d62
mov eax, dword [ebp - 0x58]
mov dword [eax], ecx
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x90], 0xaf12ee92
jmp 0x40d9c0
mov ecx, dword [ebp - 0x28]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x435e4e
call fcn.0042a0c0
add esp, 8
mov edx, eax
mov eax, 0xed27764c
mov ecx, 0x171f86e4
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
sub edx, 0xdaa4eeea
sub edx, 1
add edx, 0xdaa4eeea
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, 0x2e8eda07
mov ecx, 0xb83efb7a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x9af312c2
add edx, eax
add edx, 0x9af312c2
mov eax, dword [ebp - 0x54]
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 - 0x50]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
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, 0x2e8eda07
mov ecx, 0xeced7fae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov dword [ebp - 0x90], 0x2dc9cdb7
jmp 0x40d9c0
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
add edx, 0x429317bb
sub edx, 1
sub edx, 0x429317bb
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, 0x62be6ec1
mov ecx, 0xeea69db4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
add edx, 0xd076186
sub edx, 1
sub edx, 0xd076186
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, 0x62be6ec1
mov ecx, 0xd7715631
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov dword [ebp - 0x90], 0xba384a8d
jmp 0x40d9c0
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xd0aeb2eb
add ecx, eax
add ecx, 0xd0aeb2eb
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x1c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00426920
add esp, 0xc
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov esi, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xba97c4e3
add esi, eax
add esi, 0xba97c4e3
mov eax, dword [ebp - 0x54]
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 - 0x50]
mov byte [eax], cl
mov dword [ebp - 0x90], 0x171f86e4
jmp 0x40d9c0
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
mov edx, eax
add edx, 0x8212568c
sub edx, 1
sub edx, 0x8212568c
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, 0x3c88f4f
mov ecx, 0xad620274
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
sub edx, 0xb4005f42
sub edx, 1
add edx, 0xb4005f42
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, 0x3c88f4f
mov ecx, 0xb7093c60
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov dword [ebp - 0x90], 0x5ae8b57d
jmp 0x40d9c0
mov eax, dword [ebp - 0x5c]
mov ax, word [eax]
mov word [ebp - 0x12], ax
mov dword [ebp - 0x90], 0xdc8b7613
jmp 0x40d9c0
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
mov edx, eax
add edx, 0x744e1d9a
sub edx, 1
sub edx, 0x744e1d9a
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, 0xe7f3a462
mov ecx, 0x372712d9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov cx, word [ebp - 0x12]
sub cx, 0x88b3
add cx, 1
add cx, 0x88b3
mov eax, dword [ebp - 0x5c]
mov word [eax], cx
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
mov edx, eax
sub edx, 0x2387b6f2
sub edx, 1
add edx, 0x2387b6f2
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, 0xe7f3a462
mov ecx, 0x7520cf53
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov dword [ebp - 0x90], 0xd78fdc0e
jmp 0x40d9c0
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
mov edx, eax
sub edx, 0x54833e2b
sub edx, 1
add edx, 0x54833e2b
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, 0xef60fa62
mov ecx, 0x6982758
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
add edx, 0xeb7f8b91
sub edx, 1
sub edx, 0xeb7f8b91
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, 0xef60fa62
mov ecx, 0x616c0df1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x90], eax
jmp 0x40d9c0
mov dword [ebp - 0x90], 0xb39f1930
jmp 0x40d9c0
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0x68170802
jmp 0x40d9c0
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0x666fb97b
jmp 0x40d9c0
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00425ad0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x90], 0xd6a1d45d
jmp 0x40d9c0
mov dword [ebp - 0x90], 0xbd7184d3
jmp 0x40d9c0
mov dword [ebp - 0x90], 0x4080d85d
jmp 0x40d9c0
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x90], 0x57c8a34f
jmp 0x40d9c0
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
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 - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0x7690f858
jmp 0x40d9c0
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x78]
mov edx, dword [eax]
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x54]
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 - 0x50]
mov byte [eax], cl
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x90], 0xb83efb7a
jmp 0x40d9c0
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x90], 0xeea69db4
jmp 0x40d9c0
mov dword [ebp - 0x90], 0xad620274
jmp 0x40d9c0
mov ax, word [ebp - 0x12]
mov ax, word [ebp - 0x12]
mov cx, word [ebp - 0x12]
add cx, 0xf10b
add cx, 1
sub cx, 0xf10b
mov eax, dword [ebp - 0x5c]
mov word [eax], cx
mov dword [ebp - 0x90], 0x372712d9
jmp 0x40d9c0
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x90], 0x6982758
jmp 0x40c317