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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1a0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a8], eax
mov eax, dword [0x434080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1a4], 0x44f05119
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1ac], eax
sub eax, 0x82b9172c
je 0x408987
jmp 0x407f05
mov eax, dword [ebp - 0x1ac]
sub eax, 0x8f683fa3
je 0x408b11
jmp 0x407f1b
mov eax, dword [ebp - 0x1ac]
sub eax, 0x90fd4c24
je 0x408e92
jmp 0x407f31
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9597d91f
je 0x4097ac
jmp 0x407f47
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9666d0c9
je 0x408701
jmp 0x407f5d
mov eax, dword [ebp - 0x1ac]
sub eax, 0x98c3e58e
je 0x40979d
jmp 0x407f73
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9b0842df
je 0x408dc1
jmp 0x407f89
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9e666992
je 0x409987
jmp 0x407f9f
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa0acdba1
je 0x409593
jmp 0x407fb5
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa18c6bb2
je 0x409692
jmp 0x407fcb
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa284c7c5
je 0x409a6d
jmp 0x407fe1
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa2bc4426
je 0x4091b6
jmp 0x407ff7
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa38297c7
je 0x409019
jmp 0x40800d
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa3ecad16
je 0x409b9d
jmp 0x408023
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa5bd5329
je 0x40980c
jmp 0x408039
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa63e9cd0
je 0x40981b
jmp 0x40804f
mov eax, dword [ebp - 0x1ac]
sub eax, 0xac4045fe
je 0x409342
jmp 0x408065
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb0e50986
je 0x4097c7
jmp 0x40807b
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb245c84e
je 0x408a8c
jmp 0x408091
mov eax, dword [ebp - 0x1ac]
sub eax, 0xbec9abc6
je 0x408cb2
jmp 0x4080a7
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc3250415
je 0x409b7e
jmp 0x4080bd
mov eax, dword [ebp - 0x1ac]
sub eax, 0xca40a53f
je 0x4087bf
jmp 0x4080d3
mov eax, dword [ebp - 0x1ac]
sub eax, 0xcde8847a
je 0x409046
jmp 0x4080e9
mov eax, dword [ebp - 0x1ac]
sub eax, 0xcf5b5c74
je 0x409996
jmp 0x4080ff
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd417af34
je 0x4098da
jmp 0x408115
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd42cd15c
je 0x409a2c
jmp 0x40812b
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd6bb9138
je 0x408f20
jmp 0x408141
mov eax, dword [ebp - 0x1ac]
sub eax, 0xdb6d680b
je 0x4086a1
jmp 0x408157
mov eax, dword [ebp - 0x1ac]
sub eax, 0xdcc25261
je 0x4090cf
jmp 0x40816d
mov eax, dword [ebp - 0x1ac]
sub eax, 0xdff7432a
je 0x408ecb
jmp 0x408183
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe012fa03
je 0x408bd0
jmp 0x408199
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe04f97a0
je 0x40938b
jmp 0x4081af
mov eax, dword [ebp - 0x1ac]
sub eax, 0xea0830d7
je 0x4095b2
jmp 0x4081c5
mov eax, dword [ebp - 0x1ac]
sub eax, 0xed8d5f8e
je 0x409628
jmp 0x4081db
mov eax, dword [ebp - 0x1ac]
sub eax, 0xef3d8c5b
je 0x4085e7
jmp 0x4081f1
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf0cc944c
je 0x4098fb
jmp 0x408207
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf1c4584c
je 0x409b37
jmp 0x40821d
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf34faed5
je 0x4089a8
jmp 0x408233
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf5f89920
je 0x4086f2
jmp 0x408249
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf76278c2
je 0x408c21
jmp 0x40825f
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf7b22790
je 0x408936
jmp 0x408275
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfe9866ea
je 0x409864
jmp 0x40828b
mov eax, dword [ebp - 0x1ac]
sub eax, 0x34ee366
je 0x409061
jmp 0x4082a1
mov eax, dword [ebp - 0x1ac]
sub eax, 0x84b2a2a
je 0x4099f6
jmp 0x4082b7
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa60eaf5
je 0x408bc1
jmp 0x4082cd
mov eax, dword [ebp - 0x1ac]
sub eax, 0xdeb98dc
je 0x409a0b
jmp 0x4082e3
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfe4604e
je 0x409978
jmp 0x4082f9
mov eax, dword [ebp - 0x1ac]
sub eax, 0x101ecf98
je 0x4096a1
jmp 0x40830f
mov eax, dword [ebp - 0x1ac]
sub eax, 0x110d3dbc
je 0x4094b6
jmp 0x408325
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1155d731
je 0x408a9b
jmp 0x40833b
mov eax, dword [ebp - 0x1ac]
sub eax, 0x145237bd
je 0x409584
jmp 0x408351
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1606cc83
je 0x409321
jmp 0x408367
mov eax, dword [ebp - 0x1ac]
sub eax, 0x23887e6e
je 0x409183
jmp 0x40837d
mov eax, dword [ebp - 0x1ac]
sub eax, 0x24c89318
je 0x408749
jmp 0x408393
mov eax, dword [ebp - 0x1ac]
sub eax, 0x25daa7fe
je 0x408d03
jmp 0x4083a9
mov eax, dword [ebp - 0x1ac]
sub eax, 0x27865d76
je 0x409162
jmp 0x4083bf
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2b51b0bf
je 0x408ca3
jmp 0x4083d5
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2b76eeba
je 0x408d85
jmp 0x4083eb
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2e417a8d
je 0x409717
jmp 0x408401
mov eax, dword [ebp - 0x1ac]
sub eax, 0x30351306
je 0x4088c8
jmp 0x408417
mov eax, dword [ebp - 0x1ac]
sub eax, 0x33c8442e
je 0x409567
jmp 0x40842d
mov eax, dword [ebp - 0x1ac]
sub eax, 0x39020b23
je 0x408da6
jmp 0x408443
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3b782f7c
je 0x408ea1
jmp 0x408459
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3cb0d781
je 0x409028
jmp 0x40846f
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3ef61ac8
je 0x408e12
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x120]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041f250
add esp, 0xc
mov eax, dword [ebp - 0x180]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x188], eax
mov eax, 0x7de6c3d2
mov ecx, 0x9666d0c9
cmp dword [ebp - 0x188], 0
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov eax, dword [0x43556c]
mov ecx, dword [0x435568]
mov edx, eax
add edx, 0x538bc103
sub edx, 1
sub edx, 0x538bc103
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, 0x46a5602e
mov ecx, 0xf5f89920
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0xa63e9cd0
jmp 0x409ba7
mov ecx, dword [ebp - 0x188]
mov edx, dword [ebp - 0x184]
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 - 0x18c], eax
mov dword [ebp - 0x1a4], 0x24c89318
jmp 0x409ba7
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
mov edx, ecx
add edx, 0xffcd28ed
sub edx, 1
sub edx, 0xffcd28ed
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, 0xf0cc944c
mov ecx, 0xca40a53f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 0x188]
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 - 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 - 0x190], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x190], eax
sete al
and al, 1
mov byte [ebp - 0x169], al
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
mov edx, ecx
add edx, 0x4aabf938
sub edx, 1
sub edx, 0x4aabf938
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, 0xf0cc944c
mov ecx, 0x4c18c4fa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
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, 0xfe4604e
mov ecx, 0xf7b22790
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov eax, dword [0x43556c]
mov ecx, dword [0x435568]
mov edx, eax
add edx, 0xeaeb41fb
sub edx, 1
sub edx, 0xeaeb41fb
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, 0xfe4604e
mov ecx, 0x82b9172c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov dl, byte [ebp - 0x169]
mov eax, 0x1155d731
mov ecx, 0xf34faed5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
mov edx, ecx
sub edx, 0xbf921376
sub edx, 1
add edx, 0xbf921376
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, 0x9e666992
mov ecx, 0x62fc33f6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0xa63e9cd0
jmp 0x409ba7
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
mov edx, ecx
sub edx, 0xe5369b26
sub edx, 1
add edx, 0xe5369b26
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, 0xcf5b5c74
mov ecx, 0x8f683fa3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov eax, dword [ebp - 0x190]
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 - 0x194], eax
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
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, 0xcf5b5c74
mov ecx, 0xa60eaf5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0xe012fa03
jmp 0x409ba7
mov eax, dword [0x43556c]
mov ecx, dword [0x435568]
mov edx, eax
add edx, 0x851e3d55
sub edx, 1
sub edx, 0x851e3d55
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, 0x68e814bf
mov ecx, 0xf76278c2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x168], eax
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
mov edx, ecx
sub edx, 0x51866855
sub edx, 1
add edx, 0x51866855
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, 0x68e814bf
mov ecx, 0x2b51b0bf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0xbec9abc6
jmp 0x409ba7
mov eax, dword [0x43556c]
mov ecx, dword [0x435568]
mov edx, eax
sub edx, 0xa239a2e6
sub edx, 1
add edx, 0xa239a2e6
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, 0x84b2a2a
mov ecx, 0x25daa7fe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov eax, dword [ebp - 0x168]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x161], al
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
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, 0x84b2a2a
mov ecx, 0x2b76eeba
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov dl, byte [ebp - 0x161]
mov eax, 0x39020b23
mov ecx, 0x5dc4f66c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x1a4], 0x9b0842df
jmp 0x409ba7
mov eax, dword [0x43556c]
mov ecx, dword [0x435568]
mov edx, eax
sub edx, 0x31c244de
sub edx, 1
add edx, 0x31c244de
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, 0xdeb98dc
mov ecx, 0x3ef61ac8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0x3b782f7c
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0xa63e9cd0
jmp 0x409ba7
mov eax, dword [ebp - 0x15c]
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 - 0x198], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x1a4], 0xd6bb9138
jmp 0x409ba7
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
mov edx, ecx
sub edx, 0x86c343f9
sub edx, 1
add edx, 0x86c343f9
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, 0xd42cd15c
mov ecx, 0x68aa0c41
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0x3cb0d781
jmp 0x409ba7
mov eax, dword [ebp - 0x17c]
movzx eax, word [eax]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1a4], 0xcde8847a
jmp 0x409ba7
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1a4], 0x34ee366
jmp 0x409ba7
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
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, 0xa284c7c5
mov ecx, 0xdcc25261
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov eax, dword [ebp - 0x150]
movzx ecx, word [eax + 6]
mov eax, dword [ebp - 0x154]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x149], al
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
mov edx, ecx
add edx, 0xe4026703
sub edx, 1
sub edx, 0xe4026703
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, 0xa284c7c5
mov ecx, 0x27865d76
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov dl, byte [ebp - 0x149]
mov eax, 0x9597d91f
mov ecx, 0x23887e6e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov eax, dword [ebp - 0x1a0]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x1a0]
mov ax, word [eax + 0x14]
mov word [ebp - 0x142], ax
mov dword [ebp - 0x1a4], 0xa2bc4426
jmp 0x409ba7
mov ax, word [ebp - 0x142]
movzx edx, ax
mov ecx, dword [ebp - 0x148]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x17c]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0xc14700ee
add ecx, eax
add ecx, 0xc14700ee
mov eax, dword [ebp - 0x178]
mov dword [eax], ecx
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x1a4], 0x582bc908
jmp 0x409ba7
mov dl, byte [ebp - 0x139]
mov eax, 0xac4045fe
mov ecx, 0x145237bd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov eax, dword [0x43556c]
mov ecx, dword [0x435568]
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, 0x55f49b1b
mov ecx, 0xe04f97a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov eax, dword [ebp - 0x174]
mov dword [eax], 0
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x61256880
add edx, eax
add edx, 0x61256880
mov eax, dword [ebp - 0x174]
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 - 0x170]
mov byte [eax], cl
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x178]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
add eax, 0x788d047f
add eax, ecx
sub eax, 0x788d047f
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov dword [ebp - 0x130], eax
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
mov edx, ecx
add edx, 0x8f33da32
sub edx, 1
sub edx, 0x8f33da32
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, 0x55f49b1b
mov ecx, 0x57fe7cab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x134]
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 - 0x178]
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.0041f3b0
add esp, 0xc
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x18c]
mov eax, dword [ebp - 0x178]
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 - 0x174]
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 al
and al, 1
mov byte [ebp - 0x129], al
mov dword [ebp - 0x1a4], 0x33c8442e
jmp 0x409ba7
mov eax, dword [ebp - 0x170]
mov cl, byte [ebp - 0x129]
mov byte [eax], cl
mov dword [ebp - 0x1a4], 0x145237bd
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0xa0acdba1
jmp 0x409ba7
mov eax, dword [ebp - 0x17c]
mov ax, word [eax]
mov word [ebp - 0x128], ax
mov dword [ebp - 0x1a4], 0xea0830d7
jmp 0x409ba7
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
mov edx, ecx
sub edx, 0xc9a9c1ed
sub edx, 1
add edx, 0xc9a9c1ed
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, 0xf1c4584c
mov ecx, 0xed8d5f8e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov ax, word [ebp - 0x128]
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 eax, dword [0x43556c]
mov ecx, dword [0x435568]
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, 0xf1c4584c
mov ecx, 0xa18c6bb2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0x101ecf98
jmp 0x409ba7
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
mov edx, ecx
sub edx, 0xf11e1ca1
sub edx, 1
add edx, 0xf11e1ca1
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, 0xc3250415
mov ecx, 0x2e417a8d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov eax, dword [ebp - 0x17c]
mov cx, word [ebp - 0x126]
mov word [eax], cx
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
mov edx, ecx
add edx, 0x83e5a413
sub edx, 1
sub edx, 0x83e5a413
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, 0xc3250415
mov ecx, 0x98c3e58e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0x3cb0d781
jmp 0x409ba7
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x1a4], 0xb0e50986
jmp 0x409ba7
mov eax, dword [ebp - 0x124]
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 [ebp - 0x184]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a4], 0xa5bd5329
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0xa63e9cd0
jmp 0x409ba7
mov eax, dword [0x43556c]
mov ecx, dword [0x435568]
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, 0xa3ecad16
mov ecx, 0xfe9866ea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov ecx, dword [0x43556c]
mov eax, dword [0x435568]
mov edx, ecx
add edx, 0x63bb8044
sub edx, 1
sub edx, 0x63bb8044
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, 0xa3ecad16
mov ecx, 0xd417af34
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409ba7
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e560
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebp - 0x114]
mov ecx, dword [ebp - 0x188]
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 - 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 - 0x190], eax
mov dword [ebp - 0x1a4], 0xca40a53f
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0xf7b22790
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0x62fc33f6
jmp 0x409ba7
mov eax, dword [ebp - 0x190]
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 - 0x194], eax
mov dword [ebp - 0x1a4], 0x8f683fa3
jmp 0x409ba7
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x1a4], 0x25daa7fe
jmp 0x409ba7
mov eax, dword [ebp - 0x160]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a4], 0x3ef61ac8
jmp 0x409ba7
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x19c]
mov edx, dword [ecx + 0x3c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x17c]
mov word [eax], 0
mov dword [ebp - 0x1a4], 0x68aa0c41
jmp 0x409ba7
mov eax, dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x1a4], 0xdcc25261
jmp 0x409ba7
mov ax, word [ebp - 0x128]
mov ax, word [ebp - 0x128]
mov ax, word [ebp - 0x128]
mov ax, word [ebp - 0x128]
mov ax, word [ebp - 0x128]
mov ax, word [ebp - 0x128]
mov ax, word [ebp - 0x128]
mov ax, word [ebp - 0x128]
mov dword [ebp - 0x1a4], 0xed8d5f8e
jmp 0x409ba7
mov eax, dword [ebp - 0x17c]
mov cx, word [ebp - 0x126]
mov word [eax], cx
mov dword [ebp - 0x1a4], 0x2e417a8d
jmp 0x409ba7
mov dword [ebp - 0x1a4], 0xfe9866ea
jmp 0x407ee9