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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x88
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [0x440080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
mov edx, ecx
sub edx, 0xfa8f9223
sub edx, 1
add edx, 0xfa8f9223
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x86], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x85], al
mov dword [ebp - 0x8c], 0x41023a66
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x94], eax
sub eax, 0x81e8d7ae
je 0x40d2b0
jmp 0x40c4a4
mov eax, dword [ebp - 0x94]
sub eax, 0x8a29b5f4
je 0x40d524
jmp 0x40c4ba
mov eax, dword [ebp - 0x94]
sub eax, 0x8a3f2e7e
je 0x40d341
jmp 0x40c4d0
mov eax, dword [ebp - 0x94]
sub eax, 0x8bb6016c
je 0x40d841
jmp 0x40c4e6
mov eax, dword [ebp - 0x94]
sub eax, 0x8c75daff
je 0x40d7e1
jmp 0x40c4fc
mov eax, dword [ebp - 0x94]
sub eax, 0x8e4f4dc3
je 0x40d92c
jmp 0x40c512
mov eax, dword [ebp - 0x94]
sub eax, 0x971e41d9
je 0x40db67
jmp 0x40c528
mov eax, dword [ebp - 0x94]
sub eax, 0x99e08bc5
je 0x40d9eb
jmp 0x40c53e
mov eax, dword [ebp - 0x94]
sub eax, 0x9c323b88
je 0x40cb93
jmp 0x40c554
mov eax, dword [ebp - 0x94]
sub eax, 0x9dfae963
je 0x40ced4
jmp 0x40c56a
mov eax, dword [ebp - 0x94]
sub eax, 0xaae89906
je 0x40dacb
jmp 0x40c580
mov eax, dword [ebp - 0x94]
sub eax, 0xb454b0c1
je 0x40cb08
jmp 0x40c596
mov eax, dword [ebp - 0x94]
sub eax, 0xb4f0ca45
je 0x40d0f7
jmp 0x40c5ac
mov eax, dword [ebp - 0x94]
sub eax, 0xb4f206c3
je 0x40d23a
jmp 0x40c5c2
mov eax, dword [ebp - 0x94]
sub eax, 0xbbe8881b
je 0x40cfb9
jmp 0x40c5d8
mov eax, dword [ebp - 0x94]
sub eax, 0xbdcf9cae
je 0x40dbc0
jmp 0x40c5ee
mov eax, dword [ebp - 0x94]
sub eax, 0xc0e9ea3c
je 0x40cba2
jmp 0x40c604
mov eax, dword [ebp - 0x94]
sub eax, 0xc550cb11
je 0x40d1c5
jmp 0x40c61a
mov eax, dword [ebp - 0x94]
sub eax, 0xcb0a4722
je 0x40cd20
jmp 0x40c630
mov eax, dword [ebp - 0x94]
sub eax, 0xcbc971fb
je 0x40dab9
jmp 0x40c646
mov eax, dword [ebp - 0x94]
sub eax, 0xcd95d0f3
je 0x40d6a3
jmp 0x40c65c
mov eax, dword [ebp - 0x94]
sub eax, 0xd0f57d60
je 0x40db37
jmp 0x40c672
mov eax, dword [ebp - 0x94]
sub eax, 0xd103d3b4
je 0x40d8fb
jmp 0x40c688
mov eax, dword [ebp - 0x94]
sub eax, 0xd19ece62
je 0x40d106
jmp 0x40c69e
mov eax, dword [ebp - 0x94]
sub eax, 0xd7e06624
je 0x40db0a
jmp 0x40c6b4
mov eax, dword [ebp - 0x94]
sub eax, 0xd81282a4
je 0x40d8ec
jmp 0x40c6ca
mov eax, dword [ebp - 0x94]
sub eax, 0xe05d7a3c
je 0x40d097
jmp 0x40c6e0
mov eax, dword [ebp - 0x94]
sub eax, 0xe3838d7a
je 0x40cde0
jmp 0x40c6f6
mov eax, dword [ebp - 0x94]
sub eax, 0xe3da4f1a
je 0x40dba0
jmp 0x40c70c
mov eax, dword [ebp - 0x94]
sub eax, 0xe89f79e2
je 0x40d5e6
jmp 0x40c722
mov eax, dword [ebp - 0x94]
sub eax, 0xea33dfa9
je 0x40d892
jmp 0x40c738
mov eax, dword [ebp - 0x94]
sub eax, 0xec6c6831
je 0x40ce11
jmp 0x40c74e
mov eax, dword [ebp - 0x94]
sub eax, 0xec6d89a3
je 0x40d4f5
jmp 0x40c764
mov eax, dword [ebp - 0x94]
sub eax, 0xf0191ee7
je 0x40db28
jmp 0x40c77a
mov eax, dword [ebp - 0x94]
sub eax, 0xf6205e69
je 0x40ce5e
jmp 0x40c790
mov eax, dword [ebp - 0x94]
sub eax, 0xf8467a50
je 0x40d4e6
jmp 0x40c7a6
mov eax, dword [ebp - 0x94]
sub eax, 0xfe6d0cf0
je 0x40d832
jmp 0x40c7bc
mov eax, dword [ebp - 0x94]
sub eax, 0xfe8521da
je 0x40d037
jmp 0x40c7d2
mov eax, dword [ebp - 0x94]
sub eax, 0x543abb0
je 0x40cc9a
jmp 0x40c7e8
mov eax, dword [ebp - 0x94]
sub eax, 0x839a590
je 0x40daf8
jmp 0x40c7fe
mov eax, dword [ebp - 0x94]
sub eax, 0x108d5b1e
je 0x40cdc9
jmp 0x40c814
mov eax, dword [ebp - 0x94]
sub eax, 0x1199fbe8
je 0x40d975
jmp 0x40c82a
mov eax, dword [ebp - 0x94]
sub eax, 0x12d190a0
je 0x40d55a
jmp 0x40c840
mov eax, dword [ebp - 0x94]
sub eax, 0x13e6a298
je 0x40cc8b
jmp 0x40c856
mov eax, dword [ebp - 0x94]
sub eax, 0x17d81317
je 0x40db91
jmp 0x40c86c
mov eax, dword [ebp - 0x94]
sub eax, 0x18b1571a
je 0x40d1d4
jmp 0x40c882
mov eax, dword [ebp - 0x94]
sub eax, 0x362231aa
je 0x40d367
jmp 0x40c898
mov eax, dword [ebp - 0x94]
sub eax, 0x39a50bf6
je 0x40ce83
jmp 0x40c8ae
mov eax, dword [ebp - 0x94]
sub eax, 0x4044942e
je 0x40d3c2
jmp 0x40c8c4
mov eax, dword [ebp - 0x94]
sub eax, 0x407d89d8
je 0x40d350
jmp 0x40c8da
mov eax, dword [ebp - 0x94]
sub eax, 0x41023a66
je 0x40cad9
jmp 0x40c8f0
mov eax, dword [ebp - 0x94]
sub eax, 0x471fb0b9
je 0x40d67d
jmp 0x40c906
mov eax, dword [ebp - 0x94]
sub eax, 0x4743b999
je 0x40d798
jmp 0x40c91c
mov eax, dword [ebp - 0x94]
sub eax, 0x4aadd990
je 0x40d174
jmp 0x40c932
mov eax, dword [ebp - 0x94]
sub eax, 0x4aaf9779
je 0x40d770
jmp 0x40c948
mov eax, dword [ebp - 0x94]
sub eax, 0x4deaf672
je 0x40d438
jmp 0x40c95e
mov eax, dword [ebp - 0x94]
sub eax, 0x4e057964
je 0x40d046
jmp 0x40c974
mov eax, dword [ebp - 0x94]
sub eax, 0x4e8321e0
je 0x40cd11
jmp 0x40c98a
mov eax, dword [ebp - 0x94]
sub eax, 0x50a86402
je 0x40ce02
jmp 0x40c9a0
mov eax, dword [ebp - 0x94]
sub eax, 0x51a8b87f
je 0x40dada
jmp 0x40c9b6
mov eax, dword [ebp - 0x94]
sub eax, 0x52aeeff8
je 0x40d3a4
jmp 0x40c9cc
mov eax, dword [ebp - 0x94]
sub eax, 0x53de6186
je 0x40dae9
jmp 0x40c9e2
mov eax, dword [ebp - 0x94]
sub eax, 0x56ed7737
je 0x40d37f
jmp 0x40c9f8
mov eax, dword [ebp - 0x94]
sub eax, 0x5b8daacf
je 0x40d77f
jmp 0x40ca0e
mov eax, dword [ebp - 0x94]
sub eax, 0x5f2582cc
je 0x40da4b
mov al, byte [ebp - 0x86]
mov cl, byte [ebp - 0x85]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xaae89906
mov ecx, 0xb454b0c1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x7c], eax
push eax
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
sub esp, 0x104
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 eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
add edx, 0x45c4f99b
sub edx, 1
sub edx, 0x45c4f99b
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, 0xaae89906
mov ecx, 0x9c323b88
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0xc0e9ea3c
jmp 0x40dbd9
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
sub edx, 0xfe823253
sub edx, 1
add edx, 0xfe823253
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, 0x51a8b87f
mov ecx, 0x6f342f21
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x543abb0
jmp 0x40dbd9
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0042a2d0
add esp, 0xc
mov eax, dword [ebp - 0x84]
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 - 0x78]
mov dword [eax], ecx
mov edx, dword [ebp - 0x78]
mov eax, 0x4e8321e0
mov ecx, 0xcb0a4722
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x7024e3b1
jmp 0x40dbd9
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x80]
mov edx, dword [eax]
mov eax, dword [ebp - 0x7c]
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 - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x78]
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 - 0x70]
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 - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0x108d5b1e
jmp 0x40dbd9
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x8c], 0xe3838d7a
jmp 0x40dbd9
mov edx, dword [ebp - 0x48]
mov esi, 0xffffffff
mov eax, 0xec6c6831
mov ecx, 0x50a86402
cmp edx, esi
cmove eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x7024e3b1
jmp 0x40dbd9
mov eax, dword [ebp - 0x6c]
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 - 0x44], eax
mov dword [ebp - 0x8c], 0xf6205e69
jmp 0x40dbd9
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x3d], al
mov dword [ebp - 0x8c], 0x39a50bf6
jmp 0x40dbd9
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
add edx, 0x632d777f
sub edx, 1
sub edx, 0x632d777f
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, 0x53de6186
mov ecx, 0x9dfae963
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
sub edx, 0x11c6932f
sub edx, 1
add edx, 0x11c6932f
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, 0x53de6186
mov ecx, 0x6cfb0405
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
mov edx, ecx
add edx, 0x19bd426e
sub edx, 1
sub edx, 0x19bd426e
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, 0x839a590
mov ecx, 0xfe8521da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x4e057964
jmp 0x40dbd9
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
add edx, 0xeb66fb3
sub edx, 1
sub edx, 0xeb66fb3
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, 0xd7e06624
mov ecx, 0xe05d7a3c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
add edx, 0xfe4791d0
sub edx, 1
sub edx, 0xfe4791d0
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, 0xd7e06624
mov ecx, 0xb4f0ca45
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0xd19ece62
jmp 0x40dbd9
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
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, 0xf0191ee7
mov ecx, 0x4aadd990
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
add edx, 0xf94dd0bb
sub edx, 1
sub edx, 0xf94dd0bb
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, 0xf0191ee7
mov ecx, 0xc550cb11
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x7024e3b1
jmp 0x40dbd9
mov eax, dword [ebp - 0x68]
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 - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
add eax, 0x3c
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x8c], 0xb4f206c3
jmp 0x40dbd9
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
mov edx, ecx
add edx, 0xe8a6d12d
sub edx, 1
sub edx, 0xe8a6d12d
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, 0xd0f57d60
mov ecx, 0x81e8d7ae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x38]
add ecx, 0xe169a483
add ecx, eax
sub ecx, 0xe169a483
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
mov edx, ecx
sub edx, 0xc5d8eff6
sub edx, 1
add edx, 0xc5d8eff6
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, 0xd0f57d60
mov ecx, 0x8a3f2e7e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x407d89d8
jmp 0x40dbd9
mov eax, dword [ebp - 0x58]
mov word [eax], 0
mov dword [ebp - 0x8c], 0x362231aa
jmp 0x40dbd9
mov eax, dword [ebp - 0x58]
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x8c], 0x56ed7737
jmp 0x40dbd9
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
movzx ecx, word [eax + 6]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x29], al
mov dword [ebp - 0x8c], 0x52aeeff8
jmp 0x40dbd9
mov dl, byte [ebp - 0x29]
mov eax, 0x8bb6016c
mov ecx, 0x4044942e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
mov edx, ecx
sub edx, 0x2b65d6b3
sub edx, 1
add edx, 0x2b65d6b3
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, 0x971e41d9
mov ecx, 0x4deaf672
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov eax, dword [ebp - 0x5c]
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 - 0x5c]
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 - 0x28], eax
mov eax, dword [ebp - 0x58]
mov ax, word [eax]
mov word [ebp - 0x22], ax
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
mov edx, ecx
add edx, 0x20b21851
sub edx, 1
sub edx, 0x20b21851
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, 0x971e41d9
mov ecx, 0xf8467a50
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0xec6d89a3
jmp 0x40dbd9
mov ax, word [ebp - 0x22]
movzx eax, ax
imul edx, eax, 0x28
mov ecx, dword [ebp - 0x28]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x8c], 0x8a29b5f4
jmp 0x40dbd9
mov ecx, dword [ebp - 0x20]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x439955
call fcn.0042dbd0
add esp, 8
mov edx, eax
mov eax, 0x12d190a0
mov ecx, 0x73f34b64
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov eax, dword [ebp - 0x50]
mov dword [eax], 0
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x74]
mov edx, dword [eax]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x907c75fb
add edx, eax
add edx, 0x907c75fb
mov eax, dword [ebp - 0x50]
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 - 0x4c]
mov byte [eax], cl
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0xaf6e7291
add eax, ecx
add eax, 0xaf6e7291
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x8c], 0xe89f79e2
jmp 0x40dbd9
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x18]
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 - 0x54]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x1c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0042a430
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x74]
mov esi, dword [eax]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
xor esi, esi
sub esi, edi
add eax, esi
xor esi, esi
sub esi, eax
mov eax, dword [ebp - 0x50]
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 al
and al, 1
mov byte [ebp - 0x13], al
mov dword [ebp - 0x8c], 0x471fb0b9
jmp 0x40dbd9
mov eax, dword [ebp - 0x4c]
mov cl, byte [ebp - 0x13]
mov byte [eax], cl
mov dword [ebp - 0x8c], 0x73f34b64
jmp 0x40dbd9
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
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, 0x6ba4f05c
mov ecx, 0x7ff4345e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x5b8daacf
jmp 0x40dbd9
mov eax, dword [ebp - 0x58]
mov cx, word [ebp - 0x12]
mov word [eax], cx
mov dword [ebp - 0x8c], 0x4743b999
jmp 0x40dbd9
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
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, 0x17d81317
mov ecx, 0x8c75daff
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
add edx, 0xac8b72b9
sub edx, 1
sub edx, 0xac8b72b9
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, 0x17d81317
mov ecx, 0xfe6d0cf0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x362231aa
jmp 0x40dbd9
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
add edx, 0x1aa333dd
sub edx, 1
sub edx, 0x1aa333dd
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, 0xe3da4f1a
mov ecx, 0xea33dfa9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
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, 0xe3da4f1a
mov ecx, 0xd81282a4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0xd103d3b4
jmp 0x40dbd9
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0x8e4f4dc3
jmp 0x40dbd9
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
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, 0xbdcf9cae
mov ecx, 0x1199fbe8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
mov edx, ecx
add edx, 0x1e5c4567
sub edx, 1
sub edx, 0x1e5c4567
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, 0xbdcf9cae
mov ecx, 0x99e08bc5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x8c], eax
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x7024e3b1
jmp 0x40dbd9
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004295e0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x8c], 0xb454b0c1
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x6f342f21
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x9dfae963
jmp 0x40dbd9
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x8c], 0xbbe8881b
jmp 0x40dbd9
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0xe05d7a3c
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x4aadd990
jmp 0x40dbd9
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
add ecx, 0xb6989b53
add ecx, eax
sub ecx, 0xb6989b53
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov dword [ebp - 0x8c], 0x81e8d7ae
jmp 0x40dbd9
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x8c], 0x4deaf672
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x8c75daff
jmp 0x40dbd9
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x8c], 0xea33dfa9
jmp 0x40dbd9
mov dword [ebp - 0x8c], 0x1199fbe8
jmp 0x40dbd9
jmp 0x40c488