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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1b4
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1b8], eax
mov eax, dword [0x440080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1b4], 0x66a27550
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1bc], eax
sub eax, 0x8135073a
je 0x40dd06
jmp 0x40ce54
mov eax, dword [ebp - 0x1bc]
sub eax, 0x83a623ad
je 0x40d85e
jmp 0x40ce6a
mov eax, dword [ebp - 0x1bc]
sub eax, 0x863b8670
je 0x40e2f0
jmp 0x40ce80
mov eax, dword [ebp - 0x1bc]
sub eax, 0x8a035cbf
je 0x40df7d
jmp 0x40ce96
mov eax, dword [ebp - 0x1bc]
sub eax, 0x8a7464cb
je 0x40e553
jmp 0x40ceac
mov eax, dword [ebp - 0x1bc]
sub eax, 0x8a8f2409
je 0x40d930
jmp 0x40cec2
mov eax, dword [ebp - 0x1bc]
sub eax, 0x9543e638
je 0x40dcdb
jmp 0x40ced8
mov eax, dword [ebp - 0x1bc]
sub eax, 0x99c9cf8a
je 0x40d641
jmp 0x40ceee
mov eax, dword [ebp - 0x1bc]
sub eax, 0xa5b5f417
je 0x40de3c
jmp 0x40cf04
mov eax, dword [ebp - 0x1bc]
sub eax, 0xa7c63dd6
je 0x40dfce
jmp 0x40cf1a
mov eax, dword [ebp - 0x1bc]
sub eax, 0xa815d8c7
je 0x40e3c6
jmp 0x40cf30
mov eax, dword [ebp - 0x1bc]
sub eax, 0xaaf946f4
je 0x40e263
jmp 0x40cf46
mov eax, dword [ebp - 0x1bc]
sub eax, 0xaf00bed9
je 0x40d77b
jmp 0x40cf5c
mov eax, dword [ebp - 0x1bc]
sub eax, 0xb0cdc5f7
je 0x40e673
jmp 0x40cf72
mov eax, dword [ebp - 0x1bc]
sub eax, 0xbaa5d9df
je 0x40e19a
jmp 0x40cf88
mov eax, dword [ebp - 0x1bc]
sub eax, 0xbb04deba
je 0x40e065
jmp 0x40cf9e
mov eax, dword [ebp - 0x1bc]
sub eax, 0xc769e3c3
je 0x40ddee
jmp 0x40cfb4
mov eax, dword [ebp - 0x1bc]
sub eax, 0xcd993eec
je 0x40e044
jmp 0x40cfca
mov eax, dword [ebp - 0x1bc]
sub eax, 0xd02d1d8d
je 0x40d650
jmp 0x40cfe0
mov eax, dword [ebp - 0x1bc]
sub eax, 0xd461f197
je 0x40e50b
jmp 0x40cff6
mov eax, dword [ebp - 0x1bc]
sub eax, 0xd5a8a247
je 0x40deb2
jmp 0x40d00c
mov eax, dword [ebp - 0x1bc]
sub eax, 0xd853b38e
je 0x40e6e9
jmp 0x40d022
mov eax, dword [ebp - 0x1bc]
sub eax, 0xd8a06646
je 0x40e3b7
jmp 0x40d038
mov eax, dword [ebp - 0x1bc]
sub eax, 0xda2b0108
je 0x40da64
jmp 0x40d04e
mov eax, dword [ebp - 0x1bc]
sub eax, 0xef9340b6
je 0x40e697
jmp 0x40d064
mov eax, dword [ebp - 0x1bc]
sub eax, 0xf1f7286a
je 0x40e3e1
jmp 0x40d07a
mov eax, dword [ebp - 0x1bc]
sub eax, 0xf2c00b31
je 0x40d50c
jmp 0x40d090
mov eax, dword [ebp - 0x1bc]
sub eax, 0xf303a410
je 0x40dbdf
jmp 0x40d0a6
mov eax, dword [ebp - 0x1bc]
sub eax, 0xf8807c64
je 0x40d8af
jmp 0x40d0bc
mov eax, dword [ebp - 0x1bc]
sub eax, 0xfb2658d6
je 0x40e136
jmp 0x40d0d2
mov eax, dword [ebp - 0x1bc]
sub eax, 0xfc0a3de4
je 0x40e212
jmp 0x40d0e8
mov eax, dword [ebp - 0x1bc]
sub eax, 0xfea9fcda
je 0x40e586
jmp 0x40d0fe
mov eax, dword [ebp - 0x1bc]
sub eax, 0x4a1cce0
je 0x40d494
jmp 0x40d114
mov eax, dword [ebp - 0x1bc]
sub eax, 0x5f89351
je 0x40da28
jmp 0x40d12a
mov eax, dword [ebp - 0x1bc]
sub eax, 0xa9754b2
je 0x40d9a6
jmp 0x40d140
mov eax, dword [ebp - 0x1bc]
sub eax, 0x101dfb31
je 0x40dca9
jmp 0x40d156
mov eax, dword [ebp - 0x1bc]
sub eax, 0x105fbfc7
je 0x40e4fa
jmp 0x40d16c
mov eax, dword [ebp - 0x1bc]
sub eax, 0x115d53a3
je 0x40e682
jmp 0x40d182
mov eax, dword [ebp - 0x1bc]
sub eax, 0x12a68eae
je 0x40da85
jmp 0x40d198
mov eax, dword [ebp - 0x1bc]
sub eax, 0x14fc755d
je 0x40db36
jmp 0x40d1ae
mov eax, dword [ebp - 0x1bc]
sub eax, 0x175a2303
je 0x40e5f0
jmp 0x40d1c4
mov eax, dword [ebp - 0x1bc]
sub eax, 0x1d0d6b78
je 0x40dad6
jmp 0x40d1da
mov eax, dword [ebp - 0x1bc]
sub eax, 0x2448c63d
je 0x40d76c
jmp 0x40d1f0
mov eax, dword [ebp - 0x1bc]
sub eax, 0x263d922a
je 0x40e422
jmp 0x40d206
mov eax, dword [ebp - 0x1bc]
sub eax, 0x28707926
je 0x40ddcd
jmp 0x40d21c
mov eax, dword [ebp - 0x1bc]
sub eax, 0x28b08d1f
je 0x40e203
jmp 0x40d232
mov eax, dword [ebp - 0x1bc]
sub eax, 0x2ba63538
je 0x40d6c6
jmp 0x40d248
mov eax, dword [ebp - 0x1bc]
sub eax, 0x3052055b
je 0x40df6e
jmp 0x40d25e
mov eax, dword [ebp - 0x1bc]
sub eax, 0x3932f2a0
je 0x40dc30
jmp 0x40d274
mov eax, dword [ebp - 0x1bc]
sub eax, 0x3b981bdf
je 0x40e490
jmp 0x40d28a
mov eax, dword [ebp - 0x1bc]
sub eax, 0x3f661408
je 0x40e5e1
jmp 0x40d2a0
mov eax, dword [ebp - 0x1bc]
sub eax, 0x42640c9c
je 0x40db27
jmp 0x40d2b6
mov eax, dword [ebp - 0x1bc]
sub eax, 0x49a101e1
je 0x40e341
jmp 0x40d2cc
mov eax, dword [ebp - 0x1bc]
sub eax, 0x4c342faf
je 0x40e595
jmp 0x40d2e2
mov eax, dword [ebp - 0x1bc]
sub eax, 0x4e9ea026
je 0x40d913
jmp 0x40d2f8
mov eax, dword [ebp - 0x1bc]
sub eax, 0x51bc6183
je 0x40da49
jmp 0x40d30e
mov eax, dword [ebp - 0x1bc]
sub eax, 0x51eda369
je 0x40d8be
jmp 0x40d324
mov eax, dword [ebp - 0x1bc]
sub eax, 0x531b8246
je 0x40dd7c
jmp 0x40d33a
mov eax, dword [ebp - 0x1bc]
sub eax, 0x615d0aa3
je 0x40d4fd
jmp 0x40d350
mov eax, dword [ebp - 0x1bc]
sub eax, 0x61daf479
je 0x40e3a8
jmp 0x40d366
mov eax, dword [ebp - 0x1bc]
sub eax, 0x6628a337
je 0x40d7e8
jmp 0x40d37c
mov eax, dword [ebp - 0x1bc]
sub eax, 0x66a27550
je 0x40d431
jmp 0x40d392
mov eax, dword [ebp - 0x1bc]
sub eax, 0x684b3c21
je 0x40e2e1
jmp 0x40d3a8
mov eax, dword [ebp - 0x1bc]
sub eax, 0x68baf03c
je 0x40e5b9
jmp 0x40d3be
mov eax, dword [ebp - 0x1bc]
sub eax, 0x6a453104
je 0x40dc9a
mov eax, dword [ebp - 0x1b8]
push eax
mov ecx, esp
mov dword [ebp - 0x19c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x198], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x194], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x190], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x18c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x188], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x184], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1b4], 0x4a1cce0
jmp 0x40e705
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x1a4], 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.00429f80
add esp, 0xc
mov eax, dword [ebp - 0x1a0]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x1a8], eax
mov eax, 0x615d0aa3
mov ecx, 0xf2c00b31
cmp dword [ebp - 0x1a8], 0
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov dword [ebp - 0x1b4], 0x105fbfc7
jmp 0x40e705
mov ecx, dword [0x44158c]
mov eax, dword [0x441588]
mov edx, ecx
add edx, 0x8e46794b
sub edx, 1
sub edx, 0x8e46794b
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, 0xd461f197
mov ecx, 0x6e644e78
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov dword [ebp - 0x1b4], 0xd02d1d8d
jmp 0x40e705
mov ecx, dword [0x44158c]
mov eax, dword [0x441588]
mov edx, ecx
sub edx, 0xf42ca2a2
sub edx, 1
add edx, 0xf42ca2a2
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, 0x8a7464cb
mov ecx, 0x2ba63538
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x178]
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]
mov dword [ebp - 0x174], eax
mov ecx, dword [0x44158c]
mov eax, dword [0x441588]
mov edx, ecx
sub edx, 0x4894352
sub edx, 1
add edx, 0x4894352
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, 0x8a7464cb
mov ecx, 0x2448c63d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov dword [ebp - 0x1b4], 0xaf00bed9
jmp 0x40e705
mov eax, dword [ebp - 0x174]
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 - 0x1b0], eax
mov edx, 0xffffffff
mov eax, 0x51eda369
mov ecx, 0x6628a337
cmp dword [ebp - 0x1b0], edx
cmove eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov ecx, dword [0x44158c]
mov eax, dword [0x441588]
mov edx, ecx
sub edx, 0x619ca837
sub edx, 1
add edx, 0x619ca837
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, 0xfea9fcda
mov ecx, 0x83a623ad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov eax, dword [0x44158c]
mov ecx, dword [0x441588]
mov edx, eax
sub edx, 0xe443d2ff
sub edx, 1
add edx, 0xe443d2ff
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, 0xfea9fcda
mov ecx, 0xf8807c64
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov dword [ebp - 0x1b4], 0x105fbfc7
jmp 0x40e705
mov eax, dword [ebp - 0x1b0]
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 - 0x19c]
mov dword [eax], ecx
mov dword [ebp - 0x1b4], 0x4e9ea026
jmp 0x40e705
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x1b4], 0x8a8f2409
jmp 0x40e705
mov ecx, dword [0x44158c]
mov eax, dword [0x441588]
mov edx, ecx
add edx, 0x9983565b
sub edx, 1
sub edx, 0x9983565b
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, 0x4c342faf
mov ecx, 0xa9754b2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov eax, dword [ebp - 0x170]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x169], al
mov ecx, dword [0x44158c]
mov eax, dword [0x441588]
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, 0x4c342faf
mov ecx, 0x5f89351
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov dl, byte [ebp - 0x169]
mov eax, 0x51bc6183
mov ecx, 0x14fc755d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x1b4], 0xda2b0108
jmp 0x40e705
mov eax, dword [ebp - 0x168]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b4], 0x12a68eae
jmp 0x40e705
mov eax, dword [0x44158c]
mov ecx, dword [0x441588]
mov edx, eax
sub edx, 0x8c78a37
sub edx, 1
add edx, 0x8c78a37
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, 0x6e38a927
mov ecx, 0x1d0d6b78
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov eax, dword [0x44158c]
mov ecx, dword [0x441588]
mov edx, eax
sub edx, 0x8b5cd154
sub edx, 1
add edx, 0x8b5cd154
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, 0x6e38a927
mov ecx, 0x42640c9c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov dword [ebp - 0x1b4], 0x105fbfc7
jmp 0x40e705
mov eax, dword [ebp - 0x19c]
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 - 0x198]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x194]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x194]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x1b4], 0x74ea60fb
jmp 0x40e705
mov eax, dword [0x44158c]
mov ecx, dword [0x441588]
mov edx, eax
sub edx, 0x7b8c093
sub edx, 1
add edx, 0x7b8c093
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, 0x68baf03c
mov ecx, 0x3932f2a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x15c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18c]
mov word [eax], 0
mov eax, dword [0x44158c]
mov ecx, dword [0x441588]
mov edx, eax
sub edx, 0xeb5f61c4
sub edx, 1
add edx, 0xeb5f61c4
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, 0x68baf03c
mov ecx, 0x6a453104
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov eax, dword [ebp - 0x18c]
movzx eax, word [eax]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
add eax, 4
add eax, 2
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1b4], 0x9543e638
jmp 0x40e705
mov eax, dword [ebp - 0x154]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x158]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x14d], al
mov dword [ebp - 0x1b4], 0x8135073a
jmp 0x40e705
mov ecx, dword [0x44158c]
mov eax, dword [0x441588]
mov edx, ecx
sub edx, 0xc491a0e6
sub edx, 1
add edx, 0xc491a0e6
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, 0x3f661408
mov ecx, 0x531b8246
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov eax, dword [0x44158c]
mov ecx, dword [0x441588]
mov edx, eax
sub edx, 0x85e1582b
sub edx, 1
add edx, 0x85e1582b
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, 0x3f661408
mov ecx, 0x28707926
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov dl, byte [ebp - 0x14d]
mov eax, 0xa815d8c7
mov ecx, 0xc769e3c3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov eax, dword [ebp - 0x190]
mov eax, dword [eax]
sub eax, 0x63047631
add eax, 0x18
add eax, 0x63047631
mov ecx, dword [ebp - 0x190]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x18c]
movzx eax, word [eax]
imul eax, eax, 0x28
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x1b4], 0xa5b5f417
jmp 0x40e705
mov ecx, dword [0x44158c]
mov eax, dword [0x441588]
mov edx, ecx
sub edx, 0x8c6613ac
sub edx, 1
add edx, 0x8c6613ac
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, 0x175a2303
mov ecx, 0xd5a8a247
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x148]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x188]
mov dword [eax], ecx
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x4390a2
call fcn.0042d880
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x141], al
mov ecx, dword [0x44158c]
mov eax, dword [0x441588]
mov edx, ecx
sub edx, 0x87fbb99a
sub edx, 1
add edx, 0x87fbb99a
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, 0x175a2303
mov ecx, 0x3052055b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov dword [ebp - 0x1b4], 0x8a035cbf
jmp 0x40e705
mov eax, dword [0x44158c]
mov ecx, dword [0x441588]
mov edx, eax
add edx, 0x7c8bf58b
sub edx, 1
sub edx, 0x7c8bf58b
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, 0xb0cdc5f7
mov ecx, 0xa7c63dd6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov ecx, dword [0x44158c]
mov eax, dword [0x441588]
mov edx, ecx
add edx, 0x627df4a9
sub edx, 1
sub edx, 0x627df4a9
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, 0xb0cdc5f7
mov ecx, 0xcd993eec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov dl, byte [ebp - 0x141]
mov eax, 0xbb04deba
mov ecx, 0x28b08d1f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov eax, dword [ebp - 0x184]
mov dword [eax], 0
mov eax, dword [ebp - 0x188]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x188]
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 - 0x184]
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 - 0x180]
mov byte [eax], cl
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x188]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0x1484c03e
add eax, ecx
add eax, 0x1484c03e
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x198]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x188]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0xff61d972
add eax, ecx
add eax, 0xff61d972
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x188]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x1b4], 0xfb2658d6
jmp 0x40e705
mov eax, dword [ebp - 0x138]
mov eax, dword [eax]
mov edx, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0042a0e0
add esp, 0xc
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x188]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x1b4], 0xbaa5d9df
jmp 0x40e705
mov esi, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x188]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xe44c4f2f
add esi, eax
add esi, 0xe44c4f2f
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x130]
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 - 0x180]
mov byte [eax], cl
mov dword [ebp - 0x1b4], 0x28b08d1f
jmp 0x40e705
mov dword [ebp - 0x1b4], 0xfc0a3de4
jmp 0x40e705
mov eax, dword [0x44158c]
mov ecx, dword [0x441588]
mov edx, eax
sub edx, 0x8fb0a86
sub edx, 1
add edx, 0x8fb0a86
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, 0x115d53a3
mov ecx, 0xaaf946f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov eax, dword [ebp - 0x18c]
mov ax, word [eax]
mov word [ebp - 0x126], ax
mov ecx, dword [0x44158c]
mov eax, dword [0x441588]
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, 0x115d53a3
mov ecx, 0x684b3c21
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov dword [ebp - 0x1b4], 0x863b8670
jmp 0x40e705
mov eax, dword [0x44158c]
mov ecx, dword [0x441588]
mov edx, eax
sub edx, 0xcbf48bc8
sub edx, 1
add edx, 0xcbf48bc8
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, 0xef9340b6
mov ecx, 0x49a101e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov cx, word [ebp - 0x126]
sub cx, 0xd3e9
add cx, 1
add cx, 0xd3e9
mov eax, dword [ebp - 0x18c]
mov word [eax], cx
mov eax, dword [0x44158c]
mov ecx, dword [0x441588]
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, 0xef9340b6
mov ecx, 0x61daf479
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov dword [ebp - 0x1b4], 0xd8a06646
jmp 0x40e705
mov dword [ebp - 0x1b4], 0x101dfb31
jmp 0x40e705
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x1b4], 0xf1f7286a
jmp 0x40e705
mov eax, dword [ebp - 0x124]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x1b4], 0x263d922a
jmp 0x40e705
mov ecx, dword [0x44158c]
mov eax, dword [0x441588]
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, 0xd853b38e
mov ecx, 0x3b981bdf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x44158c]
mov ecx, dword [0x441588]
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, 0xd853b38e
mov ecx, 0x712fb9fc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b4], eax
jmp 0x40e705
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00429290
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
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 - 0x1ac], eax
mov dword [ebp - 0x1b4], 0x6e644e78
jmp 0x40e705
mov eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x178]
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 - 0x1b4], 0x2ba63538
jmp 0x40e705
mov dword [ebp - 0x1b4], 0x83a623ad
jmp 0x40e705
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x1b4], 0xa9754b2
jmp 0x40e705
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x15c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x18c]
mov word [eax], 0
mov dword [ebp - 0x1b4], 0x3932f2a0
jmp 0x40e705
mov dword [ebp - 0x1b4], 0x531b8246
jmp 0x40e705
mov eax, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x148]
mov eax, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ebp - 0x148]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x188]
mov dword [eax], ecx
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x4390a2
call fcn.0042d880
add esp, 8
mov dword [ebp - 0x1b4], 0xd5a8a247
jmp 0x40e705
mov dword [ebp - 0x1b4], 0xa7c63dd6
jmp 0x40e705
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x1b4], 0xaaf946f4
jmp 0x40e705
mov ax, word [ebp - 0x126]
mov ax, word [ebp - 0x126]
mov ax, word [ebp - 0x126]
mov ax, word [ebp - 0x126]
mov ax, word [ebp - 0x126]
mov ax, word [ebp - 0x126]
mov cx, word [ebp - 0x126]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x18c]
mov word [eax], cx
mov dword [ebp - 0x1b4], 0x49a101e1
jmp 0x40e705
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b4], 0x3b981bdf
jmp 0x40ce38