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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xa4
mov eax, dword [ebp + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [0x436080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0xa2], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0xa1], al
mov dword [ebp - 0xa8], 0x5fc36d41
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
sub eax, 0x80cc6aa1
je 0x40b65a
jmp 0x40aa3c
mov eax, dword [ebp - 0xb0]
sub eax, 0x9788d3b5
je 0x40b669
jmp 0x40aa52
mov eax, dword [ebp - 0xb0]
sub eax, 0x98781802
je 0x40be6b
jmp 0x40aa68
mov eax, dword [ebp - 0xb0]
sub eax, 0x99683170
je 0x40b2a9
jmp 0x40aa7e
mov eax, dword [ebp - 0xb0]
sub eax, 0x99dda82b
je 0x40c11a
jmp 0x40aa94
mov eax, dword [ebp - 0xb0]
sub eax, 0x9a4e4b47
je 0x40b7c4
jmp 0x40aaaa
mov eax, dword [ebp - 0xb0]
sub eax, 0x9cf4cbc7
je 0x40bbf0
jmp 0x40aac0
mov eax, dword [ebp - 0xb0]
sub eax, 0xa869e9f3
je 0x40c1d1
jmp 0x40aad6
mov eax, dword [ebp - 0xb0]
sub eax, 0xad16f7bf
je 0x40b45c
jmp 0x40aaec
mov eax, dword [ebp - 0xb0]
sub eax, 0xae7bee1d
je 0x40b8fe
jmp 0x40ab02
mov eax, dword [ebp - 0xb0]
sub eax, 0xb2d3d766
je 0x40c020
jmp 0x40ab18
mov eax, dword [ebp - 0xb0]
sub eax, 0xb3392d15
je 0x40b5c9
jmp 0x40ab2e
mov eax, dword [ebp - 0xb0]
sub eax, 0xb38de862
je 0x40b15c
jmp 0x40ab44
mov eax, dword [ebp - 0xb0]
sub eax, 0xb7b14e38
je 0x40b3d0
jmp 0x40ab5a
mov eax, dword [ebp - 0xb0]
sub eax, 0xc84d5adb
je 0x40c0c9
jmp 0x40ab70
mov eax, dword [ebp - 0xb0]
sub eax, 0xc9eb1c93
je 0x40b985
jmp 0x40ab86
mov eax, dword [ebp - 0xb0]
sub eax, 0xcb996e13
je 0x40c14a
jmp 0x40ab9c
mov eax, dword [ebp - 0xb0]
sub eax, 0xd08d79f7
je 0x40bb64
jmp 0x40abb2
mov eax, dword [ebp - 0xb0]
sub eax, 0xd41014cb
je 0x40c062
jmp 0x40abc8
mov eax, dword [ebp - 0xb0]
sub eax, 0xd56e20b0
je 0x40c13b
jmp 0x40abde
mov eax, dword [ebp - 0xb0]
sub eax, 0xd6295071
je 0x40bd63
jmp 0x40abf4
mov eax, dword [ebp - 0xb0]
sub eax, 0xd83d5b63
je 0x40c2c6
jmp 0x40ac0a
mov eax, dword [ebp - 0xb0]
sub eax, 0xdb4bbbf3
je 0x40b1ca
jmp 0x40ac20
mov eax, dword [ebp - 0xb0]
sub eax, 0xdf0267e4
je 0x40b14d
jmp 0x40ac36
mov eax, dword [ebp - 0xb0]
sub eax, 0xe3d6625a
je 0x40b815
jmp 0x40ac4c
mov eax, dword [ebp - 0xb0]
sub eax, 0xe6710e5c
je 0x40bc70
jmp 0x40ac62
mov eax, dword [ebp - 0xb0]
sub eax, 0xe9b5c283
je 0x40b8b7
jmp 0x40ac78
mov eax, dword [ebp - 0xb0]
sub eax, 0xfa1bd38b
je 0x40b31f
jmp 0x40ac8e
mov eax, dword [ebp - 0xb0]
sub eax, 0xfc402479
je 0x40c2b1
jmp 0x40aca4
mov eax, dword [ebp - 0xb0]
sub eax, 0x16d838b
je 0x40b683
jmp 0x40acba
mov eax, dword [ebp - 0xb0]
sub eax, 0x6366f4b
je 0x40be7a
jmp 0x40acd0
mov eax, dword [ebp - 0xb0]
sub eax, 0x73a6ea3
je 0x40c002
jmp 0x40ace6
mov eax, dword [ebp - 0xb0]
sub eax, 0x81463d2
je 0x40c2d8
jmp 0x40acfc
mov eax, dword [ebp - 0xb0]
sub eax, 0xcbb8ca8
je 0x40b587
jmp 0x40ad12
mov eax, dword [ebp - 0xb0]
sub eax, 0x12060210
je 0x40bace
jmp 0x40ad28
mov eax, dword [ebp - 0xb0]
sub eax, 0x1377b3ab
je 0x40bbff
jmp 0x40ad3e
mov eax, dword [ebp - 0xb0]
sub eax, 0x15ec120a
je 0x40ba40
jmp 0x40ad54
mov eax, dword [ebp - 0xb0]
sub eax, 0x17939e21
je 0x40c129
jmp 0x40ad6a
mov eax, dword [ebp - 0xb0]
sub eax, 0x186e671e
je 0x40b596
jmp 0x40ad80
mov eax, dword [ebp - 0xb0]
sub eax, 0x18f52569
je 0x40b0c5
jmp 0x40ad96
mov eax, dword [ebp - 0xb0]
sub eax, 0x1a0875c5
je 0x40b50d
jmp 0x40adac
mov eax, dword [ebp - 0xb0]
sub eax, 0x1cfdc865
je 0x40c28a
jmp 0x40adc2
mov eax, dword [ebp - 0xb0]
sub eax, 0x1f5253c0
je 0x40baee
jmp 0x40add8
mov eax, dword [ebp - 0xb0]
sub eax, 0x2a023814
je 0x40c16d
jmp 0x40adee
mov eax, dword [ebp - 0xb0]
sub eax, 0x2f164eac
je 0x40b9a4
jmp 0x40ae04
mov eax, dword [ebp - 0xb0]
sub eax, 0x327d662b
je 0x40b899
jmp 0x40ae1a
mov eax, dword [ebp - 0xb0]
sub eax, 0x32f18fb8
je 0x40becb
jmp 0x40ae30
mov eax, dword [ebp - 0xb0]
sub eax, 0x35cd88cd
je 0x40babf
jmp 0x40ae46
mov eax, dword [ebp - 0xb0]
sub eax, 0x36198927
je 0x40c29c
jmp 0x40ae5c
mov eax, dword [ebp - 0xb0]
sub eax, 0x363487aa
je 0x40c080
jmp 0x40ae72
mov eax, dword [ebp - 0xb0]
sub eax, 0x3674afbe
je 0x40b6f1
jmp 0x40ae88
mov eax, dword [ebp - 0xb0]
sub eax, 0x393cd9df
je 0x40bfaf
jmp 0x40ae9e
mov eax, dword [ebp - 0xb0]
sub eax, 0x399d5193
je 0x40b4ad
jmp 0x40aeb4
mov eax, dword [ebp - 0xb0]
sub eax, 0x3e741f46
je 0x40c278
jmp 0x40aeca
mov eax, dword [ebp - 0xb0]
sub eax, 0x3ecc21ef
je 0x40b9ca
jmp 0x40aee0
mov eax, dword [ebp - 0xb0]
sub eax, 0x4027bb62
je 0x40bce7
jmp 0x40aef6
mov eax, dword [ebp - 0xb0]
sub eax, 0x44b5c87d
je 0x40b4bc
jmp 0x40af0c
mov eax, dword [ebp - 0xb0]
sub eax, 0x4542e624
je 0x40bf41
jmp 0x40af22
mov eax, dword [ebp - 0xb0]
sub eax, 0x4cac90a0
je 0x40b29a
jmp 0x40af38
mov eax, dword [ebp - 0xb0]
sub eax, 0x4ef89e70
je 0x40c2f1
jmp 0x40af4e
mov eax, dword [ebp - 0xb0]
sub eax, 0x4f731992
je 0x40b7b5
jmp 0x40af64
mov eax, dword [ebp - 0xb0]
sub eax, 0x52df6f31
je 0x40bd72
jmp 0x40af7a
mov eax, dword [ebp - 0xb0]
sub eax, 0x5985f9f3
je 0x40bc9e
jmp 0x40af90
mov eax, dword [ebp - 0xb0]
sub eax, 0x5c1b8808
je 0x40c1e0
jmp 0x40afa6
mov eax, dword [ebp - 0xb0]
sub eax, 0x5e581bdb
je 0x40c220
push eax
mov eax, esp
mov dword [ebp - 0xa0], eax
push eax
mov eax, esp
mov dword [ebp - 0x9c], eax
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
mov edx, ecx
add edx, 0x445d4b82
sub edx, 1
sub edx, 0x445d4b82
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, 0xd56e20b0
mov ecx, 0xdf0267e4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0xb38de862
jmp 0x40c2fb
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
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, 0xcb996e13
mov ecx, 0xdb4bbbf3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov ecx, dword [ebp - 0xac]
push eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x98], eax
push eax
mov eax, esp
mov dword [ebp - 0x94], eax
push eax
mov eax, esp
mov dword [ebp - 0x90], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
push eax
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
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
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x64], eax
mov eax, dword [0x4375bc]
mov ecx, dword [0x4375b8]
mov edx, eax
add edx, 0x9cae14ac
sub edx, 1
sub edx, 0x9cae14ac
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, 0xcb996e13
mov ecx, 0x4cac90a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0x99683170
jmp 0x40c2fb
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
mov edx, ecx
sub edx, 0x801f385c
sub edx, 1
add edx, 0x801f385c
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, 0x2a023814
mov ecx, 0xfa1bd38b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x98]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00420630
add esp, 0xc
mov eax, dword [ebp - 0xa0]
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 - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x5d], al
mov eax, dword [0x4375bc]
mov ecx, dword [0x4375b8]
mov edx, eax
add edx, 0xb2f56a92
sub edx, 1
sub edx, 0xb2f56a92
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, 0x2a023814
mov ecx, 0xb7b14e38
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dl, byte [ebp - 0x5d]
mov eax, 0x6d8a6fe0
mov ecx, 0x44b5c87d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov eax, dword [0x4375bc]
mov ecx, dword [0x4375b8]
mov edx, eax
sub edx, 0xb15a3eb7
sub edx, 1
add edx, 0xb15a3eb7
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, 0xa869e9f3
mov ecx, 0x399d5193
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0x17939e21
jmp 0x40c2fb
mov eax, dword [0x4375bc]
mov ecx, dword [0x4375b8]
mov edx, eax
sub edx, 0xb2d3a3dd
sub edx, 1
add edx, 0xb2d3a3dd
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, 0x5c1b8808
mov ecx, 0x1a0875c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x98]
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 [0x4375bc]
mov ecx, dword [0x4375b8]
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, 0x5c1b8808
mov ecx, 0xcbb8ca8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0x186e671e
jmp 0x40c2fb
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xa8], 0xb3392d15
jmp 0x40c2fb
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
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, 0x9788d3b5
mov ecx, 0x80cc6aa1
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0x17939e21
jmp 0x40c2fb
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0xa8], 0x16d838b
jmp 0x40c2fb
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
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, 0x5e581bdb
mov ecx, 0x3674afbe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov eax, dword [ebp - 0x54]
xor ecx, ecx
sub esp, 0x18
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
mov edx, ecx
sub edx, 0x1d7f9c2e
sub edx, 1
add edx, 0x1d7f9c2e
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, 0x5e581bdb
mov ecx, 0x4f731992
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0x9a4e4b47
jmp 0x40c2fb
mov eax, dword [0x4375bc]
mov ecx, dword [0x4375b8]
mov edx, eax
add edx, 0x67b9159c
sub edx, 1
sub edx, 0x67b9159c
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, 0x3e741f46
mov ecx, 0xe3d6625a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov eax, dword [ebp - 0x50]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x49], al
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
mov edx, ecx
add edx, 0x9d3c5c00
sub edx, 1
sub edx, 0x9d3c5c00
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, 0x3e741f46
mov ecx, 0x327d662b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dl, byte [ebp - 0x49]
mov eax, 0xe9b5c283
mov ecx, 0xae7bee1d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xa8], 0x5ec2818c
jmp 0x40c2fb
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, eax
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0xa8], 0x7425f667
jmp 0x40c2fb
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov word [eax], 0
mov dword [ebp - 0xa8], 0x2f164eac
jmp 0x40c2fb
mov eax, dword [ebp - 0x74]
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
add eax, 4
add eax, 2
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xa8], 0x3ecc21ef
jmp 0x40c2fb
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
mov edx, ecx
sub edx, 0xf2ed769d
sub edx, 1
add edx, 0xf2ed769d
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, 0x1cfdc865
mov ecx, 0x15ec120a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov eax, dword [ebp - 0x38]
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
mov edx, ecx
add edx, 0xfdff89be
sub edx, 1
sub edx, 0xfdff89be
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, 0x1cfdc865
mov ecx, 0x35cd88cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0x12060210
jmp 0x40c2fb
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x34]
mov eax, 0xb2d3d766
mov ecx, 0x1f5253c0
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
mov edx, ecx
sub edx, 0x95ca71f3
sub edx, 1
add edx, 0x95ca71f3
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, 0x36198927
mov ecx, 0xd08d79f7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ecx]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x30], eax
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
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, 0x36198927
mov ecx, 0x9cf4cbc7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0x1377b3ab
jmp 0x40c2fb
mov eax, dword [ebp - 0x74]
mov ax, word [eax]
mov word [ebp - 0x2a], ax
mov dword [ebp - 0xa8], 0x6d705790
jmp 0x40c2fb
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 - 0x28], eax
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xa8], 0x5985f9f3
jmp 0x40c2fb
mov eax, dword [0x4375bc]
mov ecx, dword [0x4375b8]
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, 0xfc402479
mov ecx, 0x4027bb62
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
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, 0xfc402479
mov ecx, 0xd6295071
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0x52df6f31
jmp 0x40c2fb
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x20]
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 - 0x6c]
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 - 0x68]
mov byte [eax], cl
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0x74c208c9
add ecx, eax
sub ecx, 0x74c208c9
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.00420790
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 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 - 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 - 0xa8], 0x98781802
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0x6366f4b
jmp 0x40c2fb
mov eax, dword [0x4375bc]
mov ecx, dword [0x4375b8]
mov edx, eax
add edx, 0x53b80454
sub edx, 1
sub edx, 0x53b80454
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, 0xd83d5b63
mov ecx, 0x32f18fb8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov eax, dword [ebp - 0x74]
mov ax, word [eax]
sub ax, 0x9319
add ax, 1
add ax, 0x9319
mov word [ebp - 0x16], ax
mov eax, dword [0x4375bc]
mov ecx, dword [0x4375b8]
mov edx, eax
sub edx, 0xe40276b6
sub edx, 1
add edx, 0xe40276b6
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, 0xd83d5b63
mov ecx, 0x73d5521a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov ecx, dword [0x4375bc]
mov eax, dword [0x4375b8]
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, 0x81463d2
mov ecx, 0x393cd9df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov eax, dword [ebp - 0x74]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov eax, dword [0x4375bc]
mov ecx, dword [0x4375b8]
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, 0x81463d2
mov ecx, 0x73a6ea3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0x651f369e
jmp 0x40c2fb
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xa8], 0xd41014cb
jmp 0x40c2fb
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa8], 0x363487aa
jmp 0x40c2fb
mov eax, dword [0x4375bc]
mov ecx, dword [0x4375b8]
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, 0x4ef89e70
mov ecx, 0xc84d5adb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov eax, dword [0x4375bc]
mov ecx, dword [0x4375b8]
mov edx, eax
sub edx, 0x5e3af44
sub edx, 1
add edx, 0x5e3af44
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, 0x4ef89e70
mov ecx, 0x99dda82b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa8], eax
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0x17939e21
jmp 0x40c2fb
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041f910
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0xa8], 0x18f52569
jmp 0x40c2fb
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xa8], 0xdb4bbbf3
jmp 0x40c2fb
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x98]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.00420630
add esp, 0xc
mov eax, dword [ebp - 0xa0]
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 - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xa8], 0xfa1bd38b
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0xad16f7bf
jmp 0x40c2fb
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x98]
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 - 0xa8], 0x1a0875c5
jmp 0x40c2fb
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xa8], 0xe3d6625a
jmp 0x40c2fb
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xa8], 0x15ec120a
jmp 0x40c2fb
mov eax, dword [ebp - 0x78]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xa8], 0xd08d79f7
jmp 0x40c2fb
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa8], 0x4027bb62
jmp 0x40c2fb
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa8], 0x32f18fb8
jmp 0x40c2fb
mov eax, dword [ebp - 0x74]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0xa8], 0x393cd9df
jmp 0x40c2fb
mov dword [ebp - 0xa8], 0xc84d5adb
jmp 0x40aa20