Function at 0x40d140
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 [0x43e080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
sub edx, 0xc83713bf
sub edx, 1
add edx, 0xc83713bf
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x8e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x8d], al
mov dword [ebp - 0x94], 0x2cf05f14
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
sub eax, 0x81774d98
je 0x40dd6e
jmp 0x40d1c3
mov eax, dword [ebp - 0x9c]
sub eax, 0x9793cc12
je 0x40e363
jmp 0x40d1d9
mov eax, dword [ebp - 0x9c]
sub eax, 0x99628f2c
je 0x40e69c
jmp 0x40d1ef
mov eax, dword [ebp - 0x9c]
sub eax, 0x9a36adea
je 0x40e588
jmp 0x40d205
mov eax, dword [ebp - 0x9c]
sub eax, 0x9d6fca61
je 0x40e312
jmp 0x40d21b
mov eax, dword [ebp - 0x9c]
sub eax, 0x9ed74ca9
je 0x40dd0e
jmp 0x40d231
mov eax, dword [ebp - 0x9c]
sub eax, 0xa1252c07
je 0x40da2b
jmp 0x40d247
mov eax, dword [ebp - 0x9c]
sub eax, 0xa3f56fd4
je 0x40d84c
jmp 0x40d25d
mov eax, dword [ebp - 0x9c]
sub eax, 0xa3ff3161
je 0x40e9d8
jmp 0x40d273
mov eax, dword [ebp - 0x9c]
sub eax, 0xa537e9d1
je 0x40de7f
jmp 0x40d289
mov eax, dword [ebp - 0x9c]
sub eax, 0xa6ad295f
je 0x40e916
jmp 0x40d29f
mov eax, dword [ebp - 0x9c]
sub eax, 0xa7f326d9
je 0x40e7dd
jmp 0x40d2b5
mov eax, dword [ebp - 0x9c]
sub eax, 0xa9e5cfac
je 0x40e97e
jmp 0x40d2cb
mov eax, dword [ebp - 0x9c]
sub eax, 0xabe1537b
je 0x40e9ea
jmp 0x40d2e1
mov eax, dword [ebp - 0x9c]
sub eax, 0xadd47f05
je 0x40dff1
jmp 0x40d2f7
mov eax, dword [ebp - 0x9c]
sub eax, 0xaf46ab12
je 0x40d961
jmp 0x40d30d
mov eax, dword [ebp - 0x9c]
sub eax, 0xc093e181
je 0x40e210
jmp 0x40d323
mov eax, dword [ebp - 0x9c]
sub eax, 0xc2bbbc3d
je 0x40df91
jmp 0x40d339
mov eax, dword [ebp - 0x9c]
sub eax, 0xcb6d6d59
je 0x40e6ab
jmp 0x40d34f
mov eax, dword [ebp - 0x9c]
sub eax, 0xce7fbd71
je 0x40e094
jmp 0x40d365
mov eax, dword [ebp - 0x9c]
sub eax, 0xcf400dcc
je 0x40e597
jmp 0x40d37b
mov eax, dword [ebp - 0x9c]
sub eax, 0xcfea2d58
je 0x40dd1d
jmp 0x40d391
mov eax, dword [ebp - 0x9c]
sub eax, 0xd4ec5e70
je 0x40e4f0
jmp 0x40d3a7
mov eax, dword [ebp - 0x9c]
sub eax, 0xd9d2d57e
je 0x40dd85
jmp 0x40d3bd
mov eax, dword [ebp - 0x9c]
sub eax, 0xddcda184
je 0x40dab8
jmp 0x40d3d3
mov eax, dword [ebp - 0x9c]
sub eax, 0xe01cbcc3
je 0x40e1a7
jmp 0x40d3e9
mov eax, dword [ebp - 0x9c]
sub eax, 0xe64516c9
je 0x40df13
jmp 0x40d3ff
mov eax, dword [ebp - 0x9c]
sub eax, 0xe7141480
je 0x40dbdf
jmp 0x40d415
mov eax, dword [ebp - 0x9c]
sub eax, 0xee1a52ac
je 0x40e8f5
jmp 0x40d42b
mov eax, dword [ebp - 0x9c]
sub eax, 0xeef6f55d
je 0x40d920
jmp 0x40d441
mov eax, dword [ebp - 0x9c]
sub eax, 0xfacb2f16
je 0x40e2f2
jmp 0x40d457
mov eax, dword [ebp - 0x9c]
sub eax, 0x1e891ca
je 0x40e3bc
jmp 0x40d46d
mov eax, dword [ebp - 0x9c]
sub eax, 0x2b3c983
je 0x40e5bc
jmp 0x40d483
mov eax, dword [ebp - 0x9c]
sub eax, 0x573b0ae
je 0x40e201
jmp 0x40d499
mov eax, dword [ebp - 0x9c]
sub eax, 0x5dd680f
je 0x40e5d5
jmp 0x40d4af
mov eax, dword [ebp - 0x9c]
sub eax, 0x5fd2432
je 0x40e0d9
jmp 0x40d4c5
mov eax, dword [ebp - 0x9c]
sub eax, 0x8528036
je 0x40e076
jmp 0x40d4db
mov eax, dword [ebp - 0x9c]
sub eax, 0xc5821b5
je 0x40d92f
jmp 0x40d4f1
mov eax, dword [ebp - 0x9c]
sub eax, 0xe4ac613
je 0x40d9cb
jmp 0x40d507
mov eax, dword [ebp - 0x9c]
sub eax, 0x113fec44
je 0x40e44d
jmp 0x40d51d
mov eax, dword [ebp - 0x9c]
sub eax, 0x18ae2841
je 0x40e7bf
jmp 0x40d533
mov eax, dword [ebp - 0x9c]
sub eax, 0x27b095f0
je 0x40e7b0
jmp 0x40d549
mov eax, dword [ebp - 0x9c]
sub eax, 0x288ad3a5
je 0x40ea50
jmp 0x40d55f
mov eax, dword [ebp - 0x9c]
sub eax, 0x2cf05f14
je 0x40d7f8
jmp 0x40d575
mov eax, dword [ebp - 0x9c]
sub eax, 0x30db6d72
je 0x40e8e4
jmp 0x40d58b
mov eax, dword [ebp - 0x9c]
sub eax, 0x35bf0bb7
je 0x40de9d
jmp 0x40d5a1
mov eax, dword [ebp - 0x9c]
sub eax, 0x373946e1
je 0x40ea2c
jmp 0x40d5b7
mov eax, dword [ebp - 0x9c]
sub eax, 0x3cb39a64
je 0x40ea3e
jmp 0x40d5cd
mov eax, dword [ebp - 0x9c]
sub eax, 0x3db5c6d3
je 0x40e904
jmp 0x40d5e3
mov eax, dword [ebp - 0x9c]
sub eax, 0x3e76e060
je 0x40e2e3
jmp 0x40d5f9
mov eax, dword [ebp - 0x9c]
sub eax, 0x3ecb2113
je 0x40ea82
jmp 0x40d60f
mov eax, dword [ebp - 0x9c]
sub eax, 0x419f6230
je 0x40e721
jmp 0x40d625
mov eax, dword [ebp - 0x9c]
sub eax, 0x420f34c1
je 0x40dc28
jmp 0x40d63b
mov eax, dword [ebp - 0x9c]
sub eax, 0x47a14884
je 0x40e417
jmp 0x40d651
mov eax, dword [ebp - 0x9c]
sub eax, 0x48c9fe2b
je 0x40e9fc
jmp 0x40d667
mov eax, dword [ebp - 0x9c]
sub eax, 0x4a203841
je 0x40dfa0
jmp 0x40d67d
mov eax, dword [ebp - 0x9c]
sub eax, 0x4f911fc9
je 0x40e876
jmp 0x40d693
mov eax, dword [ebp - 0x9c]
sub eax, 0x50738d32
je 0x40ea1a
jmp 0x40d6a9
mov eax, dword [ebp - 0x9c]
sub eax, 0x5d6f09ae
je 0x40db01
jmp 0x40d6bf
mov eax, dword [ebp - 0x9c]
sub eax, 0x5df7fc44
je 0x40e4aa
jmp 0x40d6d5
mov eax, dword [ebp - 0x9c]
sub eax, 0x6128bd89
je 0x40e131
jmp 0x40d6eb
mov eax, dword [ebp - 0x9c]
sub eax, 0x69381757
je 0x40ddfb
jmp 0x40d701
mov eax, dword [ebp - 0x9c]
sub eax, 0x6c01d213
je 0x40daa9
jmp 0x40d717
mov eax, dword [ebp - 0x9c]
sub eax, 0x6d1b1f96
je 0x40e11a
jmp 0x40d72d
mov eax, dword [ebp - 0x9c]
sub eax, 0x6e587baa
je 0x40e286
mov bl, byte [ebp - 0x8e]
mov dh, byte [ebp - 0x8d]
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, 0xee1a52ac
mov ecx, 0xa3f56fd4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
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
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
sub edx, 0x28c00267
sub edx, 1
add edx, 0x28c00267
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, 0xee1a52ac
mov ecx, 0xeef6f55d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov dword [ebp - 0x94], 0xc5821b5
jmp 0x40ea8c
mov ecx, dword [ebp - 0x98]
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x94], 0xaf46ab12
jmp 0x40ea8c
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00428000
add esp, 0xc
mov eax, dword [ebp - 0x8c]
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 - 0x80]
mov dword [eax], ecx
mov edx, dword [ebp - 0x80]
mov eax, 0xe4ac613
mov ecx, 0x759fe9c3
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov dword [ebp - 0x94], 0x795199c8
jmp 0x40ea8c
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
add edx, 0xd8553f00
sub edx, 1
sub edx, 0xd8553f00
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, 0x3db5c6d3
mov ecx, 0x6c01d213
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov dword [ebp - 0x94], 0xddcda184
jmp 0x40ea8c
mov eax, dword [0x43f554]
mov ecx, dword [0x43f550]
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, 0xa6ad295f
mov ecx, 0x5d6f09ae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x4c]
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 - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x80]
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 ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
sub edx, 0x65167d03
sub edx, 1
add edx, 0x65167d03
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, 0xa6ad295f
mov ecx, 0x72a66c70
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov eax, dword [0x43f554]
mov ecx, dword [0x43f550]
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, 0xa9e5cfac
mov ecx, 0x420f34c1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x45], al
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
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, 0xa9e5cfac
mov ecx, 0x7b2664e0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov dword [ebp - 0x94], 0x795199c8
jmp 0x40ea8c
mov eax, dword [ebp - 0x74]
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 ecx, eax
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0x81774d98
jmp 0x40ea8c
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x94], 0xd9d2d57e
jmp 0x40ea8c
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
sub edx, 0x30edf971
sub edx, 1
add edx, 0x30edf971
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, 0xa3ff3161
mov ecx, 0x69381757
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov eax, dword [ebp - 0x44]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x3d], al
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
sub edx, 0x7a82e03
sub edx, 1
add edx, 0x7a82e03
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, 0xa3ff3161
mov ecx, 0xa537e9d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov dl, byte [ebp - 0x3d]
mov eax, 0x35bf0bb7
mov ecx, 0xce7fbd71
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
add edx, 0x1a771516
sub edx, 1
sub edx, 0x1a771516
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, 0xabe1537b
mov ecx, 0xe64516c9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
add edx, 0x8c3631ad
sub edx, 1
sub edx, 0x8c3631ad
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, 0xabe1537b
mov ecx, 0xc2bbbc3d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov dword [ebp - 0x94], 0x4a203841
jmp 0x40ea8c
mov eax, dword [0x43f554]
mov ecx, dword [0x43f550]
mov edx, eax
add edx, 0x67b4c9e
sub edx, 1
sub edx, 0x67b4c9e
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, 0x48c9fe2b
mov ecx, 0xadd47f05
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
sub edx, 0x9cf1f38e
sub edx, 1
add edx, 0x9cf1f38e
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, 0x48c9fe2b
mov ecx, 0x8528036
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov dword [ebp - 0x94], 0x7afd4fe3
jmp 0x40ea8c
mov eax, dword [ebp - 0x70]
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 dword [ebp - 0x38], eax
mov dword [ebp - 0x94], 0x5fd2432
jmp 0x40ea8c
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0x6d1b1f96
jmp 0x40ea8c
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov dword [ebp - 0x94], 0x6128bd89
jmp 0x40ea8c
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
sub edx, 0x14f44b2e
sub edx, 1
add edx, 0x14f44b2e
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, 0x50738d32
mov ecx, 0xe01cbcc3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov eax, dword [ebp - 0x60]
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [0x43f554]
mov ecx, dword [0x43f550]
mov edx, eax
add edx, 0xc6b48878
sub edx, 1
sub edx, 0xc6b48878
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, 0x50738d32
mov ecx, 0x573b0ae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov dword [ebp - 0x94], 0xc093e181
jmp 0x40ea8c
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
add edx, 0x70cc8055
sub edx, 1
sub edx, 0x70cc8055
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, 0x373946e1
mov ecx, 0x6e587baa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov dword [ebp - 0x94], 0xfacb2f16
jmp 0x40ea8c
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov eax, 0xcb6d6d59
mov ecx, 0x9d6fca61
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov eax, dword [0x43f554]
mov ecx, dword [0x43f550]
mov edx, eax
add edx, 0x3f8759e6
sub edx, 1
sub edx, 0x3f8759e6
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, 0x3cb39a64
mov ecx, 0x9793cc12
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x43f554]
mov ecx, dword [0x43f550]
mov edx, eax
sub edx, 0xfa909ac7
sub edx, 1
add edx, 0xfa909ac7
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, 0x3cb39a64
mov ecx, 0x1e891ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov dword [ebp - 0x94], 0x72973468
jmp 0x40ea8c
mov ecx, dword [ebp - 0x28]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43709a
call fcn.0042b900
add esp, 8
mov edx, eax
mov eax, 0x113fec44
mov ecx, 0x9a36adea
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x58]
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 al
and al, 1
mov byte [ebp - 0x21], al
mov dword [ebp - 0x94], 0x5df7fc44
jmp 0x40ea8c
mov cl, byte [ebp - 0x21]
and cl, 1
mov eax, dword [ebp - 0x54]
mov byte [eax], cl
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0xd42ddd22
add eax, ecx
sub eax, 0xd42ddd22
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x94], 0xd4ec5e70
jmp 0x40ea8c
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x35adbbda
add ecx, eax
add ecx, 0x35adbbda
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x20]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00428160
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x7c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x22b5b964
add esi, eax
sub esi, 0x22b5b964
mov eax, dword [ebp - 0x58]
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 - 0x54]
mov byte [eax], cl
mov dword [ebp - 0x94], 0x9a36adea
jmp 0x40ea8c
mov dword [ebp - 0x94], 0xcf400dcc
jmp 0x40ea8c
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
sub ax, 0xd13e
add ax, 1
add ax, 0xd13e
mov word [ebp - 0x12], ax
mov dword [ebp - 0x94], 0x2b3c983
jmp 0x40ea8c
mov eax, dword [ebp - 0x60]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0x94], 0x5dd680f
jmp 0x40ea8c
mov eax, dword [0x43f554]
mov ecx, dword [0x43f550]
mov edx, eax
sub edx, 0x40f586e
sub edx, 1
add edx, 0x40f586e
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, 0x288ad3a5
mov ecx, 0x77cdfebe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov dword [ebp - 0x94], 0x6128bd89
jmp 0x40ea8c
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
add edx, 0x120fafba
sub edx, 1
sub edx, 0x120fafba
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, 0x79afe835
mov ecx, 0x419f6230
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
mov edx, ecx
sub edx, 0x1ab8d5dc
sub edx, 1
add edx, 0x1ab8d5dc
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, 0x79afe835
mov ecx, 0x27b095f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov dword [ebp - 0x94], 0x18ae2841
jmp 0x40ea8c
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xa7f326d9
jmp 0x40ea8c
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0x795199c8
jmp 0x40ea8c
mov ecx, dword [0x43f554]
mov eax, dword [0x43f550]
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, 0x3ecb2113
mov ecx, 0x30db6d72
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x40ea8c
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.004272e0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x94], 0xa3f56fd4
jmp 0x40ea8c
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x94], 0xa1252c07
jmp 0x40ea8c
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x4c]
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 - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x80]
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 dword [ebp - 0x94], 0x5d6f09ae
jmp 0x40ea8c
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], 0x420f34c1
jmp 0x40ea8c
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x94], 0x69381757
jmp 0x40ea8c
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], 0xe64516c9
jmp 0x40ea8c
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xadd47f05
jmp 0x40ea8c
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x94], 0xe01cbcc3
jmp 0x40ea8c
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x94], 0x6e587baa
jmp 0x40ea8c
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x94], 0x9793cc12
jmp 0x40ea8c
mov dword [ebp - 0x94], 0x77cdfebe
jmp 0x40ea8c
mov dword [ebp - 0x94], 0x4f911fc9
jmp 0x40d1a7