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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1b0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1b4], eax
mov eax, dword [0x43d080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1b0], 0x6bf0cbd1
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b8], eax
sub eax, 0x804f1f59
je 0x40cf15
jmp 0x40b074
mov eax, dword [ebp - 0x1b8]
sub eax, 0x82ef332f
je 0x40c05d
jmp 0x40b08a
mov eax, dword [ebp - 0x1b8]
sub eax, 0x833d00af
je 0x40bdd8
jmp 0x40b0a0
mov eax, dword [ebp - 0x1b8]
sub eax, 0x84074f5d
je 0x40ce56
jmp 0x40b0b6
mov eax, dword [ebp - 0x1b8]
sub eax, 0x8a474d76
je 0x40c5dc
jmp 0x40b0cc
mov eax, dword [ebp - 0x1b8]
sub eax, 0x8e66ffe5
je 0x40ca6d
jmp 0x40b0e2
mov eax, dword [ebp - 0x1b8]
sub eax, 0x8e9a00bb
je 0x40bc85
jmp 0x40b0f8
mov eax, dword [ebp - 0x1b8]
sub eax, 0x90f3c44a
je 0x40c7e4
jmp 0x40b10e
mov eax, dword [ebp - 0x1b8]
sub eax, 0x92f9cbf4
je 0x40b970
jmp 0x40b124
mov eax, dword [ebp - 0x1b8]
sub eax, 0x9504a98c
je 0x40c1f7
jmp 0x40b13a
mov eax, dword [ebp - 0x1b8]
sub eax, 0xa06bfa8c
je 0x40c5eb
jmp 0x40b150
mov eax, dword [ebp - 0x1b8]
sub eax, 0xa4930f5b
je 0x40c38e
jmp 0x40b166
mov eax, dword [ebp - 0x1b8]
sub eax, 0xa8f7bca5
je 0x40c852
jmp 0x40b17c
mov eax, dword [ebp - 0x1b8]
sub eax, 0xa9be6e57
je 0x40be4e
jmp 0x40b192
mov eax, dword [ebp - 0x1b8]
sub eax, 0xab54267a
je 0x40cdfc
jmp 0x40b1a8
mov eax, dword [ebp - 0x1b8]
sub eax, 0xac77ab16
je 0x40bd66
jmp 0x40b1be
mov eax, dword [ebp - 0x1b8]
sub eax, 0xb02b6ce4
je 0x40ca7c
jmp 0x40b1d4
mov eax, dword [ebp - 0x1b8]
sub eax, 0xb288d1a7
je 0x40ced5
jmp 0x40b1ea
mov eax, dword [ebp - 0x1b8]
sub eax, 0xb71a9122
je 0x40ba5c
jmp 0x40b200
mov eax, dword [ebp - 0x1b8]
sub eax, 0xbf28d2f8
je 0x40b8eb
jmp 0x40b216
mov eax, dword [ebp - 0x1b8]
sub eax, 0xc1405ade
je 0x40c74f
jmp 0x40b22c
mov eax, dword [ebp - 0x1b8]
sub eax, 0xc2705da3
je 0x40cd8a
jmp 0x40b242
mov eax, dword [ebp - 0x1b8]
sub eax, 0xc5b9616f
je 0x40c549
jmp 0x40b258
mov eax, dword [ebp - 0x1b8]
sub eax, 0xc8a781c1
je 0x40c683
jmp 0x40b26e
mov eax, dword [ebp - 0x1b8]
sub eax, 0xcb7cd782
je 0x40c185
jmp 0x40b284
mov eax, dword [ebp - 0x1b8]
sub eax, 0xcb8d0b04
je 0x40c16a
jmp 0x40b29a
mov eax, dword [ebp - 0x1b8]
sub eax, 0xd4ce8f69
je 0x40bf37
jmp 0x40b2b0
mov eax, dword [ebp - 0x1b8]
sub eax, 0xdab27f9a
je 0x40c60c
jmp 0x40b2c6
mov eax, dword [ebp - 0x1b8]
sub eax, 0xdc19ec00
je 0x40bae1
jmp 0x40b2dc
mov eax, dword [ebp - 0x1b8]
sub eax, 0xdd428d7e
je 0x40cb6e
jmp 0x40b2f2
mov eax, dword [ebp - 0x1b8]
sub eax, 0xddc1d313
je 0x40cdd2
jmp 0x40b308
mov eax, dword [ebp - 0x1b8]
sub eax, 0xe07dafba
je 0x40cbca
jmp 0x40b31e
mov eax, dword [ebp - 0x1b8]
sub eax, 0xeb0409aa
je 0x40c989
jmp 0x40b334
mov eax, dword [ebp - 0x1b8]
sub eax, 0xebb1611b
je 0x40ccf0
jmp 0x40b34a
mov eax, dword [ebp - 0x1b8]
sub eax, 0xed275d0f
je 0x40bc08
jmp 0x40b360
mov eax, dword [ebp - 0x1b8]
sub eax, 0xee8a75c7
je 0x40be5d
jmp 0x40b376
mov eax, dword [ebp - 0x1b8]
sub eax, 0xf4723fbe
je 0x40bcfb
jmp 0x40b38c
mov eax, dword [ebp - 0x1b8]
sub eax, 0xf889855f
je 0x40c9f7
jmp 0x40b3a2
mov eax, dword [ebp - 0x1b8]
sub eax, 0xf8ff417f
je 0x40bb57
jmp 0x40b3b8
mov eax, dword [ebp - 0x1b8]
sub eax, 0xff876664
je 0x40c3bb
jmp 0x40b3ce
mov eax, dword [ebp - 0x1b8]
sub eax, 0xbda197
je 0x40cded
jmp 0x40b3e4
mov eax, dword [ebp - 0x1b8]
sub eax, 0xfc5be5d
je 0x40c1a6
jmp 0x40b3fa
mov eax, dword [ebp - 0x1b8]
sub eax, 0xfdb3b11
je 0x40b9cd
jmp 0x40b410
mov eax, dword [ebp - 0x1b8]
sub eax, 0x1189507d
je 0x40c6d4
jmp 0x40b426
mov eax, dword [ebp - 0x1b8]
sub eax, 0x139b1196
je 0x40ce71
jmp 0x40b43c
mov eax, dword [ebp - 0x1b8]
sub eax, 0x19943328
je 0x40cf6d
jmp 0x40b452
mov eax, dword [ebp - 0x1b8]
sub eax, 0x1e921174
je 0x40c06c
jmp 0x40b468
mov eax, dword [ebp - 0x1b8]
sub eax, 0x1ee11602
je 0x40cf4f
jmp 0x40b47e
mov eax, dword [ebp - 0x1b8]
sub eax, 0x1f3c52a1
je 0x40c0da
jmp 0x40b494
mov eax, dword [ebp - 0x1b8]
sub eax, 0x21cf69b8
je 0x40c770
jmp 0x40b4aa
mov eax, dword [ebp - 0x1b8]
sub eax, 0x23b9190c
je 0x40c2a8
jmp 0x40b4c0
mov eax, dword [ebp - 0x1b8]
sub eax, 0x2b46cec4
je 0x40ce0b
jmp 0x40b4d6
mov eax, dword [ebp - 0x1b8]
sub eax, 0x2f47073d
je 0x40cb7d
jmp 0x40b4ec
mov eax, dword [ebp - 0x1b8]
sub eax, 0x311ee8bb
je 0x40cf40
jmp 0x40b502
mov eax, dword [ebp - 0x1b8]
sub eax, 0x31876121
je 0x40cbad
jmp 0x40b518
mov eax, dword [ebp - 0x1b8]
sub eax, 0x32cb34cd
je 0x40c248
jmp 0x40b52e
mov eax, dword [ebp - 0x1b8]
sub eax, 0x32d32597
je 0x40cd66
jmp 0x40b544
mov eax, dword [ebp - 0x1b8]
sub eax, 0x3a5745fb
je 0x40bad2
jmp 0x40b55a
mov eax, dword [ebp - 0x1b8]
sub eax, 0x3efa4892
je 0x40cd01
jmp 0x40b570
mov eax, dword [ebp - 0x1b8]
sub eax, 0x419b551f
je 0x40cef9
jmp 0x40b586
mov eax, dword [ebp - 0x1b8]
sub eax, 0x42a2a02b
je 0x40cd7b
jmp 0x40b59c
mov eax, dword [ebp - 0x1b8]
sub eax, 0x436d9b35
je 0x40cca2
jmp 0x40b5b2
mov eax, dword [ebp - 0x1b8]
sub eax, 0x437474f8
je 0x40bf28
jmp 0x40b5c8
mov eax, dword [ebp - 0x1b8]
sub eax, 0x4975fb36
je 0x40c8d7
jmp 0x40b5de
mov eax, dword [ebp - 0x1b8]
sub eax, 0x4d981b56
je 0x40c4a6
mov dword [ebp - 0x1b0], 0x6ad1a698
jmp 0x40cf89
mov eax, dword [ebp - 0x178]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x171], al
mov eax, dword [0x43e59c]
mov ecx, dword [0x43e598]
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, 0x32d32597
mov ecx, 0xfdb3b11
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov dl, byte [ebp - 0x171]
mov eax, 0x5d2094d0
mov ecx, 0xdc19ec00
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
mov edx, ecx
add edx, 0xed20041e
sub edx, 1
sub edx, 0xed20041e
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, 0x42a2a02b
mov ecx, 0x3a5745fb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0xebb1611b
jmp 0x40cf89
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
mov edx, ecx
add edx, 0xe9ca0776
sub edx, 1
sub edx, 0xe9ca0776
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, 0xc2705da3
mov ecx, 0xf8ff417f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x188]
lea eax, [ebp - 0x11c]
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 - 0x11c]
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x16c], eax
mov eax, dword [0x43e59c]
mov ecx, dword [0x43e598]
mov edx, eax
sub edx, 0x5d9d6df2
sub edx, 1
add edx, 0x5d9d6df2
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, 0xc2705da3
mov ecx, 0x67ffcdb3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x110]
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 dword [ebp - 0x168], eax
mov dword [ebp - 0x1b0], 0x8e9a00bb
jmp 0x40cf89
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
mov edx, ecx
add edx, 0x7f3ae756
sub edx, 1
sub edx, 0x7f3ae756
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, 0xddc1d313
mov ecx, 0xf4723fbe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x194], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x194], eax
sete al
and al, 1
mov byte [ebp - 0x161], al
mov eax, dword [0x43e59c]
mov ecx, dword [0x43e598]
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, 0xddc1d313
mov ecx, 0xac77ab16
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov dl, byte [ebp - 0x161]
mov eax, 0xee8a75c7
mov ecx, 0x58b75133
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
mov edx, ecx
sub edx, 0x2ec432dc
sub edx, 1
add edx, 0x2ec432dc
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, 0xbda197
mov ecx, 0xa9be6e57
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0xebb1611b
jmp 0x40cf89
mov eax, dword [0x43e59c]
mov ecx, dword [0x43e598]
mov edx, eax
add edx, 0x538f64ca
sub edx, 1
sub edx, 0x538f64ca
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, 0xab54267a
mov ecx, 0x5b21d675
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0xd4ce8f69
jmp 0x40cf89
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
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, 0x2b46cec4
mov ecx, 0x716e2c6d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0x1e921174
jmp 0x40cf89
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
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, 0x84074f5d
mov ecx, 0x1f3c52a1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
setne al
and al, 1
mov byte [ebp - 0x155], al
mov eax, dword [0x43e59c]
mov ecx, dword [0x43e598]
mov edx, eax
add edx, 0xf911f967
sub edx, 1
sub edx, 0xf911f967
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, 0x84074f5d
mov ecx, 0x5f1efe93
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1b0], 0xcb7cd782
jmp 0x40cf89
mov eax, dword [ebp - 0x154]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b0], 0xfc5be5d
jmp 0x40cf89
mov eax, dword [0x43e59c]
mov ecx, dword [0x43e598]
mov edx, eax
add edx, 0x6747d615
sub edx, 1
sub edx, 0x6747d615
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, 0x139b1196
mov ecx, 0x9504a98c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov eax, dword [0x43e59c]
mov ecx, dword [0x43e598]
mov edx, eax
add edx, 0xe0d1d492
sub edx, 1
sub edx, 0xe0d1d492
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, 0x139b1196
mov ecx, 0x32cb34cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0xebb1611b
jmp 0x40cf89
mov eax, dword [ebp - 0x198]
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 dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x14c], eax
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
mov edx, ecx
add edx, 0x836e60a6
sub edx, 1
sub edx, 0x836e60a6
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, 0x74764840
mov ecx, 0x5dd5c247
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x14c]
add eax, 0xcef9db8a
add eax, ecx
sub eax, 0xcef9db8a
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x1b0], 0xff876664
jmp 0x40cf89
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
mov edx, ecx
add edx, 0xaeeb8526
sub edx, 1
sub edx, 0xaeeb8526
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, 0xb288d1a7
mov ecx, 0x66e289de
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov ax, word [ebp - 0x140]
movzx ecx, ax
mov eax, dword [ebp - 0x144]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x13d], al
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
mov edx, ecx
add edx, 0x9c6fefe0
sub edx, 1
sub edx, 0x9c6fefe0
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, 0x419b551f
mov ecx, 0x8a474d76
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0xa06bfa8c
jmp 0x40cf89
mov dl, byte [ebp - 0x13d]
mov eax, 0xe07dafba
mov ecx, 0xdab27f9a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov eax, dword [ebp - 0x1a4]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x1b0], 0x5daa18fa
jmp 0x40cf89
mov eax, dword [0x43e59c]
mov ecx, dword [0x43e598]
mov edx, eax
add edx, 0x52bd1b7b
sub edx, 1
sub edx, 0x52bd1b7b
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, 0x804f1f59
mov ecx, 0x1189507d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov ecx, dword [ebp - 0x138]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x436955
call fcn.0042b0d0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x131], al
mov eax, dword [0x43e59c]
mov ecx, dword [0x43e598]
mov edx, eax
sub edx, 0xc679a9b5
sub edx, 1
add edx, 0xc679a9b5
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, 0x804f1f59
mov ecx, 0xc1405ade
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov dl, byte [ebp - 0x131]
mov eax, 0x21cf69b8
mov ecx, 0xeb0409aa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov eax, dword [ebp - 0x180]
mov dword [eax], 0
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x1ac]
mov eax, dword [eax + 0xc]
add edx, 0x9d0c8a26
add edx, eax
sub edx, 0x9d0c8a26
mov eax, dword [ebp - 0x180]
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 - 0x17c]
mov byte [eax], cl
mov dword [ebp - 0x1b0], 0x90f3c44a
jmp 0x40cf89
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
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, 0x311ee8bb
mov ecx, 0xa8f7bca5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x1ac]
mov ecx, dword [ecx + 0xc]
sub eax, 0xcbb2cb00
add eax, ecx
add eax, 0xcbb2cb00
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x1ac]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x128], eax
mov eax, dword [0x43e59c]
mov ecx, dword [0x43e598]
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, 0x311ee8bb
mov ecx, 0x4975fb36
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0x7e9278c8
jmp 0x40cf89
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
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, 0x1ee11602
mov ecx, 0xf889855f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
mov edx, ecx
add edx, 0xbd788fb3
sub edx, 1
sub edx, 0xbd788fb3
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, 0x1ee11602
mov ecx, 0x8e66ffe5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0xb02b6ce4
jmp 0x40cf89
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
mov edx, ecx
sub edx, 0xefe06213
sub edx, 1
add edx, 0xefe06213
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, 0x5f7f2484
mov ecx, 0x70e062be
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0x2f47073d
jmp 0x40cf89
mov ax, word [ebp - 0x124]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x122], ax
mov dword [ebp - 0x1b0], 0x31876121
jmp 0x40cf89
mov ax, word [ebp - 0x122]
mov word [ebp - 0x1a6], ax
mov dword [ebp - 0x1b0], 0x4d981b56
jmp 0x40cf89
mov ecx, dword [0x43e59c]
mov eax, dword [0x43e598]
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, 0x19943328
mov ecx, 0x6fcef58a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1b0], eax
jmp 0x40cf89
mov eax, dword [ebp - 0x198]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x1b0], 0x59cede65
jmp 0x40cf89
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00426ab0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x184], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.004277d0
add esp, 0xc
mov eax, dword [ebp - 0x184]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x1b0], 0x5ac9fe8e
jmp 0x40cf89
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1b0], 0x92f9cbf4
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0xb71a9122
jmp 0x40cf89
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x188]
lea eax, [ebp - 0x11c]
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 - 0x11c]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x1b0], 0xf8ff417f
jmp 0x40cf89
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x1b0], 0xf4723fbe
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0x833d00af
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0x5b21d675
jmp 0x40cf89
mov eax, dword [ebp - 0x160]
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 - 0x1b0], 0x716e2c6d
jmp 0x40cf89
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x1b0], 0x1f3c52a1
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0x9504a98c
jmp 0x40cf89
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x1a4], eax
mov word [ebp - 0x1a6], 0
mov dword [ebp - 0x1b0], 0x66e289de
jmp 0x40cf89
mov ax, word [ebp - 0x140]
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x1b0], 0xc5b9616f
jmp 0x40cf89
mov ecx, dword [ebp - 0x138]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x436955
call fcn.0042b0d0
add esp, 8
mov dword [ebp - 0x1b0], 0x1189507d
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0xa8f7bca5
jmp 0x40cf89
mov dword [ebp - 0x1b0], 0xf889855f
jmp 0x40cf89
mov eax, dword [ebp - 0x194]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1b0], 0x6fcef58a
jmp 0x40b058