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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x19c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a4], eax
mov eax, dword [0x43c080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1a0], 0x601c79d1
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a8], eax
sub eax, 0x80d8aa0a
je 0x40d070
jmp 0x40c255
mov eax, dword [ebp - 0x1a8]
sub eax, 0x836925e4
je 0x40d8f4
jmp 0x40c26b
mov eax, dword [ebp - 0x1a8]
sub eax, 0x845a3a18
je 0x40d379
jmp 0x40c281
mov eax, dword [ebp - 0x1a8]
sub eax, 0x84654857
je 0x40cbd5
jmp 0x40c297
mov eax, dword [ebp - 0x1a8]
sub eax, 0x9296ce8b
je 0x40dbaa
jmp 0x40c2ad
mov eax, dword [ebp - 0x1a8]
sub eax, 0x92a712a7
je 0x40ccde
jmp 0x40c2c3
mov eax, dword [ebp - 0x1a8]
sub eax, 0x9407211a
je 0x40cdb9
jmp 0x40c2d9
mov eax, dword [ebp - 0x1a8]
sub eax, 0x96742f0a
je 0x40db3e
jmp 0x40c2ef
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa58ce7f5
je 0x40cad1
jmp 0x40c305
mov eax, dword [ebp - 0x1a8]
sub eax, 0xa5ffb821
je 0x40d89d
jmp 0x40c31b
mov eax, dword [ebp - 0x1a8]
sub eax, 0xaa8eb902
je 0x40db4d
jmp 0x40c331
mov eax, dword [ebp - 0x1a8]
sub eax, 0xaa8fc205
je 0x40cac2
jmp 0x40c347
mov eax, dword [ebp - 0x1a8]
sub eax, 0xab2afbdb
je 0x40c9b7
jmp 0x40c35d
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb22b68d1
je 0x40d3a1
jmp 0x40c373
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb3b7f508
je 0x40d6cf
jmp 0x40c389
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb580ec75
je 0x40db8c
jmp 0x40c39f
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb5c8f2f0
je 0x40db5c
jmp 0x40c3b5
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb64ae1c5
je 0x40d82f
jmp 0x40c3cb
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb6c644d2
je 0x40d486
jmp 0x40c3e1
mov eax, dword [ebp - 0x1a8]
sub eax, 0xb90855c5
je 0x40dbbf
jmp 0x40c3f7
mov eax, dword [ebp - 0x1a8]
sub eax, 0xc11d5d71
je 0x40db6b
jmp 0x40c40d
mov eax, dword [ebp - 0x1a8]
sub eax, 0xc5564ac3
je 0x40d004
jmp 0x40c423
mov eax, dword [ebp - 0x1a8]
sub eax, 0xc8e39447
je 0x40d27f
jmp 0x40c439
mov eax, dword [ebp - 0x1a8]
sub eax, 0xc8e7405a
je 0x40d3f2
jmp 0x40c44f
mov eax, dword [ebp - 0x1a8]
sub eax, 0xcae43f6d
je 0x40da4f
jmp 0x40c465
mov eax, dword [ebp - 0x1a8]
sub eax, 0xcdd8f2d0
je 0x40d5a1
jmp 0x40c47b
mov eax, dword [ebp - 0x1a8]
sub eax, 0xcf0bd225
je 0x40d21f
jmp 0x40c491
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd3eaa1d8
je 0x40cbe4
jmp 0x40c4a7
mov eax, dword [ebp - 0x1a8]
sub eax, 0xd75f9c3c
je 0x40d2eb
jmp 0x40c4bd
mov eax, dword [ebp - 0x1a8]
sub eax, 0xda1981f5
je 0x40dac3
jmp 0x40c4d3
mov eax, dword [ebp - 0x1a8]
sub eax, 0xdc528698
je 0x40cf09
jmp 0x40c4e9
mov eax, dword [ebp - 0x1a8]
sub eax, 0xdf2fe5bb
je 0x40cb47
jmp 0x40c4ff
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe0bcb5ec
je 0x40cf75
jmp 0x40c515
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe5ad186e
je 0x40db9b
jmp 0x40c52b
mov eax, dword [ebp - 0x1a8]
sub eax, 0xe5fc9b2c
je 0x40ceac
jmp 0x40c541
mov eax, dword [ebp - 0x1a8]
sub eax, 0xec8c4ffe
je 0x40dbea
jmp 0x40c557
mov eax, dword [ebp - 0x1a8]
sub eax, 0xeec88c9b
je 0x40d91e
jmp 0x40c56d
mov eax, dword [ebp - 0x1a8]
sub eax, 0xf3db59c9
je 0x40d903
jmp 0x40c583
mov eax, dword [ebp - 0x1a8]
sub eax, 0xf4359000
je 0x40d98c
jmp 0x40c599
mov eax, dword [ebp - 0x1a8]
sub eax, 0xf4ff76f5
je 0x40d22e
jmp 0x40c5af
mov eax, dword [ebp - 0x1a8]
sub eax, 0x25106a
je 0x40d52b
jmp 0x40c5c5
mov eax, dword [ebp - 0x1a8]
sub eax, 0xbb1e8ea
je 0x40d7da
jmp 0x40c5db
mov eax, dword [ebp - 0x1a8]
sub eax, 0xbf25931
je 0x40c9a8
jmp 0x40c5f1
mov eax, dword [ebp - 0x1a8]
sub eax, 0xcdf34db
je 0x40cf18
jmp 0x40c607
mov eax, dword [ebp - 0x1a8]
sub eax, 0x1d02bc46
je 0x40ce27
jmp 0x40c61d
mov eax, dword [ebp - 0x1a8]
sub eax, 0x220c193b
je 0x40c924
jmp 0x40c633
mov eax, dword [ebp - 0x1a8]
sub eax, 0x26d317e1
je 0x40cccf
jmp 0x40c649
mov eax, dword [ebp - 0x1a8]
sub eax, 0x2a0cf966
je 0x40ce36
jmp 0x40c65f
mov eax, dword [ebp - 0x1a8]
sub eax, 0x2fc2ebe5
je 0x40d73d
jmp 0x40c675
mov eax, dword [ebp - 0x1a8]
sub eax, 0x31fac26b
je 0x40d0e6
jmp 0x40c68b
mov eax, dword [ebp - 0x1a8]
sub eax, 0x324e1a86
je 0x40db0b
jmp 0x40c6a1
mov eax, dword [ebp - 0x1a8]
sub eax, 0x35f89e77
je 0x40d4b0
jmp 0x40c6b7
mov eax, dword [ebp - 0x1a8]
sub eax, 0x36d8cbe2
je 0x40d7e9
jmp 0x40c6cd
mov eax, dword [ebp - 0x1a8]
sub eax, 0x4194d51f
je 0x40cf96
jmp 0x40c6e3
mov eax, dword [ebp - 0x1a8]
sub eax, 0x45b78b81
je 0x40da0a
jmp 0x40c6f9
mov eax, dword [ebp - 0x1a8]
sub eax, 0x45cfd643
je 0x40d1ce
jmp 0x40c70f
mov eax, dword [ebp - 0x1a8]
sub eax, 0x49ce73ae
je 0x40d149
jmp 0x40c725
mov eax, dword [ebp - 0x1a8]
sub eax, 0x5084a9c8
je 0x40d4e8
jmp 0x40c73b
mov eax, dword [ebp - 0x1a8]
sub eax, 0x51d64f78
je 0x40d361
jmp 0x40c751
mov eax, dword [ebp - 0x1a8]
sub eax, 0x5565eaa6
je 0x40d2dc
jmp 0x40c767
mov eax, dword [ebp - 0x1a8]
sub eax, 0x569ed3b9
je 0x40caa1
jmp 0x40c77d
mov eax, dword [ebp - 0x1a8]
sub eax, 0x57b3ef36
je 0x40d662
jmp 0x40c793
mov eax, dword [ebp - 0x1a8]
sub eax, 0x59d5e2bc
je 0x40dc07
jmp 0x40c7a9
mov eax, dword [ebp - 0x1a8]
sub eax, 0x601c79d1
je 0x40c8b6
jmp 0x40c7bf
mov eax, dword [ebp - 0x1a8]
sub eax, 0x615fe664
je 0x40d9fb
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
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, 0xcae43f6d
mov ecx, 0x220c193b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov eax, dword [ebp - 0x1a4]
push eax
mov ecx, esp
mov dword [ebp - 0x174], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x170], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x178], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x17c], eax
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
mov edx, eax
sub edx, 0xce4c4d4f
sub edx, 1
add edx, 0xce4c4d4f
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, 0xcae43f6d
mov ecx, 0xbf25931
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0xab2afbdb
jmp 0x40dc23
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
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, 0x6821465e
mov ecx, 0x6e7a21eb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov dl, byte [ebp - 0x165]
mov eax, 0xaa8fc205
mov ecx, 0xa58ce7f5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0x7feded97
jmp 0x40dc23
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
sub edx, 0x5e71389d
sub edx, 1
add edx, 0x5e71389d
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, 0xda1981f5
mov ecx, 0xdf2fe5bb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
lea eax, [ebp - 0x120]
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 - 0x120]
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0x164], eax
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
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, 0xda1981f5
mov ecx, 0x84654857
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0xd3eaa1d8
jmp 0x40dc23
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0x8e34165d
sub edx, 1
sub edx, 0x8e34165d
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, 0x324e1a86
mov ecx, 0x73004dd1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0x92a712a7
jmp 0x40dc23
lea eax, [ebp - 0x114]
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 - 0x188], eax
mov edx, 0xffffffff
mov eax, 0x2a0cf966
mov ecx, 0x7cb72a2e
cmp dword [ebp - 0x188], edx
cmove eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
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, 0x96742f0a
mov ecx, 0x1d02bc46
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0x7feded97
jmp 0x40dc23
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
sub edx, 0xff47e10b
sub edx, 1
add edx, 0xff47e10b
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, 0xaa8eb902
mov ecx, 0xe5fc9b2c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x160], eax
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
mov edx, eax
sub edx, 0xb0a92651
sub edx, 1
add edx, 0xb0a92651
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, 0xaa8eb902
mov ecx, 0xdc528698
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0xcdf34db
jmp 0x40dc23
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 - 0x18c], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x1a0], 0xe0bcb5ec
jmp 0x40dc23
mov edx, dword [ebp - 0x15c]
mov eax, 0x4194d51f
mov ecx, 0xf4ff76f5
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
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, 0xb5c8f2f0
mov ecx, 0xc5564ac3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x158], eax
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
mov edx, eax
add edx, 0x9d9566e2
sub edx, 1
sub edx, 0x9d9566e2
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, 0xb5c8f2f0
mov ecx, 0x715251b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0xae6bb0d2
sub edx, 1
sub edx, 0xae6bb0d2
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, 0xc11d5d71
mov ecx, 0x31fac26b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov eax, dword [ebp - 0x158]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
mov edx, eax
sub edx, 0xd7b95bb
sub edx, 1
add edx, 0xd7b95bb
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, 0xc11d5d71
mov ecx, 0x49ce73ae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0x6bff1550
jmp 0x40dc23
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
mov edx, eax
add edx, 0x2f8a6012
sub edx, 1
sub edx, 0x2f8a6012
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, 0xb580ec75
mov ecx, 0xcf0bd225
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0x7feded97
jmp 0x40dc23
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
mov edx, eax
add edx, 0x80ebc263
sub edx, 1
sub edx, 0x80ebc263
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, 0xe5ad186e
mov ecx, 0xc8e39447
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x154], eax
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
mov edx, eax
add edx, 0xecac27bc
sub edx, 1
sub edx, 0xecac27bc
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, 0xe5ad186e
mov ecx, 0x5565eaa6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0xd75f9c3c
jmp 0x40dc23
mov eax, dword [ebp - 0x154]
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 - 0x190], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x194]
mov ecx, dword [ecx + 0x3c]
add eax, 0x15618c69
add eax, ecx
sub eax, 0x15618c69
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x1a0], 0x51d64f78
jmp 0x40dc23
mov word [ebp - 0x19a], 0
mov dword [ebp - 0x1a0], 0x845a3a18
jmp 0x40dc23
movzx eax, word [ebp - 0x19a]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x1a0], 0xb22b68d1
jmp 0x40dc23
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
mov edx, eax
sub edx, 0xd0de6328
sub edx, 1
add edx, 0xd0de6328
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, 0x9296ce8b
mov ecx, 0xc8e7405a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov eax, dword [ebp - 0x14c]
add eax, 4
mov dword [ebp - 0x148], eax
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0xaa5fd425
sub edx, 1
sub edx, 0xaa5fd425
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, 0x9296ce8b
mov ecx, 0x642009c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov eax, dword [ebp - 0x148]
movzx esi, word [eax + 2]
mov edx, dword [ebp - 0x150]
mov eax, 0xf3db59c9
mov ecx, 0x35f89e77
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov eax, dword [ebp - 0x198]
add eax, 0x584b8cde
add eax, 0x18
sub eax, 0x584b8cde
mov ecx, dword [ebp - 0x198]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x1a0], 0x5084a9c8
jmp 0x40dc23
mov ecx, dword [ebp - 0x144]
movzx eax, word [ebp - 0x19a]
imul eax, eax, 0x28
add ecx, 0x387e5cc0
add ecx, eax
sub ecx, 0x387e5cc0
mov eax, dword [ebp - 0x174]
mov dword [eax], ecx
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x1a0], 0x25106a
jmp 0x40dc23
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0xd72a18c9
sub edx, 1
sub edx, 0xd72a18c9
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, 0xb90855c5
mov ecx, 0xcdd8f2d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov ecx, dword [ebp - 0x140]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x435be8
call fcn.0042a4d0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x139], al
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
mov edx, ecx
add edx, 0x26a9fd7c
sub edx, 1
sub edx, 0x26a9fd7c
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, 0xb90855c5
mov ecx, 0x7d34b444
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov eax, dword [ebp - 0x170]
mov dword [eax], 0
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0xa20e4ba1
add edx, eax
add edx, 0xa20e4ba1
mov eax, dword [ebp - 0x170]
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]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x1a0], 0xb3b7f508
jmp 0x40dc23
mov eax, dword [ebp - 0x138]
cmp eax, 0
setne cl
and cl, 1
mov eax, dword [ebp - 0x16c]
mov byte [eax], cl
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x174]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x174]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
sub eax, 0xfaf1edc7
add eax, ecx
add eax, 0xfaf1edc7
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x1a0], 0x2fc2ebe5
jmp 0x40dc23
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x134]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00426d30
add esp, 0xc
mov eax, dword [ebp - 0x170]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x184]
mov eax, dword [ebp - 0x174]
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 - 0x170]
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 - 0x16c]
mov byte [eax], cl
mov dword [ebp - 0x1a0], 0xbb1e8ea
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0x36d8cbe2
jmp 0x40dc23
mov ax, word [ebp - 0x19a]
mov word [ebp - 0x12c], ax
mov dword [ebp - 0x1a0], 0x67320e12
jmp 0x40dc23
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
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, 0xec8c4ffe
mov ecx, 0xa5ffb821
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov ax, word [ebp - 0x12a]
mov word [ebp - 0x19a], ax
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
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, 0xec8c4ffe
mov ecx, 0x836925e4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0x845a3a18
jmp 0x40dc23
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x1a0], 0xeec88c9b
jmp 0x40dc23
mov ecx, dword [0x43d554]
mov eax, dword [0x43d550]
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, 0x59d5e2bc
mov ecx, 0xf4359000
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov eax, dword [ebp - 0x128]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x124], eax
mov eax, dword [0x43d554]
mov ecx, dword [0x43d550]
mov edx, eax
add edx, 0xc4ebb8e5
sub edx, 1
sub edx, 0xc4ebb8e5
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, 0x59d5e2bc
mov ecx, 0x615fe664
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a0], eax
jmp 0x40dc23
mov eax, dword [ebp - 0x124]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x17c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a0], 0x7feded97
jmp 0x40dc23
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x178], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x1a0], 0x220c193b
jmp 0x40dc23
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
lea eax, [ebp - 0x120]
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 - 0x120]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x1a0], 0xdf2fe5bb
jmp 0x40dc23
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x164]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dword [ebp - 0x1a0], 0x73004dd1
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0x9407211a
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0xe5fc9b2c
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0xc5564ac3
jmp 0x40dc23
mov eax, dword [ebp - 0x158]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a0], 0x31fac26b
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0x45cfd643
jmp 0x40dc23
mov dword [ebp - 0x1a0], 0xc8e39447
jmp 0x40dc23
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x1a0], 0xc8e7405a
jmp 0x40dc23
mov ecx, dword [ebp - 0x140]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x435be8
call fcn.0042a4d0
add esp, 8
mov dword [ebp - 0x1a0], 0xcdd8f2d0
jmp 0x40dc23
mov ax, word [ebp - 0x12a]
mov word [ebp - 0x19a], ax
mov dword [ebp - 0x1a0], 0xa5ffb821
jmp 0x40dc23
mov eax, dword [ebp - 0x128]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a0], 0xf4359000
jmp 0x40c239