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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x188
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18c], eax
mov eax, dword [0x43a080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x188], 0xea5fd794
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x190], eax
sub eax, 0x80174fce
je 0x409e8a
jmp 0x4089e4
mov eax, dword [ebp - 0x190]
sub eax, 0x81474abe
je 0x409cc6
jmp 0x4089fa
mov eax, dword [ebp - 0x190]
sub eax, 0x82acd95c
je 0x40a377
jmp 0x408a10
mov eax, dword [ebp - 0x190]
sub eax, 0x8686bb0c
je 0x409e18
jmp 0x408a26
mov eax, dword [ebp - 0x190]
sub eax, 0x8981d90d
je 0x409c4b
jmp 0x408a3c
mov eax, dword [ebp - 0x190]
sub eax, 0x8da7f211
je 0x409615
jmp 0x408a52
mov eax, dword [ebp - 0x190]
sub eax, 0x9043014e
je 0x40a289
jmp 0x408a68
mov eax, dword [ebp - 0x190]
sub eax, 0x906a83ed
je 0x409c0d
jmp 0x408a7e
mov eax, dword [ebp - 0x190]
sub eax, 0x953f1ecb
je 0x409b92
jmp 0x408a94
mov eax, dword [ebp - 0x190]
sub eax, 0x99fde7d7
je 0x40939b
jmp 0x408aaa
mov eax, dword [ebp - 0x190]
sub eax, 0x9d8d945f
je 0x40a1d5
jmp 0x408ac0
mov eax, dword [ebp - 0x190]
sub eax, 0x9fb62ac2
je 0x4094cf
jmp 0x408ad6
mov eax, dword [ebp - 0x190]
sub eax, 0xa115ef29
je 0x409922
jmp 0x408aec
mov eax, dword [ebp - 0x190]
sub eax, 0xa1644aaa
je 0x40a362
jmp 0x408b02
mov eax, dword [ebp - 0x190]
sub eax, 0xa6052510
je 0x409d4a
jmp 0x408b18
mov eax, dword [ebp - 0x190]
sub eax, 0xa83fe697
je 0x40a13e
jmp 0x408b2e
mov eax, dword [ebp - 0x190]
sub eax, 0xa9db7706
je 0x40977b
jmp 0x408b44
mov eax, dword [ebp - 0x190]
sub eax, 0xb608efea
je 0x40983e
jmp 0x408b5a
mov eax, dword [ebp - 0x190]
sub eax, 0xb7673191
je 0x40927b
jmp 0x408b70
mov eax, dword [ebp - 0x190]
sub eax, 0xb81dbf4f
je 0x409f26
jmp 0x408b86
mov eax, dword [ebp - 0x190]
sub eax, 0xbf822c8d
je 0x40a2e3
jmp 0x408b9c
mov eax, dword [ebp - 0x190]
sub eax, 0xc361ecda
je 0x40a398
jmp 0x408bb2
mov eax, dword [ebp - 0x190]
sub eax, 0xc3cd50a6
je 0x409c75
jmp 0x408bc8
mov eax, dword [ebp - 0x190]
sub eax, 0xc441264a
je 0x4097cc
jmp 0x408bde
mov eax, dword [ebp - 0x190]
sub eax, 0xc6ecebd5
je 0x40a000
jmp 0x408bf4
mov eax, dword [ebp - 0x190]
sub eax, 0xc7328f05
je 0x40a330
jmp 0x408c0a
mov eax, dword [ebp - 0x190]
sub eax, 0xc7abf00b
je 0x409ae0
jmp 0x408c20
mov eax, dword [ebp - 0x190]
sub eax, 0xcab9bc66
je 0x409606
jmp 0x408c36
mov eax, dword [ebp - 0x190]
sub eax, 0xcb2e9382
je 0x4091f6
jmp 0x408c4c
mov eax, dword [ebp - 0x190]
sub eax, 0xcb623c3b
je 0x4096fe
jmp 0x408c62
mov eax, dword [ebp - 0x190]
sub eax, 0xcbba2979
je 0x40a298
jmp 0x408c78
mov eax, dword [ebp - 0x190]
sub eax, 0xd0ffee34
je 0x4098d1
jmp 0x408c8e
mov eax, dword [ebp - 0x190]
sub eax, 0xd7a95b28
je 0x409a8f
jmp 0x408ca4
mov eax, dword [ebp - 0x190]
sub eax, 0xd81d58be
je 0x409bfe
jmp 0x408cba
mov eax, dword [ebp - 0x190]
sub eax, 0xd9195cf5
je 0x40911a
jmp 0x408cd0
mov eax, dword [ebp - 0x190]
sub eax, 0xdce81053
je 0x40a428
jmp 0x408ce6
mov eax, dword [ebp - 0x190]
sub eax, 0xdd8e9ce6
je 0x4097ed
jmp 0x408cfc
mov eax, dword [ebp - 0x190]
sub eax, 0xdfbbbb4f
je 0x40a02e
jmp 0x408d12
mov eax, dword [ebp - 0x190]
sub eax, 0xea5fd794
je 0x409045
jmp 0x408d28
mov eax, dword [ebp - 0x190]
sub eax, 0xeb43bc62
je 0x40a2d4
jmp 0x408d3e
mov eax, dword [ebp - 0x190]
sub eax, 0xee9a6066
je 0x409a0a
jmp 0x408d54
mov eax, dword [ebp - 0x190]
sub eax, 0xf26f058d
je 0x40a121
jmp 0x408d6a
mov eax, dword [ebp - 0x190]
sub eax, 0xf548bce7
je 0x4099aa
jmp 0x408d80
mov eax, dword [ebp - 0x190]
sub eax, 0x34e2319
je 0x409c2b
jmp 0x408d96
mov eax, dword [ebp - 0x190]
sub eax, 0x3a74245
je 0x409d59
jmp 0x408dac
mov eax, dword [ebp - 0x190]
sub eax, 0x4498965
je 0x40970d
jmp 0x408dc2
mov eax, dword [ebp - 0x190]
sub eax, 0x44c3db1
je 0x40a278
jmp 0x408dd8
mov eax, dword [ebp - 0x190]
sub eax, 0x7a3fc49
je 0x40932d
jmp 0x408dee
mov eax, dword [ebp - 0x190]
sub eax, 0x85a422a
je 0x40a3ec
jmp 0x408e04
mov eax, dword [ebp - 0x190]
sub eax, 0xa4d2bfd
je 0x409ba1
jmp 0x408e1a
mov eax, dword [ebp - 0x190]
sub eax, 0xae66a1a
je 0x40a3a7
jmp 0x408e30
mov eax, dword [ebp - 0x190]
sub eax, 0x1525a151
je 0x409a80
jmp 0x408e46
mov eax, dword [ebp - 0x190]
sub eax, 0x155ad3aa
je 0x409205
jmp 0x408e5c
mov eax, dword [ebp - 0x190]
sub eax, 0x18bc6f59
je 0x40942c
jmp 0x408e72
mov eax, dword [ebp - 0x190]
sub eax, 0x2c686c9c
je 0x4094de
jmp 0x408e88
mov eax, dword [ebp - 0x190]
sub eax, 0x2eafeb18
je 0x40a0a4
jmp 0x408e9e
mov eax, dword [ebp - 0x190]
sub eax, 0x34fc9d1f
je 0x40a00f
jmp 0x408eb4
mov eax, dword [ebp - 0x190]
sub eax, 0x3601f12e
je 0x40941d
jmp 0x408eca
mov eax, dword [ebp - 0x190]
sub eax, 0x433d6f33
je 0x409e27
jmp 0x408ee0
mov eax, dword [ebp - 0x190]
sub eax, 0x457c1aca
je 0x40a437
jmp 0x408ef6
mov eax, dword [ebp - 0x190]
sub eax, 0x51d89dab
je 0x409ec2
jmp 0x408f0c
mov eax, dword [ebp - 0x190]
sub eax, 0x53b95875
je 0x40909c
jmp 0x408f22
mov eax, dword [ebp - 0x190]
sub eax, 0x551dce61
je 0x409554
jmp 0x408f38
mov eax, dword [ebp - 0x190]
sub eax, 0x55f759af
je 0x4098c2
jmp 0x408f4e
mov eax, dword [ebp - 0x190]
sub eax, 0x59d34584
je 0x40a401
push eax
mov eax, esp
mov dword [ebp - 0x174], eax
push eax
mov eax, esp
mov dword [ebp - 0x170], eax
push eax
mov eax, esp
mov dword [ebp - 0x16c], eax
push eax
mov eax, esp
mov dword [ebp - 0x168], eax
push eax
mov eax, esp
mov dword [ebp - 0x164], eax
push eax
mov eax, esp
mov dword [ebp - 0x160], eax
push eax
mov eax, esp
mov dword [ebp - 0x15c], eax
push eax
mov eax, esp
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x188], 0x53b95875
jmp 0x40a467
mov eax, dword [ebp - 0x18c]
push eax
mov ecx, esp
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x178], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x17c], 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.00424bb0
add esp, 0xc
mov eax, dword [ebp - 0x178]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x180], eax
mov eax, 0xd9195cf5
mov ecx, 0x155ad3aa
cmp dword [ebp - 0x180], 0
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
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, 0x9043014e
mov ecx, 0x69a3dbf8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov dword [ebp - 0x188], 0x44c3db1
jmp 0x40a467
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
mov edx, ecx
add edx, 0x4259fcbb
sub edx, 1
sub edx, 0x4259fcbb
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, 0xcbba2979
mov ecx, 0xb7673191
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
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 ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
mov edx, ecx
sub edx, 0x1f2cbb35
sub edx, 1
add edx, 0x1f2cbb35
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, 0xcbba2979
mov ecx, 0x6d091c85
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
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, 0xeb43bc62
mov ecx, 0x99fde7d7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x150], eax
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
mov edx, ecx
sub edx, 0x1391c8de
sub edx, 1
add edx, 0x1391c8de
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, 0xeb43bc62
mov ecx, 0x3601f12e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov dword [ebp - 0x188], 0x18bc6f59
jmp 0x40a467
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x180]
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 ecx, eax
mov eax, dword [ebp - 0x174]
mov dword [eax], ecx
mov edx, dword [ebp - 0x174]
mov esi, 0xffffffff
mov eax, 0x2c686c9c
mov ecx, 0x9fb62ac2
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov dword [ebp - 0x188], 0x44c3db1
jmp 0x40a467
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
mov edx, ecx
add edx, 0xe782bd72
sub edx, 1
sub edx, 0xe782bd72
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, 0xbf822c8d
mov ecx, 0x551dce61
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
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 - 0x14c], eax
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
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, 0xbf822c8d
mov ecx, 0xcab9bc66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov dword [ebp - 0x188], 0x8da7f211
jmp 0x40a467
mov eax, dword [0x43b5ac]
mov ecx, dword [0x43b5a8]
mov edx, eax
add edx, 0xd7ea669a
sub edx, 1
sub edx, 0xd7ea669a
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, 0xc7328f05
mov ecx, 0x7399d845
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov dword [ebp - 0x188], 0x4498965
jmp 0x40a467
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
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, 0x7c1faab0
mov ecx, 0xa9db7706
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov eax, dword [0x43b5ac]
mov ecx, dword [0x43b5a8]
mov edx, eax
add edx, 0xe60d290e
sub edx, 1
sub edx, 0xe60d290e
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, 0x7c1faab0
mov ecx, 0xc441264a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov dl, byte [ebp - 0x145]
mov eax, 0xdd8e9ce6
mov ecx, 0xd7a95b28
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov eax, dword [0x43b5ac]
mov ecx, dword [0x43b5a8]
mov edx, eax
add edx, 0xdc5b7f2a
sub edx, 1
sub edx, 0xdc5b7f2a
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, 0xa1644aaa
mov ecx, 0xb608efea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov dword [ebp - 0x144], eax
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
mov edx, ecx
sub edx, 0xca14d0c8
sub edx, 1
add edx, 0xca14d0c8
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, 0xa1644aaa
mov ecx, 0x55f759af
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov dword [ebp - 0x188], 0xd0ffee34
jmp 0x40a467
mov eax, dword [0x43b5ac]
mov ecx, dword [0x43b5a8]
mov edx, eax
sub edx, 0x7c60faa1
sub edx, 1
add edx, 0x7c60faa1
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, 0x82acd95c
mov ecx, 0xa115ef29
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov eax, dword [ebp - 0x144]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
mov edx, ecx
sub edx, 0x40ac3692
sub edx, 1
add edx, 0x40ac3692
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, 0x82acd95c
mov ecx, 0xf548bce7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov dword [ebp - 0x188], 0x76890009
jmp 0x40a467
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
mov edx, ecx
add edx, 0x77e219df
sub edx, 1
sub edx, 0x77e219df
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, 0xc361ecda
mov ecx, 0x1525a151
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov dword [ebp - 0x188], 0x44c3db1
jmp 0x40a467
mov eax, dword [0x43b5ac]
mov ecx, dword [0x43b5a8]
mov edx, eax
add edx, 0x6ff7ad8f
sub edx, 1
sub edx, 0x6ff7ad8f
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, 0xae66a1a
mov ecx, 0xc7abf00b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov eax, dword [ebp - 0x170]
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 dword [ebp - 0x140], eax
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
mov edx, ecx
add edx, 0x99237276
sub edx, 1
sub edx, 0x99237276
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, 0xae66a1a
mov ecx, 0x953f1ecb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov dword [ebp - 0x188], 0xa4d2bfd
jmp 0x40a467
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x140]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x168]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
add ecx, 0x1818b7a6
add ecx, eax
sub ecx, 0x1818b7a6
mov eax, dword [ebp - 0x164]
mov dword [eax], ecx
mov eax, dword [ebp - 0x160]
mov word [eax], 0
mov dword [ebp - 0x188], 0xd81d58be
jmp 0x40a467
mov dword [ebp - 0x188], 0x906a83ed
jmp 0x40a467
mov eax, dword [ebp - 0x160]
movzx eax, word [eax]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x188], 0x34e2319
jmp 0x40a467
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x188], 0x8981d90d
jmp 0x40a467
mov eax, dword [ebp - 0x138]
movzx esi, word [eax + 2]
mov edx, dword [ebp - 0x13c]
mov eax, 0xf26f058d
mov ecx, 0xc3cd50a6
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov eax, dword [0x43b5ac]
mov ecx, dword [0x43b5a8]
mov edx, eax
add edx, 0xaa14a397
sub edx, 1
sub edx, 0xaa14a397
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, 0x85a422a
mov ecx, 0x81474abe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
mov edx, ecx
sub edx, 0xc31dba59
sub edx, 1
add edx, 0xc31dba59
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, 0x85a422a
mov ecx, 0xa6052510
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov dword [ebp - 0x188], 0x3a74245
jmp 0x40a467
mov eax, dword [0x43b5ac]
mov ecx, dword [0x43b5a8]
mov edx, eax
sub edx, 0x5766f25f
sub edx, 1
add edx, 0x5766f25f
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, 0x59d34584
mov ecx, 0x5d87a9b0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov dword [ebp - 0x188], 0x433d6f33
jmp 0x40a467
mov ecx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x160]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x15c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x15c]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43397e
call fcn.004284b0
add esp, 8
mov edx, eax
mov eax, 0x80174fce
mov ecx, 0xc6ecebd5
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov eax, dword [ebp - 0x158]
mov dword [eax], 0
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x188], 0x51d89dab
jmp 0x40a467
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0xd64b188a
add edx, eax
add edx, 0xd64b188a
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x12c]
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 al
and al, 1
mov byte [ebp - 0x123], al
mov dword [ebp - 0x188], 0xb81dbf4f
jmp 0x40a467
mov cl, byte [ebp - 0x123]
and cl, 1
mov eax, dword [ebp - 0x154]
mov byte [eax], cl
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x9eacd08
add edx, eax
sub edx, 0x9eacd08
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x15c]
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.00424d10
add esp, 0xc
mov eax, dword [ebp - 0x158]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x184]
mov eax, dword [ebp - 0x15c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0x3698520
add esi, eax
sub esi, 0x3698520
mov eax, dword [ebp - 0x158]
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 - 0x154]
mov byte [eax], cl
mov dword [ebp - 0x188], 0xc6ecebd5
jmp 0x40a467
mov dword [ebp - 0x188], 0x34fc9d1f
jmp 0x40a467
mov eax, dword [ebp - 0x160]
mov ax, word [eax]
mov word [ebp - 0x122], ax
mov dword [ebp - 0x188], 0xdfbbbb4f
jmp 0x40a467
mov cx, word [ebp - 0x122]
sub cx, 0xa544
add cx, 1
add cx, 0xa544
mov eax, dword [ebp - 0x160]
mov word [eax], cx
mov dword [ebp - 0x188], 0x7d8dc56a
jmp 0x40a467
mov ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
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, 0xdce81053
mov ecx, 0x5d0335da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x188], 0xa83fe697
jmp 0x40a467
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x188], 0x7e79504c
jmp 0x40a467
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
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 ecx, dword [0x43b5ac]
mov eax, dword [0x43b5a8]
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, 0x457c1aca
mov ecx, 0x6f69c87e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x188], eax
jmp 0x40a467
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00423ec0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x188], 0x69a3dbf8
jmp 0x40a467
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
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 dword [ebp - 0x188], 0xb7673191
jmp 0x40a467
mov dword [ebp - 0x188], 0x99fde7d7
jmp 0x40a467
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
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 - 0x188], 0x551dce61
jmp 0x40a467
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x14c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x188], 0x7399d845
jmp 0x40a467
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x188], 0xb608efea
jmp 0x40a467
mov eax, dword [ebp - 0x144]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x188], 0xa115ef29
jmp 0x40a467
mov dword [ebp - 0x188], 0xee9a6066
jmp 0x40a467
mov eax, dword [ebp - 0x170]
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 dword [ebp - 0x188], 0xc7abf00b
jmp 0x40a467
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x188], 0x81474abe
jmp 0x40a467
mov dword [ebp - 0x188], 0x2eafeb18
jmp 0x40a467
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
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 - 0x188], 0x9d8d945f
jmp 0x4089c8