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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x1c0
mov eax, dword [ebp + 8]
mov eax, dword [0x442080]
xor eax, ebp
mov dword [ebp - 0xc], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0042bc30
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x1a8], 0x10ca4c7d
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], eax
sub eax, 0x8402f204
je 0x410c1b
jmp 0x40feeb
mov eax, dword [ebp - 0x1ac]
sub eax, 0x889e38ce
je 0x410d8d
jmp 0x40ff01
mov eax, dword [ebp - 0x1ac]
sub eax, 0x89985378
je 0x410f18
jmp 0x40ff17
mov eax, dword [ebp - 0x1ac]
sub eax, 0x8e7d4ace
je 0x4108ab
jmp 0x40ff2d
mov eax, dword [ebp - 0x1ac]
sub eax, 0x90ad1e97
je 0x4104b8
jmp 0x40ff43
mov eax, dword [ebp - 0x1ac]
sub eax, 0x92535ff6
je 0x411361
jmp 0x40ff59
mov eax, dword [ebp - 0x1ac]
sub eax, 0x936c1e7a
je 0x411248
jmp 0x40ff6f
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9b594e1a
je 0x4105af
jmp 0x40ff85
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9ba6dd1e
je 0x4112d7
jmp 0x40ff9b
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9eb2a8aa
je 0x411125
jmp 0x40ffb1
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa46448c0
je 0x410b6c
jmp 0x40ffc7
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa5dd72b6
je 0x411275
jmp 0x40ffdd
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa8a583cc
je 0x4111e4
jmp 0x40fff3
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb1bfdc37
je 0x41088a
jmp 0x410009
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb2e4c105
je 0x410b3c
jmp 0x41001f
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc90cf320
je 0x4107d9
jmp 0x410035
mov eax, dword [ebp - 0x1ac]
sub eax, 0xcb0376f5
je 0x410dde
jmp 0x41004b
mov eax, dword [ebp - 0x1ac]
sub eax, 0xcbc8c2fe
je 0x410ec6
jmp 0x410061
mov eax, dword [ebp - 0x1ac]
sub eax, 0xdb4113bf
je 0x411405
jmp 0x410077
mov eax, dword [ebp - 0x1ac]
sub eax, 0xde5a700a
je 0x410671
jmp 0x41008d
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe7242dbb
je 0x410779
jmp 0x4100a3
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe7ec09e7
je 0x4108ba
jmp 0x4100b9
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe89df109
je 0x41132e
jmp 0x4100cf
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf0216939
je 0x411239
jmp 0x4100e5
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfc912a2b
je 0x411116
jmp 0x4100fb
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3fb341
je 0x4111f3
jmp 0x410111
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9d1541
je 0x410e76
jmp 0x410127
mov eax, dword [ebp - 0x1ac]
sub eax, 0x62354b5
je 0x410467
jmp 0x41013d
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa79ce5d
je 0x41119b
jmp 0x410153
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfa5f5ca
je 0x410f8e
jmp 0x410169
mov eax, dword [ebp - 0x1ac]
sub eax, 0x10ca4c7d
je 0x410444
jmp 0x41017f
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1194ddb0
je 0x4109f7
jmp 0x410195
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1833b58c
je 0x410c67
jmp 0x4101ab
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1bbd54e2
je 0x410662
jmp 0x4101c1
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2a01c5f1
je 0x410d6c
jmp 0x4101d7
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2bd74561
je 0x410e85
jmp 0x4101ed
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2c1aa1bd
je 0x410a24
jmp 0x410203
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2e181656
je 0x410ab3
jmp 0x410219
mov eax, dword [ebp - 0x1ac]
sub eax, 0x39fe468f
je 0x410c48
jmp 0x41022f
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3c7d741e
je 0x410b2d
jmp 0x410245
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3d526b00
je 0x41142f
jmp 0x41025b
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3d7cc9c5
je 0x410539
jmp 0x410271
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3f1d76f3
je 0x4113ba
jmp 0x410287
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3fb1635e
je 0x411414
jmp 0x41029d
mov eax, dword [ebp - 0x1ac]
sub eax, 0x474c3227
je 0x41143e
jmp 0x4102b3
mov eax, dword [ebp - 0x1ac]
sub eax, 0x497aadc6
je 0x41107b
jmp 0x4102c9
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4a8db580
je 0x411210
jmp 0x4102df
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4e972a1d
je 0x4112c3
jmp 0x4102f5
mov eax, dword [ebp - 0x1ac]
sub eax, 0x52079ddf
je 0x4114ad
jmp 0x41030b
mov eax, dword [ebp - 0x1ac]
sub eax, 0x52849e29
je 0x410b5d
jmp 0x410321
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5469440c
je 0x410c03
jmp 0x410337
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5c43362e
je 0x410509
jmp 0x41034d
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5da0e2c8
je 0x4109e8
jmp 0x410363
mov eax, dword [ebp - 0x1ac]
sub eax, 0x60b4eca1
je 0x410bdc
jmp 0x410379
mov eax, dword [ebp - 0x1ac]
sub eax, 0x68171e2e
je 0x4106df
jmp 0x41038f
mov eax, dword [ebp - 0x1ac]
sub eax, 0x69706cd9
je 0x410cdd
jmp 0x4103a5
mov eax, dword [ebp - 0x1ac]
sub eax, 0x6df75cf7
je 0x410788
jmp 0x4103bb
mov eax, dword [ebp - 0x1ac]
sub eax, 0x71faf264
je 0x4112a2
jmp 0x4103d1
mov eax, dword [ebp - 0x1ac]
sub eax, 0x73861ddd
je 0x4112e6
jmp 0x4103e7
mov eax, dword [ebp - 0x1ac]
sub eax, 0x751a2138
je 0x41108a
jmp 0x4103fd
mov eax, dword [ebp - 0x1ac]
sub eax, 0x763d5367
je 0x41052a
jmp 0x410413
mov eax, dword [ebp - 0x1ac]
sub eax, 0x7a08f1ef
je 0x410a45
jmp 0x410429
mov eax, dword [ebp - 0x1ac]
sub eax, 0x7dc21fb6
je 0x410930
jmp 0x41043f
jmp 0x4114b7
mov eax, dword [ebp - 0x178]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x171], al
mov dword [ebp - 0x1a8], 0x62354b5
jmp 0x4114b7
mov eax, dword [0x44357c]
mov ecx, dword [0x443578]
mov edx, eax
add edx, 0x5d8313b4
sub edx, 1
sub edx, 0x5d8313b4
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, 0x9ba6dd1e
mov ecx, 0x90ad1e97
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov eax, dword [0x44357c]
mov ecx, dword [0x443578]
mov edx, eax
sub edx, 0xaf372851
sub edx, 1
add edx, 0xaf372851
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, 0x9ba6dd1e
mov ecx, 0x5c43362e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dl, byte [ebp - 0x171]
mov eax, 0x763d5367
mov ecx, 0x3d7cc9c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0x4e972a1d
jmp 0x4114b7
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
mov edx, ecx
sub edx, 0xa9aaf371
sub edx, 1
add edx, 0xa9aaf371
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, 0x73861ddd
mov ecx, 0x9b594e1a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
lea eax, [ebp - 0x11c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
sub esp, 0x10
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x184], eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x170], eax
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
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, 0x73861ddd
mov ecx, 0x1bbd54e2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0xde5a700a
jmp 0x4114b7
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
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, 0xe89df109
mov ecx, 0x68171e2e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x170]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
sub esp, 0xc
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
mov edx, ecx
add edx, 0x6ce68540
sub edx, 1
sub edx, 0x6ce68540
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, 0xe89df109
mov ecx, 0xe7242dbb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0x6df75cf7
jmp 0x4114b7
mov eax, dword [0x44357c]
mov ecx, dword [0x443578]
mov edx, eax
sub edx, 0x8a3c3099
sub edx, 1
add edx, 0x8a3c3099
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, 0x92535ff6
mov ecx, 0xc90cf320
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
lea eax, [ebp - 0x110]
xor ecx, ecx
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]
sub esp, 0x1c
mov dword [ebp - 0x188], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x188], eax
sete al
and al, 1
mov byte [ebp - 0x169], al
mov eax, dword [0x44357c]
mov ecx, dword [0x443578]
mov edx, eax
sub edx, 0x90f9c8be
sub edx, 1
add edx, 0x90f9c8be
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, 0x92535ff6
mov ecx, 0xb1bfdc37
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dl, byte [ebp - 0x169]
mov eax, 0xe7ec09e7
mov ecx, 0x8e7d4ace
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0x4e972a1d
jmp 0x4114b7
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
mov edx, ecx
sub edx, 0xcec66be2
sub edx, 1
add edx, 0xcec66be2
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, 0x3f1d76f3
mov ecx, 0x7dc21fb6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov eax, dword [ebp - 0x188]
xor ecx, ecx
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]
sub esp, 0x18
mov dword [ebp - 0x168], eax
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
mov edx, ecx
add edx, 0x57f3be58
sub edx, 1
sub edx, 0x57f3be58
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, 0x3f1d76f3
mov ecx, 0x5da0e2c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0x1194ddb0
jmp 0x4114b7
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0
setne al
and al, 1
mov byte [ebp - 0x161], al
mov dword [ebp - 0x1a8], 0x2c1aa1bd
jmp 0x4114b7
mov dl, byte [ebp - 0x161]
mov eax, 0x7a08f1ef
mov ecx, 0xa46448c0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
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, 0xdb4113bf
mov ecx, 0x2e181656
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x160], eax
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
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, 0xdb4113bf
mov ecx, 0x3c7d741e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0xb2e4c105
jmp 0x4114b7
mov eax, dword [ebp - 0x160]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x1a8], 0x52849e29
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0x4e972a1d
jmp 0x4114b7
mov eax, dword [ebp - 0x18c]
xor ecx, ecx
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]
sub esp, 0x14
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x194]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x1a8], 0x60b4eca1
jmp 0x4114b7
mov eax, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x158]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x1a8], 0x5469440c
jmp 0x4114b7
mov word [ebp - 0x19a], 0
mov dword [ebp - 0x1a8], 0x8402f204
jmp 0x4114b7
movzx eax, word [ebp - 0x19a]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x198]
mov ax, word [eax + 6]
mov word [ebp - 0x14e], ax
mov dword [ebp - 0x1a8], 0x39fe468f
jmp 0x4114b7
mov ax, word [ebp - 0x14e]
movzx eax, ax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x1a8], 0x1833b58c
jmp 0x4114b7
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
mov edx, ecx
sub edx, 0xe090d2f5
sub edx, 1
add edx, 0xe090d2f5
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, 0x3fb1635e
mov ecx, 0x69706cd9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x14c]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x145], al
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
mov edx, ecx
sub edx, 0x87a41fb5
sub edx, 1
add edx, 0x87a41fb5
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, 0x3fb1635e
mov ecx, 0x2a01c5f1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dl, byte [ebp - 0x145]
mov eax, 0x936c1e7a
mov ecx, 0x889e38ce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov eax, dword [0x44357c]
mov ecx, dword [0x443578]
mov edx, eax
add edx, 0x5b64a770
sub edx, 1
sub edx, 0x5b64a770
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, 0x3d526b00
mov ecx, 0xcb0376f5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov eax, dword [ebp - 0x198]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x18
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x198]
add eax, 4
mov dword [ebp - 0x140], eax
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
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, 0x3d526b00
mov ecx, 0x9d1541
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0x2bd74561
jmp 0x4114b7
mov eax, dword [ebp - 0x140]
movzx edx, word [eax + 0x10]
mov eax, dword [ebp - 0x144]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x13c], eax
mov ax, word [ebp - 0x19a]
mov word [ebp - 0x136], ax
mov dword [ebp - 0x1a8], 0xcbc8c2fe
jmp 0x4114b7
mov ax, word [ebp - 0x136]
movzx eax, ax
imul edx, eax, 0x28
mov eax, dword [ebp - 0x13c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a0]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x43aff7
call fcn.0042f530
mov edx, eax
mov eax, 0x89985378
mov ecx, 0x9eb2a8aa
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
mov edx, ecx
sub edx, 0xdab04884
sub edx, 1
add edx, 0xdab04884
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, 0x474c3227
mov ecx, 0xfa5f5ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x1a0]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
lea eax, [ebp - 0x120]
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]
sub esp, 0x10
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x1a1], al
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x1a0]
mov ecx, dword [ecx + 0xc]
sub eax, 0x271d26a6
add eax, ecx
add eax, 0x271d26a6
mov dword [ebp - 0x130], eax
mov eax, dword [0x44357c]
mov ecx, dword [0x443578]
mov edx, eax
sub edx, 0x5abc51b
sub edx, 1
add edx, 0x5abc51b
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, 0x474c3227
mov ecx, 0x497aadc6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0x751a2138
jmp 0x4114b7
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x130]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0042bd90
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x1a0]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x184]
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 0xc]
sub esi, 0x427070e6
add esi, eax
add esi, 0x427070e6
lea eax, [ebp - 0x120]
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]
sub esp, 0x10
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x1a1], al
mov dword [ebp - 0x1a8], 0xfc912a2b
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0x9eb2a8aa
jmp 0x4114b7
mov ecx, dword [0x44357c]
mov eax, dword [0x443578]
mov edx, ecx
sub edx, 0x2de2b727
sub edx, 1
add edx, 0x2de2b727
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, 0x52079ddf
mov ecx, 0xa79ce5d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov eax, dword [0x44357c]
mov ecx, dword [0x443578]
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, 0x52079ddf
mov ecx, 0xa8a583cc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0x3fb341
jmp 0x4114b7
mov ax, word [ebp - 0x19a]
mov word [ebp - 0x12a], ax
mov dword [ebp - 0x1a8], 0x4a8db580
jmp 0x4114b7
mov ax, word [ebp - 0x12a]
sub ax, 0xd6a4
add ax, 1
add ax, 0xd6a4
mov word [ebp - 0x19a], ax
mov dword [ebp - 0x1a8], 0xf0216939
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0x8402f204
jmp 0x4114b7
mov eax, dword [ebp - 0x188]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x1a8], 0xa5dd72b6
jmp 0x4114b7
mov eax, dword [ebp - 0x128]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x1a8], 0x71faf264
jmp 0x4114b7
mov eax, dword [ebp - 0x124]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x1a8], 0x4e972a1d
jmp 0x4114b7
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0042af10
add esp, 0x1c0
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x1a8], 0x90ad1e97
jmp 0x4114b7
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
lea eax, [ebp - 0x11c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
sub esp, 0x10
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x1a8], 0x9b594e1a
jmp 0x4114b7
mov ecx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x170]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
sub esp, 0xc
mov dword [ebp - 0x1a8], 0x68171e2e
jmp 0x4114b7
lea eax, [ebp - 0x110]
xor ecx, ecx
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]
sub esp, 0x1c
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x1a8], 0xc90cf320
jmp 0x4114b7
mov eax, dword [ebp - 0x188]
xor ecx, ecx
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]
sub esp, 0x18
mov dword [ebp - 0x1a8], 0x7dc21fb6
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0x2e181656
jmp 0x4114b7
mov eax, dword [ebp - 0x154]
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x1a8], 0x69706cd9
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0xcb0376f5
jmp 0x4114b7
mov dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x1a0]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, esi
add eax, edx
xor edx, edx
sub edx, eax
lea eax, [ebp - 0x120]
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]
sub esp, 0x10
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x1a1], al
mov dword [ebp - 0x1a8], 0xfa5f5ca
jmp 0x4114b7
mov dword [ebp - 0x1a8], 0xa79ce5d
jmp 0x40fecf