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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1a4
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1a8], eax
mov eax, dword [0x449080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1a4], 0x22484458
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1ac], eax
sub eax, 0x81100c01
je 0x41566c
jmp 0x414ec4
mov eax, dword [ebp - 0x1ac]
sub eax, 0x830ed716
je 0x416324
jmp 0x414eda
mov eax, dword [ebp - 0x1ac]
sub eax, 0x89cd22df
je 0x41608d
jmp 0x414ef0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x8c8b2340
je 0x415af6
jmp 0x414f06
mov eax, dword [ebp - 0x1ac]
sub eax, 0x92e86a44
je 0x415e44
jmp 0x414f1c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9612bf86
je 0x4166d1
jmp 0x414f32
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa87d2eea
je 0x415f7f
jmp 0x414f48
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb0e28d9a
je 0x415806
jmp 0x414f5e
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb1e663fd
je 0x416519
jmp 0x414f74
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb2df135c
je 0x415f8e
jmp 0x414f8a
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb753839f
je 0x415d13
jmp 0x414fa0
mov eax, dword [ebp - 0x1ac]
sub eax, 0xbf14a5b3
je 0x415e23
jmp 0x414fb6
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc0dbc043
je 0x415989
jmp 0x414fcc
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc83cb624
je 0x41681c
jmp 0x414fe2
mov eax, dword [ebp - 0x1ac]
sub eax, 0xccf98214
je 0x4166ec
jmp 0x414ff8
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd06f2557
je 0x4156e2
jmp 0x41500e
mov eax, dword [ebp - 0x1ac]
sub eax, 0xda3108b4
je 0x41587c
jmp 0x415024
mov eax, dword [ebp - 0x1ac]
sub eax, 0xdcb8109b
je 0x416640
jmp 0x41503a
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe354acee
je 0x4160de
jmp 0x415050
mov eax, dword [ebp - 0x1ac]
sub eax, 0xebe8e636
je 0x416799
jmp 0x415066
mov eax, dword [ebp - 0x1ac]
sub eax, 0xeca43b88
je 0x415bae
jmp 0x41507c
mov eax, dword [ebp - 0x1ac]
sub eax, 0xedb573ad
je 0x415573
jmp 0x415092
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf1c23c26
je 0x415564
jmp 0x4150a8
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf4b85084
je 0x415cad
jmp 0x4150be
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfd78d0c7
je 0x4166ae
jmp 0x4150d4
mov eax, dword [ebp - 0x1ac]
sub eax, 0x274ced3
je 0x415a71
jmp 0x4150ea
mov eax, dword [ebp - 0x1ac]
sub eax, 0x853baf9
je 0x415eb9
jmp 0x415100
mov eax, dword [ebp - 0x1ac]
sub eax, 0x10f83eec
je 0x41644f
jmp 0x415116
mov eax, dword [ebp - 0x1ac]
sub eax, 0x17d99d18
je 0x4157bb
jmp 0x41512c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1d221a71
je 0x416315
jmp 0x415142
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1d251148
je 0x4157eb
jmp 0x415158
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2101671f
je 0x415e68
jmp 0x41516e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x22484458
je 0x4154a1
jmp 0x415184
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2535406f
je 0x416196
jmp 0x41519a
mov eax, dword [ebp - 0x1ac]
sub eax, 0x264ca2ba
je 0x4159ff
jmp 0x4151b0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2bbb45a1
je 0x4162f6
jmp 0x4151c6
mov eax, dword [ebp - 0x1ac]
sub eax, 0x325720bf
je 0x41594d
jmp 0x4151dc
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3a93a764
je 0x41596e
jmp 0x4151f2
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3e212d0d
je 0x416470
jmp 0x415208
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3f683ee2
je 0x41652a
jmp 0x41521e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x44ba9f3c
je 0x4161f6
jmp 0x415234
mov eax, dword [ebp - 0x1ac]
sub eax, 0x46cccfc7
je 0x416661
jmp 0x41524a
mov eax, dword [ebp - 0x1ac]
sub eax, 0x48d70568
je 0x4165ef
jmp 0x415260
mov eax, dword [ebp - 0x1ac]
sub eax, 0x49bbfb04
je 0x41647f
jmp 0x415276
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4a4f10a6
je 0x415e14
jmp 0x41528c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4c9e5f64
je 0x415642
jmp 0x4152a2
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4d3707d6
je 0x41639a
jmp 0x4152b8
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4f94096b
je 0x4162ad
jmp 0x4152ce
mov eax, dword [ebp - 0x1ac]
sub eax, 0x50936fca
je 0x415d81
jmp 0x4152e4
mov eax, dword [ebp - 0x1ac]
sub eax, 0x52defe9b
je 0x41674d
jmp 0x4152fa
mov eax, dword [ebp - 0x1ac]
sub eax, 0x569c9199
je 0x4162cb
jmp 0x415310
mov eax, dword [ebp - 0x1ac]
sub eax, 0x56b3afef
je 0x415a62
jmp 0x415326
mov eax, dword [ebp - 0x1ac]
sub eax, 0x58f52b40
je 0x4157dc
jmp 0x41533c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5af54875
je 0x415c0e
jmp 0x415352
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5bc55feb
je 0x415651
jmp 0x415368
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5c40f897
je 0x4154cb
jmp 0x41537e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x634b57c3
je 0x4155c4
jmp 0x415394
mov eax, dword [ebp - 0x1ac]
sub eax, 0x64c965db
je 0x415cbc
jmp 0x4153aa
mov eax, dword [ebp - 0x1ac]
sub eax, 0x65419370
je 0x4161a5
jmp 0x4153c0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x657348d1
je 0x4162bc
jmp 0x4153d6
mov eax, dword [ebp - 0x1ac]
sub eax, 0x66cf4b0b
je 0x415bbd
jmp 0x4153ec
mov eax, dword [ebp - 0x1ac]
sub eax, 0x66f3c287
je 0x415a80
jmp 0x415402
mov eax, dword [ebp - 0x1ac]
sub eax, 0x684ba92c
je 0x415ce4
jmp 0x415418
mov eax, dword [ebp - 0x1ac]
sub eax, 0x6ba77e7e
je 0x416566
jmp 0x41542e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x7182166c
je 0x4164d0
push eax
mov eax, esp
mov dword [ebp - 0x188], eax
push eax
mov eax, esp
mov dword [ebp - 0x184], eax
push eax
mov eax, esp
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x1a4], 0x5c40f897
jmp 0x416826
mov eax, dword [ebp - 0x1a8]
push eax
mov ecx, esp
mov dword [ebp - 0x17c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x178], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x174], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x18c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x190], 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.00432340
add esp, 0xc
mov eax, dword [ebp - 0x18c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x194], eax
mov eax, 0xf1c23c26
mov ecx, 0xedb573ad
cmp dword [ebp - 0x194], 0
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov dword [ebp - 0x1a4], 0x49bbfb04
jmp 0x416826
mov eax, dword [0x44a58c]
mov ecx, dword [0x44a588]
mov edx, eax
add edx, 0xdbebb4e1
sub edx, 1
sub edx, 0xdbebb4e1
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, 0x3f683ee2
mov ecx, 0x634b57c3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov ecx, dword [ebp - 0x194]
mov edx, dword [ebp - 0x190]
lea eax, [ebp - 0x11c]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
mov eax, dword [0x44a58c]
mov ecx, dword [0x44a588]
mov edx, eax
add edx, 0x8e4f91b3
sub edx, 1
sub edx, 0x8e4f91b3
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, 0x3f683ee2
mov ecx, 0x4c9e5f64
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov dword [ebp - 0x1a4], 0x5bc55feb
jmp 0x416826
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x1a4], 0x81100c01
jmp 0x416826
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
mov edx, ecx
add edx, 0x697b7c10
sub edx, 1
sub edx, 0x697b7c10
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, 0x6ba77e7e
mov ecx, 0xd06f2557
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x194]
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 - 0x19c], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x19c], eax
sete al
and al, 1
mov byte [ebp - 0x165], al
mov eax, dword [0x44a58c]
mov ecx, dword [0x44a588]
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, 0x6ba77e7e
mov ecx, 0x17d99d18
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov dl, byte [ebp - 0x165]
mov eax, 0x1d251148
mov ecx, 0x58f52b40
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov dword [ebp - 0x1a4], 0x49bbfb04
jmp 0x416826
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x1a4], 0xb0e28d9a
jmp 0x416826
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
mov edx, ecx
sub edx, 0x61ee53c5
sub edx, 1
add edx, 0x61ee53c5
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, 0x48d70568
mov ecx, 0xda3108b4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x164]
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 - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0
setne al
and al, 1
mov byte [ebp - 0x15d], al
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
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, 0x48d70568
mov ecx, 0x7be003c4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov dl, byte [ebp - 0x15d]
mov eax, 0x3a93a764
mov ecx, 0x66f3c287
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x1a4], 0xc0dbc043
jmp 0x416826
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
mov edx, ecx
add edx, 0xaf0ad818
sub edx, 1
sub edx, 0xaf0ad818
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, 0xdcb8109b
mov ecx, 0x264ca2ba
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x15c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x44a58c]
mov ecx, dword [0x44a588]
mov edx, eax
sub edx, 0x10aecff1
sub edx, 1
add edx, 0x10aecff1
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, 0xdcb8109b
mov ecx, 0x56b3afef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov dword [ebp - 0x1a4], 0x274ced3
jmp 0x416826
mov dword [ebp - 0x1a4], 0x49bbfb04
jmp 0x416826
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
mov edx, ecx
sub edx, 0xc081619
sub edx, 1
add edx, 0xc081619
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, 0x46cccfc7
mov ecx, 0x8c8b2340
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x1a0]
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 - 0x188]
mov dword [eax], ecx
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x158], eax
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
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, 0x46cccfc7
mov ecx, 0xeca43b88
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov dword [ebp - 0x1a4], 0x66cf4b0b
jmp 0x416826
mov eax, dword [0x44a58c]
mov ecx, dword [0x44a588]
mov edx, eax
sub edx, 0xd5b5d700
sub edx, 1
add edx, 0xd5b5d700
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, 0xfd78d0c7
mov ecx, 0x5af54875
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x158]
mov dword [eax], ecx
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x184]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x3c]
add eax, 0x183bf32c
add eax, ecx
sub eax, 0x183bf32c
mov dword [ebp - 0x154], eax
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
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, 0xfd78d0c7
mov ecx, 0xf4b85084
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov dword [ebp - 0x1a4], 0x64c965db
jmp 0x416826
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x180]
mov dword [eax], ecx
mov eax, dword [ebp - 0x17c]
mov word [eax], 0
mov dword [ebp - 0x1a4], 0x684ba92c
jmp 0x416826
mov eax, dword [ebp - 0x17c]
movzx eax, word [eax]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x1a4], 0xb753839f
jmp 0x416826
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
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, 0x9612bf86
mov ecx, 0x50936fca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + 2]
mov eax, dword [ebp - 0x150]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x145], al
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
mov edx, ecx
add edx, 0xc70efef8
sub edx, 1
sub edx, 0xc70efef8
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, 0x9612bf86
mov ecx, 0x4a4f10a6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov dword [ebp - 0x1a4], 0xbf14a5b3
jmp 0x416826
mov dl, byte [ebp - 0x145]
mov eax, 0x830ed716
mov ecx, 0x92e86a44
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x1a4], 0x2101671f
jmp 0x416826
mov eax, dword [0x44a58c]
mov ecx, dword [0x44a588]
mov edx, eax
sub edx, 0xc34957a1
sub edx, 1
add edx, 0xc34957a1
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, 0xccf98214
mov ecx, 0x853baf9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
mov ecx, dword [ebp - 0x144]
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 - 0x17c]
movzx eax, word [eax]
imul eax, eax, 0x28
sub ecx, 0x26caf586
add ecx, eax
add ecx, 0x26caf586
mov eax, dword [ebp - 0x178]
mov dword [eax], ecx
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov dword [ebp - 0x140], eax
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
mov edx, ecx
add edx, 0xba0dfc09
sub edx, 1
sub edx, 0xba0dfc09
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, 0xccf98214
mov ecx, 0xa87d2eea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov dword [ebp - 0x1a4], 0xb2df135c
jmp 0x416826
mov ecx, dword [ebp - 0x140]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x4421e3
call fcn.00435c40
add esp, 8
mov edx, eax
mov eax, 0x78a72ad3
mov ecx, 0x657348d1
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [0x44a58c]
mov ecx, dword [0x44a588]
mov edx, eax
add edx, 0x6fc67494
sub edx, 1
sub edx, 0x6fc67494
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, 0x52defe9b
mov ecx, 0xe354acee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x138]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004324a0
add esp, 0xc
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x178]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x128], eax
mov eax, dword [0x44a58c]
mov ecx, dword [0x44a588]
mov edx, eax
add edx, 0xfafd4dac
sub edx, 1
sub edx, 0xfafd4dac
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, 0x52defe9b
mov ecx, 0x2535406f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov dword [ebp - 0x1a4], 0x65419370
jmp 0x416826
mov eax, dword [0x44a58c]
mov ecx, dword [0x44a588]
mov edx, eax
sub edx, 0xea7e2e3f
sub edx, 1
add edx, 0xea7e2e3f
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, 0xebe8e636
mov ecx, 0x44ba9f3c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
mov esi, dword [ebp - 0x128]
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 - 0x170]
mov byte [eax], cl
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
mov edx, ecx
add edx, 0xf31488cf
sub edx, 1
sub edx, 0xf31488cf
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, 0xebe8e636
mov ecx, 0x4f94096b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov dword [ebp - 0x1a4], 0x657348d1
jmp 0x416826
mov dword [ebp - 0x1a4], 0x569c9199
jmp 0x416826
mov eax, dword [ebp - 0x17c]
mov ax, word [eax]
add ax, 0x6cda
add ax, 1
sub ax, 0x6cda
mov word [ebp - 0x122], ax
mov dword [ebp - 0x1a4], 0x2bbb45a1
jmp 0x416826
mov eax, dword [ebp - 0x17c]
mov cx, word [ebp - 0x122]
mov word [eax], cx
mov dword [ebp - 0x1a4], 0x1d221a71
jmp 0x416826
mov dword [ebp - 0x1a4], 0x684ba92c
jmp 0x416826
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
mov edx, ecx
sub edx, 0x4261d295
sub edx, 1
add edx, 0x4261d295
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, 0x7b9d6be2
mov ecx, 0x4d3707d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x19c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x1a0]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x120], eax
mov ecx, dword [0x44a58c]
mov eax, dword [0x44a588]
mov edx, ecx
sub edx, 0x8b077a2d
sub edx, 1
add edx, 0x8b077a2d
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, 0x7b9d6be2
mov ecx, 0x7fefb582
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a4], 0x3e212d0d
jmp 0x416826
mov dword [ebp - 0x1a4], 0x49bbfb04
jmp 0x416826
mov eax, dword [0x44a58c]
mov ecx, dword [0x44a588]
mov edx, eax
add edx, 0x8b3846d1
sub edx, 1
sub edx, 0x8b3846d1
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, 0xc83cb624
mov ecx, 0x7182166c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x416826
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00431640
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x194]
mov edx, dword [ebp - 0x190]
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 - 0x1a4], 0x634b57c3
jmp 0x416826
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x198], eax
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x194]
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 - 0x19c], eax
mov dword [ebp - 0x1a4], 0xd06f2557
jmp 0x416826
mov eax, dword [ebp - 0x164]
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 - 0x1a0], eax
mov dword [ebp - 0x1a4], 0xda3108b4
jmp 0x416826
mov eax, dword [ebp - 0x15c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1a4], 0x264ca2ba
jmp 0x416826
mov eax, dword [ebp - 0x1a0]
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 - 0x188]
mov dword [eax], ecx
mov dword [ebp - 0x1a4], 0x8c8b2340
jmp 0x416826
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x158]
mov dword [eax], ecx
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x1a4], 0x5af54875
jmp 0x416826
mov eax, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x1a4], 0x50936fca
jmp 0x416826
mov eax, dword [ebp - 0x180]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x144]
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 - 0x17c]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x178]
mov dword [eax], ecx
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1a4], 0x853baf9
jmp 0x416826
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x138]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004324a0
add esp, 0xc
mov eax, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1a4], 0xe354acee
jmp 0x416826
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
mov esi, dword [ebp - 0x128]
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 - 0x170]
mov byte [eax], cl
mov dword [ebp - 0x1a4], 0x44ba9f3c
jmp 0x416826
mov dword [ebp - 0x1a4], 0x7182166c
jmp 0x414ea8