Function at 0x40ce30
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], 0xd402546c
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x82f5dd37
je 0x40e7c7
jmp 0x40ce74
mov eax, dword [ebp - 0xa8]
sub eax, 0x87fdf407
je 0x40d996
jmp 0x40ce8a
mov eax, dword [ebp - 0xa8]
sub eax, 0x89d9b942
je 0x40e913
jmp 0x40cea0
mov eax, dword [ebp - 0xa8]
sub eax, 0x8a9a41c8
je 0x40dd93
jmp 0x40ceb6
mov eax, dword [ebp - 0xa8]
sub eax, 0x96671ad7
je 0x40db15
jmp 0x40cecc
mov eax, dword [ebp - 0xa8]
sub eax, 0x99e38f1b
je 0x40ddf4
jmp 0x40cee2
mov eax, dword [ebp - 0xa8]
sub eax, 0x9cde0b4c
je 0x40e11f
jmp 0x40cef8
mov eax, dword [ebp - 0xa8]
sub eax, 0x9deb2ddc
je 0x40e3ff
jmp 0x40cf0e
mov eax, dword [ebp - 0xa8]
sub eax, 0xa77fdd57
je 0x40d62a
jmp 0x40cf24
mov eax, dword [ebp - 0xa8]
sub eax, 0xa8fe2dad
je 0x40d639
jmp 0x40cf3a
mov eax, dword [ebp - 0xa8]
sub eax, 0xaeecb678
je 0x40ea7a
jmp 0x40cf50
mov eax, dword [ebp - 0xa8]
sub eax, 0xb44ca550
je 0x40e8fb
jmp 0x40cf66
mov eax, dword [ebp - 0xa8]
sub eax, 0xb694b56e
je 0x40e86b
jmp 0x40cf7c
mov eax, dword [ebp - 0xa8]
sub eax, 0xb71b2499
je 0x40e2cc
jmp 0x40cf92
mov eax, dword [ebp - 0xa8]
sub eax, 0xbe11f153
je 0x40dcac
jmp 0x40cfa8
mov eax, dword [ebp - 0xa8]
sub eax, 0xc1f6f419
je 0x40e450
jmp 0x40cfbe
mov eax, dword [ebp - 0xa8]
sub eax, 0xc533b548
je 0x40dda2
jmp 0x40cfd4
mov eax, dword [ebp - 0xa8]
sub eax, 0xc98e6b37
je 0x40e0b1
jmp 0x40cfea
mov eax, dword [ebp - 0xa8]
sub eax, 0xcadc23b4
je 0x40db84
jmp 0x40d000
mov eax, dword [ebp - 0xa8]
sub eax, 0xcf2bd314
je 0x40e675
jmp 0x40d016
mov eax, dword [ebp - 0xa8]
sub eax, 0xd018fc71
je 0x40dddc
jmp 0x40d02c
mov eax, dword [ebp - 0xa8]
sub eax, 0xd09011db
je 0x40e736
jmp 0x40d042
mov eax, dword [ebp - 0xa8]
sub eax, 0xd402546c
je 0x40d559
jmp 0x40d058
mov eax, dword [ebp - 0xa8]
sub eax, 0xd5614828
je 0x40d827
jmp 0x40d06e
mov eax, dword [ebp - 0xa8]
sub eax, 0xdabfb484
je 0x40e569
jmp 0x40d084
mov eax, dword [ebp - 0xa8]
sub eax, 0xdc5605d5
je 0x40d6fc
jmp 0x40d09a
mov eax, dword [ebp - 0xa8]
sub eax, 0xde5db0d6
je 0x40e7a9
jmp 0x40d0b0
mov eax, dword [ebp - 0xa8]
sub eax, 0xe0012b48
je 0x40e8d4
jmp 0x40d0c6
mov eax, dword [ebp - 0xa8]
sub eax, 0xe453ee99
je 0x40e9c2
jmp 0x40d0dc
mov eax, dword [ebp - 0xa8]
sub eax, 0xe4661b7f
je 0x40e5f5
jmp 0x40d0f2
mov eax, dword [ebp - 0xa8]
sub eax, 0xe81b9d7f
je 0x40e7e7
jmp 0x40d108
mov eax, dword [ebp - 0xa8]
sub eax, 0xebe84b6d
je 0x40e880
jmp 0x40d11e
mov eax, dword [ebp - 0xa8]
sub eax, 0xec7b77aa
je 0x40e587
jmp 0x40d134
mov eax, dword [ebp - 0xa8]
sub eax, 0xf0288263
je 0x40dc65
jmp 0x40d14a
mov eax, dword [ebp - 0xa8]
sub eax, 0xf1c9af97
je 0x40e85c
jmp 0x40d160
mov eax, dword [ebp - 0xa8]
sub eax, 0xf44e35da
je 0x40e805
jmp 0x40d176
mov eax, dword [ebp - 0xa8]
sub eax, 0xf7d33352
je 0x40d987
jmp 0x40d18c
mov eax, dword [ebp - 0xa8]
sub eax, 0xf879b8b4
je 0x40ea8c
jmp 0x40d1a2
mov eax, dword [ebp - 0xa8]
sub eax, 0xfa7b7297
je 0x40e6d5
jmp 0x40d1b8
mov eax, dword [ebp - 0xa8]
sub eax, 0xfd7398d1
je 0x40da9d
jmp 0x40d1ce
mov eax, dword [ebp - 0xa8]
sub eax, 0xfd8226dc
je 0x40dacc
jmp 0x40d1e4
mov eax, dword [ebp - 0xa8]
sub eax, 0x225f9a
je 0x40e745
jmp 0x40d1fa
mov eax, dword [ebp - 0xa8]
sub eax, 0x595afc7
je 0x40e95f
jmp 0x40d210
mov eax, dword [ebp - 0xa8]
sub eax, 0x9f4e52b
je 0x40e684
jmp 0x40d226
mov eax, dword [ebp - 0xa8]
sub eax, 0xc8d04e2
je 0x40dcfd
jmp 0x40d23c
mov eax, dword [ebp - 0xa8]
sub eax, 0xd4241c0
je 0x40e228
jmp 0x40d252
mov eax, dword [ebp - 0xa8]
sub eax, 0xd77fbe6
je 0x40d80b
jmp 0x40d268
mov eax, dword [ebp - 0xa8]
sub eax, 0xfbe76b7
je 0x40e1b9
jmp 0x40d27e
mov eax, dword [ebp - 0xa8]
sub eax, 0x10e7ba65
je 0x40dfef
jmp 0x40d294
mov eax, dword [ebp - 0xa8]
sub eax, 0x14330736
je 0x40df88
jmp 0x40d2aa
mov eax, dword [ebp - 0xa8]
sub eax, 0x17265d49
je 0x40d936
jmp 0x40d2c0
mov eax, dword [ebp - 0xa8]
sub eax, 0x17b273fb
je 0x40e93b
jmp 0x40d2d6
mov eax, dword [ebp - 0xa8]
sub eax, 0x208d463f
je 0x40ded2
jmp 0x40d2ec
mov eax, dword [ebp - 0xa8]
sub eax, 0x24253ef3
je 0x40da04
jmp 0x40d302
mov eax, dword [ebp - 0xa8]
sub eax, 0x2b98a964
je 0x40dbd5
jmp 0x40d318
mov eax, dword [ebp - 0xa8]
sub eax, 0x2c66c121
je 0x40e7d8
jmp 0x40d32e
mov eax, dword [ebp - 0xa8]
sub eax, 0x2c7568e3
je 0x40d7ca
jmp 0x40d344
mov eax, dword [ebp - 0xa8]
sub eax, 0x30cbb6f9
je 0x40db66
jmp 0x40d35a
mov eax, dword [ebp - 0xa8]
sub eax, 0x316a04ed
je 0x40e1d7
jmp 0x40d370
mov eax, dword [ebp - 0xa8]
sub eax, 0x349eebca
je 0x40e578
jmp 0x40d386
mov eax, dword [ebp - 0xa8]
sub eax, 0x354e913b
je 0x40dfa6
jmp 0x40d39c
mov eax, dword [ebp - 0xa8]
sub eax, 0x37603367
je 0x40e089
jmp 0x40d3b2
mov eax, dword [ebp - 0xa8]
sub eax, 0x421fb01a
je 0x40daac
jmp 0x40d3c8
mov eax, dword [ebp - 0xa8]
sub eax, 0x4457e0d7
je 0x40d8c0
jmp 0x40d3de
mov eax, dword [ebp - 0xa8]
sub eax, 0x44eab7d3
je 0x40e2bd
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
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, 0x2c66c121
mov ecx, 0x65fb709a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov dword [ebp - 0xa0], 0xa8fe2dad
jmp 0x40eab6
mov eax, dword [ebp - 0xa4]
push eax
sub esp, 0x100
mov ecx, esp
mov dword [ebp - 0x8c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x88], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x84], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x80], ecx
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.00429910
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 edx, dword [ebp - 0x94]
mov eax, 0xdc5605d5
mov ecx, 0x2c7568e3
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov ecx, dword [0x441564]
mov eax, dword [0x441560]
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, 0xe81b9d7f
mov ecx, 0x6d83e6a7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
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
lea eax, [ebp - 0x18]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xa0], 0xd77fbe6
jmp 0x40eab6
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov dword [ebp - 0xa0], 0xd5614828
jmp 0x40eab6
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 edx, dword [ebp - 0x88]
mov esi, 0xffffffff
mov eax, 0x87fdf407
mov ecx, 0x4457e0d7
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov ecx, dword [0x441564]
mov eax, dword [0x441560]
mov edx, ecx
sub edx, 0xb5af6b29
sub edx, 1
add edx, 0xb5af6b29
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, 0x7cb1bdf2
mov ecx, 0x17265d49
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
mov edx, eax
sub edx, 0xb9ca77d6
sub edx, 1
add edx, 0xb9ca77d6
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, 0x7cb1bdf2
mov ecx, 0xf7d33352
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov dword [ebp - 0xa0], 0x82f5dd37
jmp 0x40eab6
mov ecx, dword [0x441564]
mov eax, dword [0x441560]
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, 0xf44e35da
mov ecx, 0x24253ef3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [ebp - 0x88]
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 - 0x84]
mov dword [eax], ecx
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
mov edx, eax
add edx, 0xb8367eab
sub edx, 1
sub edx, 0xb8367eab
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, 0xf44e35da
mov ecx, 0xfd7398d1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov dword [ebp - 0xa0], 0x421fb01a
jmp 0x40eab6
mov eax, dword [ebp - 0x84]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x5d], al
mov dword [ebp - 0xa0], 0xfd8226dc
jmp 0x40eab6
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
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, 0xf1c9af97
mov ecx, 0x96671ad7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
mov edx, eax
sub edx, 0x31ccbcfe
sub edx, 1
add edx, 0x31ccbcfe
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, 0xf1c9af97
mov ecx, 0x30cbb6f9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov dl, byte [ebp - 0x5d]
mov eax, 0xcadc23b4
mov ecx, 0x65590804
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
mov edx, eax
add edx, 0x3c35d463
sub edx, 1
sub edx, 0x3c35d463
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, 0xb694b56e
mov ecx, 0x2b98a964
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x441564]
mov eax, dword [0x441560]
mov edx, ecx
add edx, 0xab9cd6a6
sub edx, 1
sub edx, 0xab9cd6a6
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, 0xb694b56e
mov ecx, 0x66e27dd3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [ebp - 0x5c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x6582c933
jmp 0x40eab6
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
mov edx, eax
sub edx, 0xaf35c3db
sub edx, 1
add edx, 0xaf35c3db
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, 0xebe84b6d
mov ecx, 0xc8d04e2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [ebp - 0x58]
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 [0x441564]
mov ecx, dword [0x441560]
mov edx, eax
sub edx, 0x1ce2657a
sub edx, 1
add edx, 0x1ce2657a
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, 0xebe84b6d
mov ecx, 0x8a9a41c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov dword [ebp - 0xa0], 0xc533b548
jmp 0x40eab6
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov word [eax], 0
mov dword [ebp - 0xa0], 0xd018fc71
jmp 0x40eab6
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xa0], 0x99e38f1b
jmp 0x40eab6
mov ecx, dword [0x441564]
mov eax, dword [0x441560]
mov edx, ecx
add edx, 0xeca0def4
sub edx, 1
sub edx, 0xeca0def4
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, 0xe0012b48
mov ecx, 0x56546183
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
mov edx, eax
sub edx, 0x47997e1
sub edx, 1
add edx, 0x47997e1
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, 0x625870cd
mov ecx, 0x45be68a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov dl, byte [ebp - 0x49]
mov eax, 0x6a66e2d9
mov ecx, 0x354e913b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
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, 0xb44ca550
mov ecx, 0x10e7ba65
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
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, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
imul eax, eax, 0x28
mov dword [ebp - 0x44], eax
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
mov edx, eax
sub edx, 0x3fc4c08a
sub edx, 1
add edx, 0x3fc4c08a
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, 0xb44ca550
mov ecx, 0x4f545aa8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
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 - 0x40], eax
mov dword [ebp - 0xa0], 0xc98e6b37
jmp 0x40eab6
mov ecx, dword [0x441564]
mov eax, dword [0x441560]
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, 0x89d9b942
mov ecx, 0x9cde0b4c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov ecx, dword [ebp - 0x40]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x4390ba
call fcn.0042d210
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x39], al
mov ecx, dword [0x441564]
mov eax, dword [0x441560]
mov edx, ecx
add edx, 0x4ddc1a2d
sub edx, 1
sub edx, 0x4ddc1a2d
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, 0x89d9b942
mov ecx, 0xfbe76b7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov dl, byte [ebp - 0x39]
mov eax, 0x316a04ed
mov ecx, 0x349eebca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
mov edx, eax
add edx, 0xe5364d8c
sub edx, 1
sub edx, 0xe5364d8c
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, 0x17b273fb
mov ecx, 0xd4241c0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x441564]
mov eax, dword [0x441560]
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, 0x17b273fb
mov ecx, 0x44eab7d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov ecx, dword [0x441564]
mov eax, dword [0x441560]
mov edx, ecx
add edx, 0xc186cb60
sub edx, 1
sub edx, 0xc186cb60
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, 0x595afc7
mov ecx, 0x47669d6f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
mov edx, eax
sub edx, 0x34f13dd3
sub edx, 1
add edx, 0x34f13dd3
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, 0xe453ee99
mov ecx, 0xc1f6f419
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov edx, dword [ebp - 0x2c]
add edx, 0xd23f71d3
add edx, eax
sub edx, 0xd23f71d3
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, ecx
xor ecx, ecx
sub ecx, esi
add eax, ecx
xor ecx, ecx
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.00429a70
add esp, 0xc
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov edx, dword [eax + 8]
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, 0xca86c684
add esi, eax
sub esi, 0xca86c684
mov eax, dword [ebp - 0x6c]
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 ecx, dword [0x441564]
mov eax, dword [0x441560]
mov edx, ecx
add edx, 0xad7527c0
sub edx, 1
sub edx, 0xad7527c0
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, 0xe453ee99
mov ecx, 0xdabfb484
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov dword [ebp - 0xa0], 0x349eebca
jmp 0x40eab6
mov dword [ebp - 0xa0], 0xec7b77aa
jmp 0x40eab6
mov ecx, dword [0x441564]
mov eax, dword [0x441560]
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, 0xaeecb678
mov ecx, 0xe4661b7f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov eax, dword [ebp - 0x74]
mov ax, word [eax]
mov word [ebp - 0x22], ax
mov ecx, dword [0x441564]
mov eax, dword [0x441560]
mov edx, ecx
sub edx, 0x3ed99adb
sub edx, 1
add edx, 0x3ed99adb
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, 0xaeecb678
mov ecx, 0xcf2bd314
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov dword [ebp - 0xa0], 0x9f4e52b
jmp 0x40eab6
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
mov edx, eax
sub edx, 0x68719b31
sub edx, 1
add edx, 0x68719b31
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, 0xf879b8b4
mov ecx, 0xfa7b7297
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov cx, word [ebp - 0x22]
sub cx, 0x688c
add cx, 1
add cx, 0x688c
mov eax, dword [ebp - 0x74]
mov word [eax], cx
mov eax, dword [0x441564]
mov ecx, dword [0x441560]
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, 0xf879b8b4
mov ecx, 0xd09011db
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x40eab6
mov dword [ebp - 0xa0], 0x225f9a
jmp 0x40eab6
mov dword [ebp - 0xa0], 0xd018fc71
jmp 0x40eab6
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x82f5dd37
jmp 0x40eab6
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00428c20
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0xa0], 0x65fb709a
jmp 0x40eab6
mov dword [ebp - 0xa0], 0x6d83e6a7
jmp 0x40eab6
mov eax, dword [ebp - 0x88]
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 - 0x84]
mov dword [eax], ecx
mov dword [ebp - 0xa0], 0x24253ef3
jmp 0x40eab6
mov dword [ebp - 0xa0], 0x96671ad7
jmp 0x40eab6
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0xa0], 0x2b98a964
jmp 0x40eab6
mov eax, dword [ebp - 0x58]
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 dword [ebp - 0xa0], 0xc8d04e2
jmp 0x40eab6
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xa0], 0x56546183
jmp 0x40eab6
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa0], 0x10e7ba65
jmp 0x40eab6
mov ecx, dword [ebp - 0x40]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x4390ba
call fcn.0042d210
add esp, 8
mov dword [ebp - 0xa0], 0x9cde0b4c
jmp 0x40eab6
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa0], 0xd4241c0
jmp 0x40eab6
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x34]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x38]
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 eax, dword [ebp - 0x70]
mov dword [ebp - 0xa0], 0x47669d6f
jmp 0x40eab6
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x9f7b952a
add ecx, eax
sub ecx, 0x9f7b952a
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.00429a70
add esp, 0xc
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x90]
mov esi, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xd35e4a
add esi, eax
add esi, 0xd35e4a
mov eax, dword [ebp - 0x6c]
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], 0xc1f6f419
jmp 0x40eab6
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa0], 0xe4661b7f
jmp 0x40eab6
mov ax, word [ebp - 0x22]
mov ax, word [ebp - 0x22]
mov cx, word [ebp - 0x22]
sub cx, 0x2580
add cx, 1
add cx, 0x2580
mov eax, dword [ebp - 0x74]
mov word [eax], cx
mov dword [ebp - 0xa0], 0xfa7b7297
jmp 0x40ce58