Function at 0x40c4d0
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 [0x43e54c]
mov eax, dword [0x43e548]
mov edx, ecx
sub edx, 0xc31b5071
sub edx, 1
add edx, 0xc31b5071
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], 0x11c6148c
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xa4], eax
sub eax, 0x80ba6216
je 0x40d0dc
jmp 0x40c554
mov eax, dword [ebp - 0xa4]
sub eax, 0x8826e420
je 0x40dbc6
jmp 0x40c56a
mov eax, dword [ebp - 0xa4]
sub eax, 0x92ac7488
je 0x40d536
jmp 0x40c580
mov eax, dword [ebp - 0xa4]
sub eax, 0x92ec972f
je 0x40db4d
jmp 0x40c596
mov eax, dword [ebp - 0xa4]
sub eax, 0x9521ffa0
je 0x40d307
jmp 0x40c5ac
mov eax, dword [ebp - 0xa4]
sub eax, 0x95fd1849
je 0x40d1aa
jmp 0x40c5c2
mov eax, dword [ebp - 0xa4]
sub eax, 0x9b98aaa3
je 0x40cd5c
jmp 0x40c5d8
mov eax, dword [ebp - 0xa4]
sub eax, 0xa4c26cd8
je 0x40d0cd
jmp 0x40c5ee
mov eax, dword [ebp - 0xa4]
sub eax, 0xa8af3f6e
je 0x40dd58
jmp 0x40c604
mov eax, dword [ebp - 0xa4]
sub eax, 0xacf4e472
je 0x40d005
jmp 0x40c61a
mov eax, dword [ebp - 0xa4]
sub eax, 0xad1da56b
je 0x40d2f8
jmp 0x40c630
mov eax, dword [ebp - 0xa4]
sub eax, 0xad6679f8
je 0x40cfb6
jmp 0x40c646
mov eax, dword [ebp - 0xa4]
sub eax, 0xb925c4d1
je 0x40d88a
jmp 0x40c65c
mov eax, dword [ebp - 0xa4]
sub eax, 0xbbc42d20
je 0x40d125
jmp 0x40c672
mov eax, dword [ebp - 0xa4]
sub eax, 0xbcfad78e
je 0x40d8f8
jmp 0x40c688
mov eax, dword [ebp - 0xa4]
sub eax, 0xbdb10a59
je 0x40d66c
jmp 0x40c69e
mov eax, dword [ebp - 0xa4]
sub eax, 0xc2c01806
je 0x40d5ac
jmp 0x40c6b4
mov eax, dword [ebp - 0xa4]
sub eax, 0xc9e5805d
je 0x40d5f6
jmp 0x40c6ca
mov eax, dword [ebp - 0xa4]
sub eax, 0xcbdc915c
je 0x40da41
jmp 0x40c6e0
mov eax, dword [ebp - 0xa4]
sub eax, 0xcbe50108
je 0x40cbdd
jmp 0x40c6f6
mov eax, dword [ebp - 0xa4]
sub eax, 0xcefb6da6
je 0x40d987
jmp 0x40c70c
mov eax, dword [ebp - 0xa4]
sub eax, 0xcf62df19
je 0x40cded
jmp 0x40c722
mov eax, dword [ebp - 0xa4]
sub eax, 0xd93be591
je 0x40daaf
jmp 0x40c738
mov eax, dword [ebp - 0xa4]
sub eax, 0xdb418df0
je 0x40d7e1
jmp 0x40c74e
mov eax, dword [ebp - 0xa4]
sub eax, 0xea613df6
je 0x40d29f
jmp 0x40c764
mov eax, dword [ebp - 0xa4]
sub eax, 0xeb7697e1
je 0x40da32
jmp 0x40c77a
mov eax, dword [ebp - 0xa4]
sub eax, 0xeb7752f6
je 0x40d9d0
jmp 0x40c790
mov eax, dword [ebp - 0xa4]
sub eax, 0xedc75151
je 0x40dc60
jmp 0x40c7a6
mov eax, dword [ebp - 0xa4]
sub eax, 0xeead6d99
je 0x40d44c
jmp 0x40c7bc
mov eax, dword [ebp - 0xa4]
sub eax, 0xf1cad1e6
je 0x40dba5
jmp 0x40c7d2
mov eax, dword [ebp - 0xa4]
sub eax, 0xf2d92c1d
je 0x40ce7e
jmp 0x40c7e8
mov eax, dword [ebp - 0xa4]
sub eax, 0xf82989a4
je 0x40d4b1
jmp 0x40c7fe
mov eax, dword [ebp - 0xa4]
sub eax, 0xfa50ae26
je 0x40dbf4
jmp 0x40c814
mov eax, dword [ebp - 0xa4]
sub eax, 0xfaf57de8
je 0x40db73
jmp 0x40c82a
mov eax, dword [ebp - 0xa4]
sub eax, 0xfb1857c4
je 0x40d256
jmp 0x40c840
mov eax, dword [ebp - 0xa4]
sub eax, 0xfc7db502
je 0x40dcbf
jmp 0x40c856
mov eax, dword [ebp - 0xa4]
sub eax, 0x2e8a8ff
je 0x40db36
jmp 0x40c86c
mov eax, dword [ebp - 0xa4]
sub eax, 0x6153230
je 0x40dc7e
jmp 0x40c882
mov eax, dword [ebp - 0xa4]
sub eax, 0x61c0fe6
je 0x40d3de
jmp 0x40c898
mov eax, dword [ebp - 0xa4]
sub eax, 0x10a27d76
je 0x40cc4b
jmp 0x40c8ae
mov eax, dword [ebp - 0xa4]
sub eax, 0x11c6148c
je 0x40cb89
jmp 0x40c8c4
mov eax, dword [ebp - 0xa4]
sub eax, 0x15dbc752
je 0x40dd31
jmp 0x40c8da
mov eax, dword [ebp - 0xa4]
sub eax, 0x1ef6080d
je 0x40dc4e
jmp 0x40c8f0
mov eax, dword [ebp - 0xa4]
sub eax, 0x1f813753
je 0x40cc5a
jmp 0x40c906
mov eax, dword [ebp - 0xa4]
sub eax, 0x201861fb
je 0x40d074
jmp 0x40c91c
mov eax, dword [ebp - 0xa4]
sub eax, 0x2060ebb5
je 0x40cd0b
jmp 0x40c932
mov eax, dword [ebp - 0xa4]
sub eax, 0x2353994a
je 0x40d6f0
jmp 0x40c948
mov eax, dword [ebp - 0xa4]
sub eax, 0x29d02c73
je 0x40d3cf
jmp 0x40c95e
mov eax, dword [ebp - 0xa4]
sub eax, 0x30a89d99
je 0x40d87b
jmp 0x40c974
mov eax, dword [ebp - 0xa4]
sub eax, 0x3520d323
je 0x40dcce
jmp 0x40c98a
mov eax, dword [ebp - 0xa4]
sub eax, 0x35b050bf
je 0x40d735
jmp 0x40c9a0
mov eax, dword [ebp - 0xa4]
sub eax, 0x3627834a
je 0x40d978
jmp 0x40c9b6
mov eax, dword [ebp - 0xa4]
sub eax, 0x380576bb
je 0x40dbb7
jmp 0x40c9cc
mov eax, dword [ebp - 0xa4]
sub eax, 0x38f8cc56
je 0x40d1b9
jmp 0x40c9e2
mov eax, dword [ebp - 0xa4]
sub eax, 0x3a569b05
je 0x40cf72
jmp 0x40c9f8
mov eax, dword [ebp - 0xa4]
sub eax, 0x3b130ae5
je 0x40d350
jmp 0x40ca0e
mov eax, dword [ebp - 0xa4]
sub eax, 0x3f70fa8c
je 0x40d1c8
jmp 0x40ca24
mov eax, dword [ebp - 0xa4]
sub eax, 0x41e609c2
je 0x40d7c9
jmp 0x40ca3a
mov eax, dword [ebp - 0xa4]
sub eax, 0x4957398b
je 0x40cf9f
jmp 0x40ca50
mov eax, dword [ebp - 0xa4]
sub eax, 0x4b0b458e
je 0x40d1df
jmp 0x40ca66
mov eax, dword [ebp - 0xa4]
sub eax, 0x51e9e6b6
je 0x40cdcf
jmp 0x40ca7c
mov eax, dword [ebp - 0xa4]
sub eax, 0x55d0cb6b
je 0x40d4c0
jmp 0x40ca92
mov eax, dword [ebp - 0xa4]
sub eax, 0x577f941f
je 0x40db27
jmp 0x40caa8
mov eax, dword [ebp - 0xa4]
sub eax, 0x57f60499
je 0x40cdfc
jmp 0x40cabe
mov eax, dword [ebp - 0xa4]
sub eax, 0x5a57eee6
je 0x40dcaa
mov bl, byte [ebp - 0x96]
mov dh, byte [ebp - 0x95]
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, 0x380576bb
mov ecx, 0xcbe50108
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
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
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
sub edx, 0xd53cbf19
sub edx, 1
add edx, 0xd53cbf19
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, 0x380576bb
mov ecx, 0x10a27d76
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0x1f813753
jmp 0x40dd6c
mov ecx, dword [ebp - 0xa0]
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
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
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.00427910
add esp, 0xc
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x9c], 0x2060ebb5
jmp 0x40dd6c
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
add edx, 0xf85a5fb3
sub edx, 1
sub edx, 0xf85a5fb3
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, 0x8826e420
mov ecx, 0x9b98aaa3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov eax, dword [ebp - 0x58]
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 eax, dword [ebp - 0x88]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x52], al
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
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, 0x8826e420
mov ecx, 0x51e9e6b6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dl, byte [ebp - 0x52]
mov eax, 0xcf62df19
mov ecx, 0x57f60499
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0xf1cad1e6
jmp 0x40dd6c
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 dword [ebp - 0x9c], 0x6af69a6c
jmp 0x40dd6c
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
add edx, 0x555781de
sub edx, 1
sub edx, 0x555781de
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, 0xfa50ae26
mov ecx, 0x6d33f8fa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dl, byte [ebp - 0x51]
mov eax, 0x4957398b
mov ecx, 0x75a649f9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x9c], 0xad6679f8
jmp 0x40dd6c
mov eax, dword [ebp - 0x50]
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 - 0x78]
mov dword [eax], ecx
mov dword [ebp - 0x9c], 0xacf4e472
jmp 0x40dd6c
mov edx, dword [ebp - 0x78]
mov eax, 0x620de911
mov ecx, 0x3f70fa8c
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
add edx, 0xbe137f22
sub edx, 1
sub edx, 0xbe137f22
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, 0x1ef6080d
mov ecx, 0xa4c26cd8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0x80ba6216
jmp 0x40dd6c
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
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, 0xedc75151
mov ecx, 0xbbc42d20
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
mov edx, ecx
add edx, 0x1a709d54
sub edx, 1
sub edx, 0x1a709d54
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, 0xedc75151
mov ecx, 0x95fd1849
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0x38f8cc56
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0xf1cad1e6
jmp 0x40dd6c
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x9c], 0x4b0b458e
jmp 0x40dd6c
mov eax, dword [ebp - 0x48]
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 eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
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 - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x9c], 0xfb1857c4
jmp 0x40dd6c
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
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, 0x6153230
mov ecx, 0xea613df6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
sub edx, 0x2bfb49f9
sub edx, 1
add edx, 0x2bfb49f9
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, 0x6153230
mov ecx, 0xad1da56b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0x9521ffa0
jmp 0x40dd6c
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
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, 0x7a78d3ce
mov ecx, 0x3b130ae5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
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, 0x7a78d3ce
mov ecx, 0x29d02c73
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0x61c0fe6
jmp 0x40dd6c
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
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, 0x5a57eee6
mov ecx, 0xeead6d99
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
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 [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
sub edx, 0xff4e1f8d
sub edx, 1
add edx, 0xff4e1f8d
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, 0x5a57eee6
mov ecx, 0xf82989a4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0x55d0cb6b
jmp 0x40dd6c
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
mov edx, ecx
add edx, 0x73d173c2
sub edx, 1
sub edx, 0x73d173c2
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, 0xfc7db502
mov ecx, 0x92ac7488
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
mov edx, ecx
sub edx, 0xc2bc4849
sub edx, 1
add edx, 0xc2bc4849
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, 0xfc7db502
mov ecx, 0xc2c01806
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dl, byte [ebp - 0x39]
mov eax, 0x2e8a8ff
mov ecx, 0x6a9bd470
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
mov edx, ecx
add edx, 0xdcd00400
sub edx, 1
sub edx, 0xdcd00400
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, 0x3520d323
mov ecx, 0xbdb10a59
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov eax, dword [ebp - 0x34]
movzx edx, word [eax]
mov ecx, dword [ebp - 0x38]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0xa528de2
add ecx, eax
add ecx, 0xa528de2
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
sub edx, 0xf0cd082d
sub edx, 1
add edx, 0xf0cd082d
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, 0x3520d323
mov ecx, 0x2353994a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0x689016bd
jmp 0x40dd6c
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, esi
add eax, edx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x60]
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 - 0x2c], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x9c], 0x41e609c2
jmp 0x40dd6c
mov eax, dword [ebp - 0x24]
add eax, 0xc
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x9c], 0xdb418df0
jmp 0x40dd6c
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x28]
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 - 0x64]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x2c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00427a70
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, esi
xor esi, esi
sub esi, edi
add eax, esi
xor esi, esi
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], 0x30a89d99
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0xb925c4d1
jmp 0x40dd6c
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
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, 0x63290c1f
mov ecx, 0xbcfad78e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov eax, dword [ebp - 0x68]
mov ax, word [eax]
mov word [ebp - 0x1c], ax
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
mov edx, ecx
add edx, 0x8eca4d21
sub edx, 1
sub edx, 0x8eca4d21
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, 0x63290c1f
mov ecx, 0x3627834a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0xcefb6da6
jmp 0x40dd6c
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
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, 0x15dbc752
mov ecx, 0xeb7752f6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov ax, word [ebp - 0x1c]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x1a], ax
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
sub edx, 0x3b6d7a78
sub edx, 1
add edx, 0x3b6d7a78
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, 0x15dbc752
mov ecx, 0xeb7697e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0xcbdc915c
jmp 0x40dd6c
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
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, 0xa8af3f6e
mov ecx, 0xd93be591
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov eax, dword [ebp - 0x68]
mov cx, word [ebp - 0x1a]
mov word [eax], cx
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
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, 0xa8af3f6e
mov ecx, 0x577f941f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x9c], eax
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0x9521ffa0
jmp 0x40dd6c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x9c], 0x92ec972f
jmp 0x40dd6c
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x9c], 0xfaf57de8
jmp 0x40dd6c
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], 0xf1cad1e6
jmp 0x40dd6c
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00426c20
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x9c], 0xcbe50108
jmp 0x40dd6c
mov eax, dword [ebp - 0x58]
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 eax, dword [ebp - 0x88]
mov dword [ebp - 0x9c], 0x9b98aaa3
jmp 0x40dd6c
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 eax, dword [ebp - 0x7c]
mov dword [ebp - 0x9c], 0x6d33f8fa
jmp 0x40dd6c
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x9c], 0x201861fb
jmp 0x40dd6c
mov eax, dword [ebp - 0x4c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x9c], 0xbbc42d20
jmp 0x40dd6c
mov eax, dword [ebp - 0x68]
mov word [eax], 0
mov dword [ebp - 0x9c], 0xea613df6
jmp 0x40dd6c
mov dword [ebp - 0x9c], 0x92ac7488
jmp 0x40dd6c
mov eax, dword [ebp - 0x34]
movzx eax, word [eax]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
sub ecx, 0xe4a06394
add ecx, eax
add ecx, 0xe4a06394
mov eax, dword [ebp - 0x68]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0x8963222b
add ecx, eax
add ecx, 0x8963222b
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x9c], 0xbdb10a59
jmp 0x40dd6c
mov ax, word [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov dword [ebp - 0x9c], 0xeb7752f6
jmp 0x40dd6c
mov eax, dword [ebp - 0x68]
mov cx, word [ebp - 0x1a]
mov word [eax], cx
mov dword [ebp - 0x9c], 0xd93be591
jmp 0x40c538