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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1a8
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1ac], eax
mov eax, dword [0x43c080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1a8], 0x70a21a6d
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1b0], eax
sub eax, 0x800b039e
je 0x40ae39
jmp 0x40a184
mov eax, dword [ebp - 0x1b0]
sub eax, 0x81e0c862
je 0x40b9ea
jmp 0x40a19a
mov eax, dword [ebp - 0x1b0]
sub eax, 0x854cd32c
je 0x40b6a4
jmp 0x40a1b0
mov eax, dword [ebp - 0x1b0]
sub eax, 0x902ec53d
je 0x40ba93
jmp 0x40a1c6
mov eax, dword [ebp - 0x1b0]
sub eax, 0x94f4a5d9
je 0x40b33b
jmp 0x40a1dc
mov eax, dword [ebp - 0x1b0]
sub eax, 0x967afa6b
je 0x40ac0f
jmp 0x40a1f2
mov eax, dword [ebp - 0x1b0]
sub eax, 0x9ee89553
je 0x40b203
jmp 0x40a208
mov eax, dword [ebp - 0x1b0]
sub eax, 0xa14efc63
je 0x40baff
jmp 0x40a21e
mov eax, dword [ebp - 0x1b0]
sub eax, 0xa2b48be4
je 0x40b14e
jmp 0x40a234
mov eax, dword [ebp - 0x1b0]
sub eax, 0xa4faf378
je 0x40a9be
jmp 0x40a24a
mov eax, dword [ebp - 0x1b0]
sub eax, 0xa5d25465
je 0x40ad57
jmp 0x40a260
mov eax, dword [ebp - 0x1b0]
sub eax, 0xa900b553
je 0x40ba75
jmp 0x40a276
mov eax, dword [ebp - 0x1b0]
sub eax, 0xac4a3858
je 0x40b13f
jmp 0x40a28c
mov eax, dword [ebp - 0x1b0]
sub eax, 0xb29e8b49
je 0x40b3d2
jmp 0x40a2a2
mov eax, dword [ebp - 0x1b0]
sub eax, 0xb2cdb7a8
je 0x40aa6b
jmp 0x40a2b8
mov eax, dword [ebp - 0x1b0]
sub eax, 0xb2d109ce
je 0x40bbde
jmp 0x40a2ce
mov eax, dword [ebp - 0x1b0]
sub eax, 0xb89ff070
je 0x40bb5a
jmp 0x40a2e4
mov eax, dword [ebp - 0x1b0]
sub eax, 0xbe673228
je 0x40bb9f
jmp 0x40a2fa
mov eax, dword [ebp - 0x1b0]
sub eax, 0xbecc61bd
je 0x40af6a
jmp 0x40a310
mov eax, dword [ebp - 0x1b0]
sub eax, 0xc6195a0f
je 0x40b51c
jmp 0x40a326
mov eax, dword [ebp - 0x1b0]
sub eax, 0xc77afd1a
je 0x40bbba
jmp 0x40a33c
mov eax, dword [ebp - 0x1b0]
sub eax, 0xcfedbb32
je 0x40ab57
jmp 0x40a352
mov eax, dword [ebp - 0x1b0]
sub eax, 0xd9655e51
je 0x40b966
jmp 0x40a368
mov eax, dword [ebp - 0x1b0]
sub eax, 0xdfa2ffef
je 0x40ae58
jmp 0x40a37e
mov eax, dword [ebp - 0x1b0]
sub eax, 0xe09b2c36
je 0x40b26d
jmp 0x40a394
mov eax, dword [ebp - 0x1b0]
sub eax, 0xe282fe20
je 0x40af4c
jmp 0x40a3aa
mov eax, dword [ebp - 0x1b0]
sub eax, 0xe2f2c59f
je 0x40aca6
jmp 0x40a3c0
mov eax, dword [ebp - 0x1b0]
sub eax, 0xe394b9c5
je 0x40ae0f
jmp 0x40a3d6
mov eax, dword [ebp - 0x1b0]
sub eax, 0xe5ca0c70
je 0x40b35c
jmp 0x40a3ec
mov eax, dword [ebp - 0x1b0]
sub eax, 0xe82b327d
je 0x40a966
jmp 0x40a402
mov eax, dword [ebp - 0x1b0]
sub eax, 0xe8ba9b66
je 0x40b8c3
jmp 0x40a418
mov eax, dword [ebp - 0x1b0]
sub eax, 0xf0340936
je 0x40b44e
jmp 0x40a42e
mov eax, dword [ebp - 0x1b0]
sub eax, 0xf86ccc01
je 0x40acf7
jmp 0x40a444
mov eax, dword [ebp - 0x1b0]
sub eax, 0xfc34146b
je 0x40b45d
jmp 0x40a45a
mov eax, dword [ebp - 0x1b0]
sub eax, 0x13d9f81
je 0x40b0c4
jmp 0x40a470
mov eax, dword [ebp - 0x1b0]
sub eax, 0x6c0c575
je 0x40bc28
jmp 0x40a486
mov eax, dword [ebp - 0x1b0]
sub eax, 0x72e6837
je 0x40ba84
jmp 0x40a49c
mov eax, dword [ebp - 0x1b0]
sub eax, 0x7bda8ea
je 0x40b9db
jmp 0x40a4b2
mov eax, dword [ebp - 0x1b0]
sub eax, 0x9794998
je 0x40bbc9
jmp 0x40a4c8
mov eax, dword [ebp - 0x1b0]
sub eax, 0xf3c1c2b
je 0x40b804
jmp 0x40a4de
mov eax, dword [ebp - 0x1b0]
sub eax, 0x10d7043c
je 0x40ae1e
jmp 0x40a4f4
mov eax, dword [ebp - 0x1b0]
sub eax, 0x13fb3292
je 0x40b4cb
jmp 0x40a50a
mov eax, dword [ebp - 0x1b0]
sub eax, 0x140bd1ba
je 0x40b796
jmp 0x40a520
mov eax, dword [ebp - 0x1b0]
sub eax, 0x18b1d9b1
je 0x40af5b
jmp 0x40a536
mov eax, dword [ebp - 0x1b0]
sub eax, 0x197a32b0
je 0x40b9fb
jmp 0x40a54c
mov eax, dword [ebp - 0x1b0]
sub eax, 0x1c16233b
je 0x40aada
jmp 0x40a562
mov eax, dword [ebp - 0x1b0]
sub eax, 0x1f14c083
je 0x40b5b4
jmp 0x40a578
mov eax, dword [ebp - 0x1b0]
sub eax, 0x2012b718
je 0x40aa4a
jmp 0x40a58e
mov eax, dword [ebp - 0x1b0]
sub eax, 0x241feca4
je 0x40b2ea
jmp 0x40a5a4
mov eax, dword [ebp - 0x1b0]
sub eax, 0x2588a764
je 0x40b678
jmp 0x40a5ba
mov eax, dword [ebp - 0x1b0]
sub eax, 0x27a103f0
je 0x40ac30
jmp 0x40a5d0
mov eax, dword [ebp - 0x1b0]
sub eax, 0x28467de7
je 0x40ad06
jmp 0x40a5e6
mov eax, dword [ebp - 0x1b0]
sub eax, 0x39e54bc3
je 0x40b764
jmp 0x40a5fc
mov eax, dword [ebp - 0x1b0]
sub eax, 0x3a751b0d
je 0x40a975
jmp 0x40a612
mov eax, dword [ebp - 0x1b0]
sub eax, 0x3cd193ec
je 0x40b27c
jmp 0x40a628
mov eax, dword [ebp - 0x1b0]
sub eax, 0x3fd6e103
je 0x40b88a
jmp 0x40a63e
mov eax, dword [ebp - 0x1b0]
sub eax, 0x46e90454
je 0x40b15d
jmp 0x40a654
mov eax, dword [ebp - 0x1b0]
sub eax, 0x477ad5f5
je 0x40bade
jmp 0x40a66a
mov eax, dword [ebp - 0x1b0]
sub eax, 0x4aed06f4
je 0x40b5d5
jmp 0x40a680
mov eax, dword [ebp - 0x1b0]
sub eax, 0x4e3dfd5f
je 0x40aba8
jmp 0x40a696
mov eax, dword [ebp - 0x1b0]
sub eax, 0x4f2e0a0b
je 0x40afbb
jmp 0x40a6ac
mov eax, dword [ebp - 0x1b0]
sub eax, 0x5c05c855
je 0x40b18d
jmp 0x40a6c2
mov eax, dword [ebp - 0x1b0]
sub eax, 0x5d9c124a
je 0x40b064
jmp 0x40a6d8
mov eax, dword [ebp - 0x1b0]
sub eax, 0x5fa82e6a
je 0x40b8f0
jmp 0x40a6ee
mov eax, dword [ebp - 0x1b0]
sub eax, 0x6011550f
je 0x40a85b
mov dword [ebp - 0x1a8], 0x3a751b0d
jmp 0x40bc56
mov eax, dword [0x43d564]
mov ecx, dword [0x43d560]
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, 0x7a5f2a51
mov ecx, 0xa4faf378
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 0
setne al
and al, 1
mov byte [ebp - 0x169], al
mov ecx, dword [0x43d564]
mov eax, dword [0x43d560]
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, 0x7a5f2a51
mov ecx, 0x2012b718
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dl, byte [ebp - 0x169]
mov eax, 0xb2cdb7a8
mov ecx, 0x7596b878
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0x81e0c862
jmp 0x40bc56
mov eax, dword [ebp - 0x168]
mov ecx, 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]
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 - 0x1a0], eax
mov dword [ebp - 0x1a8], 0xcfedbb32
jmp 0x40bc56
mov eax, dword [0x43d564]
mov ecx, dword [0x43d560]
mov edx, eax
sub edx, 0x4e6807dc
sub edx, 1
add edx, 0x4e6807dc
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, 0xa900b553
mov ecx, 0x4e3dfd5f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov eax, 0xffffffff
cmp dword [ebp - 0x1a0], eax
sete al
and al, 1
mov byte [ebp - 0x15d], al
mov eax, dword [0x43d564]
mov ecx, dword [0x43d560]
mov edx, eax
add edx, 0xf092601c
sub edx, 1
sub edx, 0xf092601c
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, 0xa900b553
mov ecx, 0x967afa6b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dl, byte [ebp - 0x15d]
mov eax, 0x28467de7
mov ecx, 0x27a103f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov ecx, dword [0x43d564]
mov eax, dword [0x43d560]
mov edx, ecx
add edx, 0x5a93f908
sub edx, 1
sub edx, 0x5a93f908
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, 0x72e6837
mov ecx, 0xe2f2c59f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov eax, dword [0x43d564]
mov ecx, dword [0x43d560]
mov edx, eax
sub edx, 0xc69678d4
sub edx, 1
add edx, 0xc69678d4
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, 0x72e6837
mov ecx, 0xf86ccc01
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0x81e0c862
jmp 0x40bc56
mov eax, dword [0x43d564]
mov ecx, dword [0x43d560]
mov edx, eax
add edx, 0x35a6697a
sub edx, 1
sub edx, 0x35a6697a
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, 0x902ec53d
mov ecx, 0xa5d25465
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov eax, dword [ebp - 0x1a0]
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 - 0x15c], eax
mov ecx, dword [0x43d564]
mov eax, dword [0x43d560]
mov edx, ecx
sub edx, 0xd146f601
sub edx, 1
add edx, 0xd146f601
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, 0x902ec53d
mov ecx, 0xe394b9c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0x10d7043c
jmp 0x40bc56
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a8], 0x800b039e
jmp 0x40bc56
mov eax, 0xdfa2ffef
mov ecx, 0xbecc61bd
cmp dword [ebp - 0x1a4], 0
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x1a8], 0x76bf947c
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0x18b1d9b1
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0x81e0c862
jmp 0x40bc56
mov eax, dword [0x43d564]
mov ecx, dword [0x43d560]
mov edx, eax
add edx, 0x16c2ec39
sub edx, 1
sub edx, 0x16c2ec39
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, 0xa14efc63
mov ecx, 0x4f2e0a0b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov eax, dword [ebp - 0x1a4]
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 - 0x18c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x188]
mov dword [eax], ecx
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x154], eax
mov eax, dword [0x43d564]
mov ecx, dword [0x43d560]
mov edx, eax
sub edx, 0x6c04b233
sub edx, 1
add edx, 0x6c04b233
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, 0xa14efc63
mov ecx, 0x5d9c124a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0x69e86675
jmp 0x40bc56
mov eax, dword [ebp - 0x188]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x154]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x184]
mov dword [eax], ecx
mov eax, dword [ebp - 0x180]
mov word [eax], 0
mov eax, dword [0x43d564]
mov ecx, dword [0x43d560]
mov edx, eax
sub edx, 0x40784d8d
sub edx, 1
add edx, 0x40784d8d
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, 0xb89ff070
mov ecx, 0xac4a3858
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0xa2b48be4
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0x46e90454
jmp 0x40bc56
mov eax, dword [ebp - 0x180]
movzx eax, word [eax]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
movzx eax, word [eax + 6]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x1a8], 0x5c05c855
jmp 0x40bc56
mov ecx, dword [0x43d564]
mov eax, dword [0x43d560]
mov edx, ecx
sub edx, 0x1f5e9f47
sub edx, 1
add edx, 0x1f5e9f47
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, 0xbe673228
mov ecx, 0x9ee89553
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x14c]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x145], al
mov eax, dword [0x43d564]
mov ecx, dword [0x43d560]
mov edx, eax
sub edx, 0x9b089be3
sub edx, 1
add edx, 0x9b089be3
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, 0xbe673228
mov ecx, 0xe09b2c36
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0x3cd193ec
jmp 0x40bc56
mov ecx, dword [0x43d564]
mov eax, dword [0x43d560]
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, 0xc77afd1a
mov ecx, 0x241feca4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov eax, dword [0x43d564]
mov ecx, dword [0x43d560]
mov edx, eax
sub edx, 0x1d9908f4
sub edx, 1
add edx, 0x1d9908f4
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, 0xc77afd1a
mov ecx, 0x94f4a5d9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dl, byte [ebp - 0x145]
mov eax, 0x63b1a219
mov ecx, 0xe5ca0c70
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov ecx, dword [0x43d564]
mov eax, dword [0x43d560]
mov edx, ecx
add edx, 0x4d6f6f30
sub edx, 1
sub edx, 0x4d6f6f30
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, 0x9794998
mov ecx, 0xb29e8b49
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
mov dword [ebp - 0x144], eax
mov ecx, dword [0x43d564]
mov eax, dword [0x43d560]
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, 0x9794998
mov ecx, 0xf0340936
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0xfc34146b
jmp 0x40bc56
mov ecx, dword [ebp - 0x144]
add ecx, 0xec8e8f53
add ecx, 0x18
sub ecx, 0xec8e8f53
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
add ecx, 0xac22979a
add ecx, eax
sub ecx, 0xac22979a
mov eax, dword [ebp - 0x180]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0x904ec7c3
add ecx, eax
add ecx, 0x904ec7c3
mov eax, dword [ebp - 0x17c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x1a8], 0x13fb3292
jmp 0x40bc56
mov eax, dword [0x43d564]
mov ecx, dword [0x43d560]
mov edx, eax
add edx, 0xdd078bb2
sub edx, 1
sub edx, 0xdd078bb2
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, 0xb2d109ce
mov ecx, 0xc6195a0f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov ecx, dword [ebp - 0x140]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43590b
call fcn.00429ce0
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x139], al
mov ecx, dword [0x43d564]
mov eax, dword [0x43d560]
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, 0xb2d109ce
mov ecx, 0x1f14c083
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dl, byte [ebp - 0x139]
mov eax, 0x4aed06f4
mov ecx, 0x6b8a073b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov eax, dword [ebp - 0x178]
mov dword [eax], 0
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x178]
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 - 0x174]
mov byte [eax], cl
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x17c]
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 - 0x138], eax
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x1a8], 0x2588a764
jmp 0x40bc56
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x1a8], 0x854cd32c
jmp 0x40bc56
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x12c]
sub ecx, 0x9d38ab18
add ecx, eax
add ecx, 0x9d38ab18
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x138]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00426540
add esp, 0xc
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x17c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x34d9f18f
add esi, eax
sub esi, 0x34d9f18f
mov eax, dword [ebp - 0x178]
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 - 0x174]
mov byte [eax], cl
mov dword [ebp - 0x1a8], 0x6b8a073b
jmp 0x40bc56
mov eax, dword [ebp - 0x180]
mov ax, word [eax]
xor ecx, ecx
sub cx, ax
xor eax, eax
sub ax, 1
add cx, ax
xor eax, eax
sub ax, cx
mov word [ebp - 0x126], ax
mov dword [ebp - 0x1a8], 0x140bd1ba
jmp 0x40bc56
mov ecx, dword [0x43d564]
mov eax, dword [0x43d560]
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, 0x61d032fd
mov ecx, 0xf3c1c2b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov eax, dword [ebp - 0x180]
mov cx, word [ebp - 0x126]
mov word [eax], cx
mov ecx, dword [0x43d564]
mov eax, dword [0x43d560]
mov edx, ecx
add edx, 0xf1364b0e
sub edx, 1
sub edx, 0xf1364b0e
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, 0x61d032fd
mov ecx, 0x3fd6e103
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0x6cf98ad0
jmp 0x40bc56
mov eax, dword [ebp - 0x124]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x1a8], 0x5fa82e6a
jmp 0x40bc56
mov ecx, dword [0x43d564]
mov eax, dword [0x43d560]
mov edx, ecx
add edx, 0xbdb7adc1
sub edx, 1
sub edx, 0xbdb7adc1
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, 0x6c0c575
mov ecx, 0xd9655e51
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x194]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x43d564]
mov ecx, dword [0x43d560]
mov edx, eax
sub edx, 0x9bcdc056
sub edx, 1
add edx, 0x9bcdc056
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, 0x6c0c575
mov ecx, 0x7bda8ea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0x81e0c862
jmp 0x40bc56
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.004256c0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x190], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x194], 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.004263e0
add esp, 0xc
mov eax, dword [ebp - 0x190]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x1a8], 0x6011550f
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0x4e3dfd5f
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0xe2f2c59f
jmp 0x40bc56
mov eax, dword [ebp - 0x1a0]
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 - 0x1a8], 0xa5d25465
jmp 0x40bc56
mov eax, dword [ebp - 0x158]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a8], 0x7a49a04c
jmp 0x40bc56
mov eax, dword [ebp - 0x1a4]
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 - 0x18c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x188]
mov dword [eax], ecx
mov dword [ebp - 0x1a8], 0x4f2e0a0b
jmp 0x40bc56
mov eax, dword [ebp - 0x188]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x154]
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x154]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x184]
mov dword [eax], ecx
mov eax, dword [ebp - 0x180]
mov word [eax], 0
mov dword [ebp - 0x1a8], 0x13d9f81
jmp 0x40bc56
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x1a8], 0x9ee89553
jmp 0x40bc56
mov dword [ebp - 0x1a8], 0x241feca4
jmp 0x40bc56
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x1a8], 0xb29e8b49
jmp 0x40bc56
mov ecx, dword [ebp - 0x140]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43590b
call fcn.00429ce0
add esp, 8
mov dword [ebp - 0x1a8], 0xc6195a0f
jmp 0x40bc56
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x194]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a8], 0xd9655e51
jmp 0x40a168