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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x440080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xa0], 0x426746eb
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x809a6e5f
je 0x40e36f
jmp 0x40d1f4
mov eax, dword [ebp - 0xa8]
sub eax, 0x81dc8131
je 0x40e147
jmp 0x40d20a
mov eax, dword [ebp - 0xa8]
sub eax, 0x8b83352a
je 0x40dc5f
jmp 0x40d220
mov eax, dword [ebp - 0xa8]
sub eax, 0x8bb91ed8
je 0x40d94f
jmp 0x40d236
mov eax, dword [ebp - 0xa8]
sub eax, 0x935dc281
je 0x40db17
jmp 0x40d24c
mov eax, dword [ebp - 0xa8]
sub eax, 0x964d6e38
je 0x40da2b
jmp 0x40d262
mov eax, dword [ebp - 0xa8]
sub eax, 0x99a3f3d4
je 0x40d9fe
jmp 0x40d278
mov eax, dword [ebp - 0xa8]
sub eax, 0xa6d0fbe3
je 0x40e2bf
jmp 0x40d28e
mov eax, dword [ebp - 0xa8]
sub eax, 0xb5598b28
je 0x40e21f
jmp 0x40d2a4
mov eax, dword [ebp - 0xa8]
sub eax, 0xb91a06ae
je 0x40dd23
jmp 0x40d2ba
mov eax, dword [ebp - 0xa8]
sub eax, 0xbb022671
je 0x40da45
jmp 0x40d2d0
mov eax, dword [ebp - 0xa8]
sub eax, 0xc24f3ebe
je 0x40dddc
jmp 0x40d2e6
mov eax, dword [ebp - 0xa8]
sub eax, 0xc26940c0
je 0x40dbe9
jmp 0x40d2fc
mov eax, dword [ebp - 0xa8]
sub eax, 0xc5d0c527
je 0x40da1c
jmp 0x40d312
mov eax, dword [ebp - 0xa8]
sub eax, 0xc7157708
je 0x40dd9d
jmp 0x40d328
mov eax, dword [ebp - 0xa8]
sub eax, 0xd0d47af9
je 0x40db7a
jmp 0x40d33e
mov eax, dword [ebp - 0xa8]
sub eax, 0xd13b6818
je 0x40e00f
jmp 0x40d354
mov eax, dword [ebp - 0xa8]
sub eax, 0xd3181404
je 0x40e384
jmp 0x40d36a
mov eax, dword [ebp - 0xa8]
sub eax, 0xd575a004
je 0x40dedc
jmp 0x40d380
mov eax, dword [ebp - 0xa8]
sub eax, 0xdde69b15
je 0x40daa8
jmp 0x40d396
mov eax, dword [ebp - 0xa8]
sub eax, 0xe2f2f18d
je 0x40dfca
jmp 0x40d3ac
mov eax, dword [ebp - 0xa8]
sub eax, 0xe321a331
je 0x40d77e
jmp 0x40d3c2
mov eax, dword [ebp - 0xa8]
sub eax, 0xea4b86eb
je 0x40e156
jmp 0x40d3d8
mov eax, dword [ebp - 0xa8]
sub eax, 0xeec329f2
je 0x40d8c1
jmp 0x40d3ee
mov eax, dword [ebp - 0xa8]
sub eax, 0xf5c71490
je 0x40e3f1
jmp 0x40d404
mov eax, dword [ebp - 0xa8]
sub eax, 0xf78b9d93
je 0x40e35a
jmp 0x40d41a
mov eax, dword [ebp - 0xa8]
sub eax, 0xfa6cf524
je 0x40debe
jmp 0x40d430
mov eax, dword [ebp - 0xa8]
sub eax, 0xfc90dd53
je 0x40e0eb
jmp 0x40d446
mov eax, dword [ebp - 0xa8]
sub eax, 0x8f96910
je 0x40e2ee
jmp 0x40d45c
mov eax, dword [ebp - 0xa8]
sub eax, 0x9adab94
je 0x40e251
jmp 0x40d472
mov eax, dword [ebp - 0xa8]
sub eax, 0xa4bbaa5
je 0x40dc6e
jmp 0x40d488
mov eax, dword [ebp - 0xa8]
sub eax, 0xf3025c0
je 0x40d710
jmp 0x40d49e
mov eax, dword [ebp - 0xa8]
sub eax, 0x111a7dec
je 0x40ddbc
jmp 0x40d4b4
mov eax, dword [ebp - 0xa8]
sub eax, 0x12cea929
je 0x40e26a
jmp 0x40d4ca
mov eax, dword [ebp - 0xa8]
sub eax, 0x1404082c
je 0x40df62
jmp 0x40d4e0
mov eax, dword [ebp - 0xa8]
sub eax, 0x16dabc87
je 0x40db6b
jmp 0x40d4f6
mov eax, dword [ebp - 0xa8]
sub eax, 0x19ab66ca
je 0x40e0d4
jmp 0x40d50c
mov eax, dword [ebp - 0xa8]
sub eax, 0x1a843744
je 0x40dfd9
jmp 0x40d522
mov eax, dword [ebp - 0xa8]
sub eax, 0x259b22df
je 0x40e1a7
jmp 0x40d538
mov eax, dword [ebp - 0xa8]
sub eax, 0x26b07c87
je 0x40dcd2
jmp 0x40d54e
mov eax, dword [ebp - 0xa8]
sub eax, 0x282eae93
je 0x40e22e
jmp 0x40d564
mov eax, dword [ebp - 0xa8]
sub eax, 0x288cbf90
je 0x40dd8e
jmp 0x40d57a
mov eax, dword [ebp - 0xa8]
sub eax, 0x28fc8df3
je 0x40df11
jmp 0x40d590
mov eax, dword [ebp - 0xa8]
sub eax, 0x29d2ce17
je 0x40d998
jmp 0x40d5a6
mov eax, dword [ebp - 0xa8]
sub eax, 0x2b6b218d
je 0x40d871
jmp 0x40d5bc
mov eax, dword [ebp - 0xa8]
sub eax, 0x300936bb
je 0x40e393
jmp 0x40d5d2
mov eax, dword [ebp - 0xa8]
sub eax, 0x342818d3
je 0x40d880
jmp 0x40d5e8
mov eax, dword [ebp - 0xa8]
sub eax, 0x426746eb
je 0x40d6c9
jmp 0x40d5fe
mov eax, dword [ebp - 0xa8]
sub eax, 0x5a3f3f56
je 0x40d853
jmp 0x40d614
mov eax, dword [ebp - 0xa8]
sub eax, 0x62d06bfa
je 0x40e2dd
jmp 0x40d62a
mov eax, dword [ebp - 0xa8]
sub eax, 0x667548b9
je 0x40e3a8
jmp 0x40d640
mov eax, dword [ebp - 0xa8]
sub eax, 0x6aa7e309
je 0x40db98
jmp 0x40d656
mov eax, dword [ebp - 0xa8]
sub eax, 0x6ba09c14
je 0x40e3bd
jmp 0x40d66c
mov eax, dword [ebp - 0xa8]
sub eax, 0x6c4e1984
je 0x40e298
jmp 0x40d682
mov eax, dword [ebp - 0xa8]
sub eax, 0x70f2676b
je 0x40dac6
jmp 0x40d698
mov eax, dword [ebp - 0xa8]
sub eax, 0x7477111f
je 0x40deaf
jmp 0x40d6ae
mov eax, dword [ebp - 0xa8]
sub eax, 0x7aca4e5c
je 0x40de4a
jmp 0x40d6c4
jmp 0x40e3fe
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
mov dword [ebp - 0xa0], 0xf3025c0
jmp 0x40e3fe
mov ecx, dword [0x44151c]
mov eax, dword [0x441518]
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, 0x8f96910
mov ecx, 0xe321a331
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov eax, dword [ebp - 0xa4]
push eax
mov ecx, esp
mov dword [ebp - 0x7c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x78], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x74], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x70], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x6c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x98], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x18]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00429ba0
add esp, 0xc
mov eax, dword [ebp - 0x98]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x61], al
mov eax, dword [0x44151c]
mov ecx, dword [0x441518]
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, 0x8f96910
mov ecx, 0x5a3f3f56
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov dl, byte [ebp - 0x61]
mov eax, 0x2b6b218d
mov ecx, 0x342818d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov dword [ebp - 0xa0], 0x62d06bfa
jmp 0x40e3fe
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x9c]
lea eax, [ebp - 0x18]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xa0], 0xeec329f2
jmp 0x40e3fe
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x94]
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 - 0x8c]
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 - 0x88]
mov dword [eax], ecx
mov dword [ebp - 0xa0], 0x8bb91ed8
jmp 0x40e3fe
mov eax, dword [0x44151c]
mov ecx, dword [0x441518]
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, 0xf78b9d93
mov ecx, 0x29d2ce17
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov eax, dword [ebp - 0x88]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x59], al
mov eax, dword [0x44151c]
mov ecx, dword [0x441518]
mov edx, eax
add edx, 0xc409af97
sub edx, 1
sub edx, 0xc409af97
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, 0xf78b9d93
mov ecx, 0x99a3f3d4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov dl, byte [ebp - 0x59]
mov eax, 0x964d6e38
mov ecx, 0xc5d0c527
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov dword [ebp - 0xa0], 0x62d06bfa
jmp 0x40e3fe
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xa0], 0xbb022671
jmp 0x40e3fe
mov eax, dword [ebp - 0x58]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x51], al
mov dword [ebp - 0xa0], 0xdde69b15
jmp 0x40e3fe
mov dl, byte [ebp - 0x51]
mov eax, 0x70f2676b
mov ecx, 0xa4bbaa5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov eax, dword [0x44151c]
mov ecx, dword [0x441518]
mov edx, eax
sub edx, 0x146e75dd
sub edx, 1
add edx, 0x146e75dd
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, 0x809a6e5f
mov ecx, 0x935dc281
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [0x44151c]
mov ecx, dword [0x441518]
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, 0x809a6e5f
mov ecx, 0x16dabc87
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov dword [ebp - 0xa0], 0xd0d47af9
jmp 0x40e3fe
mov eax, dword [ebp - 0x50]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x6aa7e309
jmp 0x40e3fe
mov eax, dword [0x44151c]
mov ecx, dword [0x441518]
mov edx, eax
add edx, 0xf2ca6c6f
sub edx, 1
sub edx, 0xf2ca6c6f
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, 0xd3181404
mov ecx, 0xc26940c0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov ecx, dword [0x44151c]
mov eax, dword [0x441518]
mov edx, ecx
add edx, 0xa3fdc0a2
sub edx, 1
sub edx, 0xa3fdc0a2
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, 0xd3181404
mov ecx, 0x8b83352a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov dword [ebp - 0xa0], 0x62d06bfa
jmp 0x40e3fe
mov eax, dword [ebp - 0x84]
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 - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xa0], 0x26b07c87
jmp 0x40e3fe
mov eax, dword [0x44151c]
mov ecx, dword [0x441518]
mov edx, eax
sub edx, 0x6b1ee81
sub edx, 1
add edx, 0x6b1ee81
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, 0x300936bb
mov ecx, 0xb91a06ae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x3c]
add eax, 0x5c089be3
add eax, ecx
sub eax, 0x5c089be3
mov dword [ebp - 0x48], eax
mov eax, dword [0x44151c]
mov ecx, dword [0x441518]
mov edx, eax
add edx, 0x6c008695
sub edx, 1
sub edx, 0x6c008695
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, 0x300936bb
mov ecx, 0x288cbf90
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov dword [ebp - 0xa0], 0xc7157708
jmp 0x40e3fe
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov word [eax], 0
mov dword [ebp - 0xa0], 0x111a7dec
jmp 0x40e3fe
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xa0], 0xc24f3ebe
jmp 0x40e3fe
mov ecx, dword [0x44151c]
mov eax, dword [0x441518]
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, 0x667548b9
mov ecx, 0x7aca4e5c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov eax, dword [ebp - 0x40]
movzx ecx, word [eax + 6]
mov eax, dword [ebp - 0x44]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x39], al
mov eax, dword [0x44151c]
mov ecx, dword [0x441518]
mov edx, eax
sub edx, 0x103b777a
sub edx, 1
add edx, 0x103b777a
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, 0x667548b9
mov ecx, 0x7477111f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov dword [ebp - 0xa0], 0xfa6cf524
jmp 0x40e3fe
mov dl, byte [ebp - 0x39]
mov eax, 0x12cea929
mov ecx, 0xd575a004
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xa0], 0x28fc8df3
jmp 0x40e3fe
mov eax, dword [0x44151c]
mov ecx, dword [0x441518]
mov edx, eax
sub edx, 0xf2e44063
sub edx, 1
add edx, 0xf2e44063
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, 0x6ba09c14
mov ecx, 0x1404082c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
imul edx, eax, 0x28
mov ecx, dword [ebp - 0x38]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [0x44151c]
mov ecx, dword [0x441518]
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, 0x6ba09c14
mov ecx, 0xe2f2f18d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov dword [ebp - 0xa0], 0x1a843744
jmp 0x40e3fe
mov ecx, dword [ebp - 0x34]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x4390aa
call fcn.0042d4a0
add esp, 8
mov edx, eax
mov eax, 0xd13b6818
mov ecx, 0x81dc8131
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0xa451846a
add edx, eax
sub edx, 0xa451846a
mov eax, dword [ebp - 0x6c]
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 - 0x68]
mov byte [eax], cl
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x70]
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.00429d00
add esp, 0xc
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xa0], 0x19ab66ca
jmp 0x40e3fe
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xa0], 0xfc90dd53
jmp 0x40e3fe
mov eax, dword [ebp - 0x90]
mov esi, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x40b29c41
add esi, eax
sub esi, 0x40b29c41
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
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 - 0x68]
mov byte [eax], cl
mov dword [ebp - 0xa0], 0x81dc8131
jmp 0x40e3fe
mov dword [ebp - 0xa0], 0xea4b86eb
jmp 0x40e3fe
mov eax, dword [0x44151c]
mov ecx, dword [0x441518]
mov edx, eax
sub edx, 0x17316a67
sub edx, 1
add edx, 0x17316a67
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, 0xf5c71490
mov ecx, 0x259b22df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov eax, dword [ebp - 0x74]
mov ax, word [eax]
mov word [ebp - 0x24], ax
mov ecx, dword [0x44151c]
mov eax, dword [0x441518]
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, 0xf5c71490
mov ecx, 0xb5598b28
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40e3fe
mov dword [ebp - 0xa0], 0x282eae93
jmp 0x40e3fe
mov ax, word [ebp - 0x24]
add ax, 0xb540
add ax, 1
sub ax, 0xb540
mov word [ebp - 0x22], ax
mov dword [ebp - 0xa0], 0x9adab94
jmp 0x40e3fe
mov eax, dword [ebp - 0x74]
mov cx, word [ebp - 0x22]
mov word [eax], cx
mov dword [ebp - 0xa0], 0x111a7dec
jmp 0x40e3fe
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xa0], 0x6c4e1984
jmp 0x40e3fe
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa0], 0xa6d0fbe3
jmp 0x40e3fe
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x62d06bfa
jmp 0x40e3fe
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00428eb0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x98], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x18]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00429ba0
add esp, 0xc
mov eax, dword [ebp - 0x98]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xa0], 0xe321a331
jmp 0x40e3fe
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xa0], 0x29d2ce17
jmp 0x40e3fe
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xa0], 0x935dc281
jmp 0x40e3fe
mov dword [ebp - 0xa0], 0xc26940c0
jmp 0x40e3fe
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xa0], 0xb91a06ae
jmp 0x40e3fe
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xa0], 0x7aca4e5c
jmp 0x40e3fe
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
imul edx, eax, 0x28
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
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 - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa0], 0x1404082c
jmp 0x40e3fe
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa0], 0x259b22df
jmp 0x40d1d8