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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x98
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa0], eax
mov eax, dword [0x43d080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
add edx, 0xd0ea7a03
sub edx, 1
sub edx, 0xd0ea7a03
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x96], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x95], al
mov dword [ebp - 0x9c], 0xea2dfe39
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xa4], eax
sub eax, 0x80645f57
je 0x40cbbc
jmp 0x40c384
mov eax, dword [ebp - 0xa4]
sub eax, 0x81c10bc6
je 0x40d33e
jmp 0x40c39a
mov eax, dword [ebp - 0xa4]
sub eax, 0x860b50ad
je 0x40c9ca
jmp 0x40c3b0
mov eax, dword [ebp - 0xa4]
sub eax, 0x87ceff05
je 0x40cb60
jmp 0x40c3c6
mov eax, dword [ebp - 0xa4]
sub eax, 0x8d518630
je 0x40d619
jmp 0x40c3dc
mov eax, dword [ebp - 0xa4]
sub eax, 0x8dde1161
je 0x40d3d4
jmp 0x40c3f2
mov eax, dword [ebp - 0xa4]
sub eax, 0x8f07c2c9
je 0x40d1c3
jmp 0x40c408
mov eax, dword [ebp - 0xa4]
sub eax, 0x930ba9d3
je 0x40d68f
jmp 0x40c41e
mov eax, dword [ebp - 0xa4]
sub eax, 0x9725d655
je 0x40cc16
jmp 0x40c434
mov eax, dword [ebp - 0xa4]
sub eax, 0x9ba52243
je 0x40ca6e
jmp 0x40c44a
mov eax, dword [ebp - 0xa4]
sub eax, 0x9dd3ff84
je 0x40cbff
jmp 0x40c460
mov eax, dword [ebp - 0xa4]
sub eax, 0xa0d713d5
je 0x40d5a3
jmp 0x40c476
mov eax, dword [ebp - 0xa4]
sub eax, 0xa4bd204b
je 0x40ce07
jmp 0x40c48c
mov eax, dword [ebp - 0xa4]
sub eax, 0xa6214567
je 0x40d520
jmp 0x40c4a2
mov eax, dword [ebp - 0xa4]
sub eax, 0xabbee24a
je 0x40ca5f
jmp 0x40c4b8
mov eax, dword [ebp - 0xa4]
sub eax, 0xac8e7deb
je 0x40d1e1
jmp 0x40c4ce
mov eax, dword [ebp - 0xa4]
sub eax, 0xaf0bb486
je 0x40cf60
jmp 0x40c4e4
mov eax, dword [ebp - 0xa4]
sub eax, 0xb1f2bb09
je 0x40d79e
jmp 0x40c4fa
mov eax, dword [ebp - 0xa4]
sub eax, 0xb52ff028
je 0x40d266
jmp 0x40c510
mov eax, dword [ebp - 0xa4]
sub eax, 0xbd9864db
je 0x40cdf8
jmp 0x40c526
mov eax, dword [ebp - 0xa4]
sub eax, 0xbe005709
je 0x40cc99
jmp 0x40c53c
mov eax, dword [ebp - 0xa4]
sub eax, 0xbf2167f9
je 0x40cbe1
jmp 0x40c552
mov eax, dword [ebp - 0xa4]
sub eax, 0xc05c2d3c
je 0x40cfea
jmp 0x40c568
mov eax, dword [ebp - 0xa4]
sub eax, 0xc1c78463
je 0x40cc34
jmp 0x40c57e
mov eax, dword [ebp - 0xa4]
sub eax, 0xd008015f
je 0x40cf1c
jmp 0x40c594
mov eax, dword [ebp - 0xa4]
sub eax, 0xd0d35333
je 0x40c994
jmp 0x40c5aa
mov eax, dword [ebp - 0xa4]
sub eax, 0xd4275fc1
je 0x40c8e0
jmp 0x40c5c0
mov eax, dword [ebp - 0xa4]
sub eax, 0xd4a4fa4f
je 0x40d753
jmp 0x40c5d6
mov eax, dword [ebp - 0xa4]
sub eax, 0xd6ad63b6
je 0x40d1d2
jmp 0x40c5ec
mov eax, dword [ebp - 0xa4]
sub eax, 0xe0fa4478
je 0x40ccbe
jmp 0x40c602
mov eax, dword [ebp - 0xa4]
sub eax, 0xe618d2de
je 0x40cd06
jmp 0x40c618
mov eax, dword [ebp - 0xa4]
sub eax, 0xea2dfe39
je 0x40c8b1
jmp 0x40c62e
mov eax, dword [ebp - 0xa4]
sub eax, 0xeda8c298
je 0x40cfc7
jmp 0x40c644
mov eax, dword [ebp - 0xa4]
sub eax, 0xedbffb48
je 0x40d0d8
jmp 0x40c65a
mov eax, dword [ebp - 0xa4]
sub eax, 0xeec8f53d
je 0x40cab7
jmp 0x40c670
mov eax, dword [ebp - 0xa4]
sub eax, 0xf3497973
je 0x40ce75
jmp 0x40c686
mov eax, dword [ebp - 0xa4]
sub eax, 0xdf4f5d
je 0x40d44a
jmp 0x40c69c
mov eax, dword [ebp - 0xa4]
sub eax, 0x78c3852
je 0x40d78c
jmp 0x40c6b2
mov eax, dword [ebp - 0xa4]
sub eax, 0x9cf886c
je 0x40d1fa
jmp 0x40c6c8
mov eax, dword [ebp - 0xa4]
sub eax, 0xf0382b1
je 0x40c9a3
jmp 0x40c6de
mov eax, dword [ebp - 0xa4]
sub eax, 0x1309c7e9
je 0x40cf87
jmp 0x40c6f4
mov eax, dword [ebp - 0xa4]
sub eax, 0x195e45ed
je 0x40d594
jmp 0x40c70a
mov eax, dword [ebp - 0xa4]
sub eax, 0x21dd2fff
je 0x40d3c5
jmp 0x40c720
mov eax, dword [ebp - 0xa4]
sub eax, 0x2298c7f9
je 0x40cefe
jmp 0x40c736
mov eax, dword [ebp - 0xa4]
sub eax, 0x23d134d7
je 0x40d76c
jmp 0x40c74c
mov eax, dword [ebp - 0xa4]
sub eax, 0x2975c2dc
je 0x40cd74
jmp 0x40c762
mov eax, dword [ebp - 0xa4]
sub eax, 0x3ce25c67
je 0x40d6b0
jmp 0x40c778
mov eax, dword [ebp - 0xa4]
sub eax, 0x3faad484
je 0x40d6d7
jmp 0x40c78e
mov eax, dword [ebp - 0xa4]
sub eax, 0x412db761
je 0x40cb6f
jmp 0x40c7a4
mov eax, dword [ebp - 0xa4]
sub eax, 0x41e15691
je 0x40caf6
jmp 0x40c7ba
mov eax, dword [ebp - 0xa4]
sub eax, 0x4456910a
je 0x40d087
jmp 0x40c7d0
mov eax, dword [ebp - 0xa4]
sub eax, 0x4a4a8655
je 0x40d2de
jmp 0x40c7e6
mov eax, dword [ebp - 0xa4]
sub eax, 0x4aafe5a9
je 0x40d21d
jmp 0x40c7fc
mov eax, dword [ebp - 0xa4]
sub eax, 0x4e1f68af
je 0x40d6a1
jmp 0x40c812
mov eax, dword [ebp - 0xa4]
sub eax, 0x561a16e4
je 0x40d4d7
jmp 0x40c828
mov eax, dword [ebp - 0xa4]
sub eax, 0x5c393a9b
je 0x40ccee
jmp 0x40c83e
mov eax, dword [ebp - 0xa4]
sub eax, 0x5e6316c0
je 0x40d6c2
jmp 0x40c854
mov eax, dword [ebp - 0xa4]
sub eax, 0x6061d522
je 0x40cc43
jmp 0x40c86a
mov eax, dword [ebp - 0xa4]
sub eax, 0x6a398423
je 0x40d4c8
jmp 0x40c880
mov eax, dword [ebp - 0xa4]
sub eax, 0x6e62ae6a
je 0x40d2ed
jmp 0x40c896
mov eax, dword [ebp - 0xa4]
sub eax, 0x76a5c397
je 0x40d7d0
jmp 0x40c8ac
jmp 0x40d7da
mov al, byte [ebp - 0x96]
mov cl, byte [ebp - 0x95]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x4e1f68af
mov ecx, 0xd4275fc1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
sub esp, 0xc
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
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
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, 0x4e1f68af
mov ecx, 0xd0d35333
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov dword [ebp - 0x9c], 0xf0382b1
jmp 0x40d7da
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
mov dword [ebp - 0x9c], 0x860b50ad
jmp 0x40d7da
mov ecx, dword [ebp - 0xa0]
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 eax, dword [ebp - 0x94]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00427830
add esp, 0xc
mov eax, dword [ebp - 0x94]
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 - 0x88]
mov dword [eax], ecx
mov edx, dword [ebp - 0x88]
mov eax, 0xabbee24a
mov ecx, 0x9ba52243
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov dword [ebp - 0x9c], 0xa0d713d5
jmp 0x40d7da
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x8c]
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 - 0x8c]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x9c], 0xeec8f53d
jmp 0x40d7da
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x88]
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 - 0x9c], 0x41e15691
jmp 0x40d7da
mov eax, dword [ebp - 0x80]
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 - 0x7c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7c]
mov esi, 0xffffffff
mov eax, 0x412db761
mov ecx, 0x87ceff05
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov dword [ebp - 0x9c], 0xa0d713d5
jmp 0x40d7da
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x9c], 0x80645f57
jmp 0x40d7da
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x4d], al
mov dword [ebp - 0x9c], 0xbf2167f9
jmp 0x40d7da
mov dl, byte [ebp - 0x4d]
mov eax, 0x9dd3ff84
mov ecx, 0x6061d522
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x9c], 0x9725d655
jmp 0x40d7da
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x9c], 0xc1c78463
jmp 0x40d7da
mov dword [ebp - 0x9c], 0xa0d713d5
jmp 0x40d7da
mov eax, dword [ebp - 0x78]
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 - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov dword [ebp - 0x9c], 0xbe005709
jmp 0x40d7da
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x9c], 0xe0fa4478
jmp 0x40d7da
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
add ecx, 0x8a737220
add ecx, eax
sub ecx, 0x8a737220
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov dword [ebp - 0x9c], 0x5c393a9b
jmp 0x40d7da
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x9c], 0xe618d2de
jmp 0x40d7da
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
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, 0x3ce25c67
mov ecx, 0x2975c2dc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
add eax, 4
add eax, 2
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
sub edx, 0x30109c56
sub edx, 1
add edx, 0x30109c56
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, 0x3ce25c67
mov ecx, 0xbd9864db
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov dword [ebp - 0x9c], 0xa4bd204b
jmp 0x40d7da
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
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, 0x5e6316c0
mov ecx, 0xf3497973
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov eax, dword [ebp - 0x3c]
movzx ecx, word [eax]
mov eax, dword [ebp - 0x40]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x35], al
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
sub edx, 0x80fe4c0e
sub edx, 1
add edx, 0x80fe4c0e
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, 0x5e6316c0
mov ecx, 0x2298c7f9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov dl, byte [ebp - 0x35]
mov eax, 0x6e62ae6a
mov ecx, 0xd008015f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub eax, 0x7d95233e
add eax, 0x18
add eax, 0x7d95233e
mov ecx, dword [ebp - 0x6c]
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 - 0x34], eax
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x9c], 0xaf0bb486
jmp 0x40d7da
mov eax, dword [ebp - 0x30]
imul ecx, eax, 0x28
mov eax, dword [ebp - 0x34]
sub eax, 0x6f542069
add eax, ecx
add eax, 0x6f542069
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x9c], 0x1309c7e9
jmp 0x40d7da
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x436bf0
call fcn.0042b130
add esp, 8
mov edx, eax
mov eax, 0xeda8c298
mov ecx, 0xd6ad63b6
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x9c], 0xc05c2d3c
jmp 0x40d7da
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x52e549d5
add edx, eax
add edx, 0x52e549d5
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x28]
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 - 0x5c]
mov byte [eax], cl
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0x406b4b0b
add eax, ecx
sub eax, 0x406b4b0b
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x9c], 0x4456910a
jmp 0x40d7da
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
mov edx, eax
add edx, 0x8a734950
sub edx, 1
sub edx, 0x8a734950
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, 0x3faad484
mov ecx, 0xedbffb48
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00427990
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0x6d22ea93
add esi, eax
add esi, 0x6d22ea93
mov eax, dword [ebp - 0x60]
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 - 0x5c]
mov byte [eax], cl
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
sub edx, 0x5e7cc353
sub edx, 1
add edx, 0x5e7cc353
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, 0x3faad484
mov ecx, 0x8f07c2c9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov dword [ebp - 0x9c], 0xd6ad63b6
jmp 0x40d7da
mov dword [ebp - 0x9c], 0xac8e7deb
jmp 0x40d7da
mov eax, dword [ebp - 0x68]
mov ax, word [eax]
mov word [ebp - 0x18], ax
mov dword [ebp - 0x9c], 0x9cf886c
jmp 0x40d7da
mov ax, word [ebp - 0x18]
sub ax, 0xce2
add ax, 1
add ax, 0xce2
mov word [ebp - 0x16], ax
mov dword [ebp - 0x9c], 0x4aafe5a9
jmp 0x40d7da
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
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, 0xd4a4fa4f
mov ecx, 0xb52ff028
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov eax, dword [ebp - 0x68]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
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, 0xd4a4fa4f
mov ecx, 0x4a4a8655
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov dword [ebp - 0x9c], 0x5c393a9b
jmp 0x40d7da
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
mov edx, eax
add edx, 0x8b410b33
sub edx, 1
sub edx, 0x8b410b33
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, 0x23d134d7
mov ecx, 0x81c10bc6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
add edx, 0x51ad76c1
sub edx, 1
sub edx, 0x51ad76c1
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, 0x23d134d7
mov ecx, 0x21dd2fff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov dword [ebp - 0x9c], 0x8dde1161
jmp 0x40d7da
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
add edx, 0x2fa27c5d
sub edx, 1
sub edx, 0x2fa27c5d
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, 0x78c3852
mov ecx, 0xdf4f5d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
add edx, 0x6241c7c0
sub edx, 1
sub edx, 0x6241c7c0
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, 0x78c3852
mov ecx, 0x6a398423
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov dword [ebp - 0x9c], 0x561a16e4
jmp 0x40d7da
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
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, 0xb1f2bb09
mov ecx, 0xa6214567
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
mov edx, eax
add edx, 0x9a7f074e
sub edx, 1
sub edx, 0x9a7f074e
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, 0xb1f2bb09
mov ecx, 0x195e45ed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov dword [ebp - 0x9c], 0xa0d713d5
jmp 0x40d7da
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
add edx, 0xcec9505a
sub edx, 1
sub edx, 0xcec9505a
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, 0x76a5c397
mov ecx, 0x8d518630
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
sub edx, 0x72dd54e
sub edx, 1
add edx, 0x72dd54e
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, 0x76a5c397
mov ecx, 0x930ba9d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40d7da
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00426b40
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x9c], 0xd4275fc1
jmp 0x40d7da
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x9c], 0x2975c2dc
jmp 0x40d7da
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x9c], 0xf3497973
jmp 0x40d7da
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00427990
add esp, 0xc
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov esi, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x60]
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 - 0x5c]
mov byte [eax], cl
mov dword [ebp - 0x9c], 0xedbffb48
jmp 0x40d7da
mov eax, dword [ebp - 0x68]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0x9c], 0xb52ff028
jmp 0x40d7da
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x9c], 0x81c10bc6
jmp 0x40d7da
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x9c], 0xdf4f5d
jmp 0x40d7da
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x9c], 0xa6214567
jmp 0x40d7da
mov dword [ebp - 0x9c], 0x8d518630
jmp 0x40c368