Function at 0x407e50
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 dword [ebp - 0x1a8], eax
mov eax, dword [0x435080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1a4], 0x9798a022
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x1ac], eax
sub eax, 0x82e9841d
je 0x408a74
jmp 0x407e94
mov eax, dword [ebp - 0x1ac]
sub eax, 0x834f3057
je 0x408cca
jmp 0x407eaa
mov eax, dword [ebp - 0x1ac]
sub eax, 0x8c0f853f
je 0x4091aa
jmp 0x407ec0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x8f74cba0
je 0x4093fd
jmp 0x407ed6
mov eax, dword [ebp - 0x1ac]
sub eax, 0x907bacb0
je 0x40935a
jmp 0x407eec
mov eax, dword [ebp - 0x1ac]
sub eax, 0x952dd664
je 0x40938a
jmp 0x407f02
mov eax, dword [ebp - 0x1ac]
sub eax, 0x962835f9
je 0x408cf8
jmp 0x407f18
mov eax, dword [ebp - 0x1ac]
sub eax, 0x9798a022
je 0x40842f
jmp 0x407f2e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x97c1544c
je 0x40911e
jmp 0x407f44
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa2f6a8ab
je 0x40922f
jmp 0x407f5a
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa45168ed
je 0x408729
jmp 0x407f70
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa47b064a
je 0x408ddc
jmp 0x407f86
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa52d88af
je 0x409454
jmp 0x407f9c
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa6776d6f
je 0x408a29
jmp 0x407fb2
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa82c6a6b
je 0x409504
jmp 0x407fc8
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa8adc407
je 0x40939e
jmp 0x407fde
mov eax, dword [ebp - 0x1ac]
sub eax, 0xae053e75
je 0x408582
jmp 0x407ff4
mov eax, dword [ebp - 0x1ac]
sub eax, 0xb7425064
je 0x408cd9
jmp 0x40800a
mov eax, dword [ebp - 0x1ac]
sub eax, 0xbbb188c8
je 0x408f59
jmp 0x408020
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc0d4e3f6
je 0x408561
jmp 0x408036
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc28b2bd6
je 0x409250
jmp 0x40804c
mov eax, dword [ebp - 0x1ac]
sub eax, 0xcac64b8b
je 0x40954a
jmp 0x408062
mov eax, dword [ebp - 0x1ac]
sub eax, 0xcf3491ee
je 0x40940c
jmp 0x408078
mov eax, dword [ebp - 0x1ac]
sub eax, 0xd15a50eb
je 0x408ecb
jmp 0x40808e
mov eax, dword [ebp - 0x1ac]
sub eax, 0xdffba5d9
je 0x40953b
jmp 0x4080a4
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe04b34b1
je 0x408dfd
jmp 0x4080ba
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe456534a
je 0x409161
jmp 0x4080d0
mov eax, dword [ebp - 0x1ac]
sub eax, 0xeffb7ff1
je 0x408f68
jmp 0x4080e6
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf1715da5
je 0x40889e
jmp 0x4080fc
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf314d96e
je 0x408ac9
jmp 0x408112
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf75980f6
je 0x408624
jmp 0x408128
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf8348d7b
je 0x408a08
jmp 0x40813e
mov eax, dword [ebp - 0x1ac]
sub eax, 0xf8c521e2
je 0x408979
jmp 0x408154
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfc70007d
je 0x408b0e
jmp 0x40816a
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfdac2af0
je 0x408552
jmp 0x408180
mov eax, dword [ebp - 0x1ac]
sub eax, 0xfe1578c1
je 0x4089e5
jmp 0x408196
mov eax, dword [ebp - 0x1ac]
sub eax, 0x7c912bd
je 0x40910f
jmp 0x4081ac
mov eax, dword [ebp - 0x1ac]
sub eax, 0xa6732ae
je 0x408633
jmp 0x4081c2
mov eax, dword [ebp - 0x1ac]
sub eax, 0xc73fd35
je 0x408684
jmp 0x4081d8
mov eax, dword [ebp - 0x1ac]
sub eax, 0xe9e6b39
je 0x408bd5
jmp 0x4081ee
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1137a0f0
je 0x4092c6
jmp 0x408204
mov eax, dword [ebp - 0x1ac]
sub eax, 0x17e2b281
je 0x408a44
jmp 0x40821a
mov eax, dword [ebp - 0x1ac]
sub eax, 0x182f7302
je 0x40871a
jmp 0x408230
mov eax, dword [ebp - 0x1ac]
sub eax, 0x18d00b94
je 0x4088ef
jmp 0x408246
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1a9c8a1a
je 0x409369
jmp 0x40825c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1ae9e1d3
je 0x408a65
jmp 0x408272
mov eax, dword [ebp - 0x1ac]
sub eax, 0x1ec26af8
je 0x408c5a
jmp 0x408288
mov eax, dword [ebp - 0x1ac]
sub eax, 0x228a1c0f
je 0x408e55
jmp 0x40829e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2b404963
je 0x408fde
jmp 0x4082b4
mov eax, dword [ebp - 0x1ac]
sub eax, 0x2dc52754
je 0x408f9b
jmp 0x4082ca
mov eax, dword [ebp - 0x1ac]
sub eax, 0x36946d0e
je 0x408480
jmp 0x4082e0
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3b89b10c
je 0x408958
jmp 0x4082f6
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3b9deb6d
je 0x4094e6
jmp 0x40830c
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3db40c6e
je 0x408b84
jmp 0x408322
mov eax, dword [ebp - 0x1ac]
sub eax, 0x3f1c859a
je 0x40879f
jmp 0x408338
mov eax, dword [ebp - 0x1ac]
sub eax, 0x492c1d72
je 0x409220
jmp 0x40834e
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4e3b85ec
je 0x4094f5
jmp 0x408364
mov eax, dword [ebp - 0x1ac]
sub eax, 0x4e8ad61f
je 0x408be4
jmp 0x40837a
mov eax, dword [ebp - 0x1ac]
sub eax, 0x510664e4
je 0x40913b
jmp 0x408390
mov eax, dword [ebp - 0x1ac]
sub eax, 0x53d458ae
je 0x408d6e
jmp 0x4083a6
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5654aaea
je 0x409083
jmp 0x4083bc
mov eax, dword [ebp - 0x1ac]
sub eax, 0x5964531c
je 0x409520
jmp 0x4083d2
mov eax, dword [ebp - 0x1ac]
sub eax, 0x6414e095
je 0x408988
jmp 0x4083e8
mov eax, dword [ebp - 0x1ac]
sub eax, 0x6bde7fd0
je 0x4085d3
jmp 0x4083fe
mov eax, dword [ebp - 0x1ac]
sub eax, 0x70dbe5d2
je 0x4094d1
mov eax, dword [0x4365b4]
mov ecx, dword [0x4365b0]
mov edx, eax
add edx, 0x3d57637a
sub edx, 1
sub edx, 0x3d57637a
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, 0xa8adc407
mov ecx, 0x36946d0e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x174], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.004201f0
mov eax, dword [ebp - 0x174]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x170], eax
mov ecx, dword [0x4365b4]
mov eax, dword [0x4365b0]
mov edx, ecx
add edx, 0xb41afe63
sub edx, 1
sub edx, 0xb41afe63
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, 0xa8adc407
mov ecx, 0xfdac2af0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov dword [ebp - 0x1a4], 0xc0d4e3f6
jmp 0x409566
mov edx, dword [ebp - 0x170]
mov eax, 0xae053e75
mov ecx, 0xa6732ae
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov eax, dword [0x4365b4]
mov ecx, dword [0x4365b0]
mov edx, eax
sub edx, 0xdc190cfa
sub edx, 1
add edx, 0xdc190cfa
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, 0x8f74cba0
mov ecx, 0x6bde7fd0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov eax, dword [0x4365b4]
mov ecx, dword [0x4365b0]
mov edx, eax
sub edx, 0xf317cae0
sub edx, 1
add edx, 0xf317cae0
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, 0x8f74cba0
mov ecx, 0xf75980f6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov dword [ebp - 0x1a4], 0x952dd664
jmp 0x409566
mov eax, dword [0x4365b4]
mov ecx, dword [0x4365b0]
mov edx, eax
sub edx, 0xf2cdc63a
sub edx, 1
add edx, 0xf2cdc63a
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, 0xcf3491ee
mov ecx, 0xc73fd35
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
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 - 0x180], eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x16c], eax
mov eax, dword [0x4365b4]
mov ecx, dword [0x4365b0]
mov edx, eax
sub edx, 0xf0b8fde3
sub edx, 1
add edx, 0xf0b8fde3
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, 0xcf3491ee
mov ecx, 0x182f7302
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov dword [ebp - 0x1a4], 0xa45168ed
jmp 0x409566
mov ecx, dword [0x4365b4]
mov eax, dword [0x4365b0]
mov edx, ecx
sub edx, 0x33707bce
sub edx, 1
add edx, 0x33707bce
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, 0xa52d88af
mov ecx, 0x3f1c859a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x16c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
sub esp, 0xc
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 - 0x184], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x168], eax
mov ecx, dword [0x4365b4]
mov eax, dword [0x4365b0]
mov edx, ecx
sub edx, 0x35eb898d
sub edx, 1
add edx, 0x35eb898d
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, 0xa52d88af
mov ecx, 0x7219cc40
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov eax, dword [0x4365b4]
mov ecx, dword [0x4365b0]
mov edx, eax
add edx, 0xa1084af5
sub edx, 1
sub edx, 0xa1084af5
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, 0x70dbe5d2
mov ecx, 0x18d00b94
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov eax, dword [ebp - 0x168]
mov ecx, 0xffffffff
cmp eax, ecx
sete al
and al, 1
mov byte [ebp - 0x161], al
mov eax, dword [0x4365b4]
mov ecx, dword [0x4365b0]
mov edx, eax
add edx, 0xe09c377a
sub edx, 1
sub edx, 0xe09c377a
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, 0x70dbe5d2
mov ecx, 0x3b89b10c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov dl, byte [ebp - 0x161]
mov eax, 0x6414e095
mov ecx, 0xf8c521e2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov dword [ebp - 0x1a4], 0x952dd664
jmp 0x409566
mov eax, dword [ebp - 0x184]
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 - 0x188], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x1a4], 0xfe1578c1
jmp 0x409566
mov eax, dword [ebp - 0x160]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x159], al
mov dword [ebp - 0x1a4], 0xf8348d7b
jmp 0x409566
mov dl, byte [ebp - 0x159]
mov eax, 0xa6776d6f
mov ecx, 0x82e9841d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x1a4], 0x17e2b281
jmp 0x409566
mov eax, dword [ebp - 0x158]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x1a4], 0x1ae9e1d3
jmp 0x409566
mov dword [ebp - 0x1a4], 0x952dd664
jmp 0x409566
mov eax, dword [ebp - 0x188]
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 - 0x18c], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1a4], 0xf314d96e
jmp 0x409566
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x190]
mov ecx, dword [ecx + 0x3c]
add eax, 0xc6ae3f62
add eax, ecx
sub eax, 0xc6ae3f62
mov dword [ebp - 0x194], eax
mov word [ebp - 0x196], 0
mov dword [ebp - 0x1a4], 0xfc70007d
jmp 0x409566
mov ecx, dword [0x4365b4]
mov eax, dword [0x4365b0]
mov edx, ecx
add edx, 0xda0d41c9
sub edx, 1
sub edx, 0xda0d41c9
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, 0x3b9deb6d
mov ecx, 0x3db40c6e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov eax, dword [0x4365b4]
mov ecx, dword [0x4365b0]
mov edx, eax
sub edx, 0x65baec03
sub edx, 1
add edx, 0x65baec03
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, 0x3b9deb6d
mov ecx, 0xe9e6b39
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov dword [ebp - 0x1a4], 0x4e8ad61f
jmp 0x409566
mov ecx, dword [0x4365b4]
mov eax, dword [0x4365b0]
mov edx, ecx
sub edx, 0xe0d12a1e
sub edx, 1
add edx, 0xe0d12a1e
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, 0x4e3b85ec
mov ecx, 0x1ec26af8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
movzx eax, word [ebp - 0x196]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x194]
add eax, 4
add eax, 2
mov dword [ebp - 0x14c], eax
mov eax, dword [0x4365b4]
mov ecx, dword [0x4365b0]
mov edx, eax
sub edx, 0xcb85f159
sub edx, 1
add edx, 0xcb85f159
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, 0x4e3b85ec
mov ecx, 0x834f3057
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov dword [ebp - 0x1a4], 0xb7425064
jmp 0x409566
mov eax, dword [ebp - 0x14c]
mov ax, word [eax]
mov word [ebp - 0x148], ax
mov dword [ebp - 0x1a4], 0x962835f9
jmp 0x409566
mov ecx, dword [0x4365b4]
mov eax, dword [0x4365b0]
mov edx, ecx
sub edx, 0xec257a82
sub edx, 1
add edx, 0xec257a82
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, 0xa82c6a6b
mov ecx, 0x53d458ae
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov ax, word [ebp - 0x148]
movzx ecx, ax
mov eax, dword [ebp - 0x150]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x145], al
mov eax, dword [0x4365b4]
mov ecx, dword [0x4365b0]
mov edx, eax
add edx, 0x20c89bce
sub edx, 1
sub edx, 0x20c89bce
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, 0xa82c6a6b
mov ecx, 0xa47b064a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov dl, byte [ebp - 0x145]
mov eax, 0xa2f6a8ab
mov ecx, 0xe04b34b1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov eax, dword [ebp - 0x194]
sub eax, 0x5672057c
add eax, 0x18
add eax, 0x5672057c
mov ecx, dword [ebp - 0x194]
movzx edx, word [ecx + 0x14]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
movzx ecx, word [ebp - 0x196]
imul edx, ecx, 0x28
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x1a4], 0x228a1c0f
jmp 0x409566
mov ecx, dword [0x4365b4]
mov eax, dword [0x4365b0]
mov edx, ecx
sub edx, 0xf548981c
sub edx, 1
add edx, 0xf548981c
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, 0x5964531c
mov ecx, 0xd15a50eb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x140], eax
mov ecx, dword [0x4365b4]
mov eax, dword [0x4365b0]
mov edx, ecx
sub edx, 0xe9e1cd26
sub edx, 1
add edx, 0xe9e1cd26
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, 0x5964531c
mov ecx, 0xbbb188c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov dword [ebp - 0x1a4], 0xeffb7ff1
jmp 0x409566
mov ecx, dword [ebp - 0x140]
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42e959
call fcn.00423af0
mov edx, eax
mov eax, 0x2dc52754
mov ecx, 0x7c912bd
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x19c]
add eax, 0xc
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x1a4], 0x2b404963
jmp 0x409566
mov eax, dword [ebp - 0x134]
mov eax, dword [eax]
mov edx, dword [ebp - 0x138]
sub edx, 0x6bcb317f
add edx, eax
add edx, 0x6bcb317f
mov ecx, dword [ebp - 0x13c]
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 - 0x19d], al
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x19c]
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 - 0x130], eax
mov eax, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x19c]
mov ecx, dword [ecx + 0xc]
sub eax, 0x40a6b624
add eax, ecx
add eax, 0x40a6b624
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x1a4], 0x5654aaea
jmp 0x409566
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x12c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00420350
mov ecx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x19c]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x180]
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax + 0xc]
add esi, 0xf939bf0b
add esi, eax
sub esi, 0xf939bf0b
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 - 0x19d], al
mov dword [ebp - 0x1a4], 0x7c912bd
jmp 0x409566
mov dword [ebp - 0x1a4], 0x97c1544c
jmp 0x409566
mov ax, word [ebp - 0x196]
mov word [ebp - 0x126], ax
mov dword [ebp - 0x1a4], 0x510664e4
jmp 0x409566
mov ax, word [ebp - 0x126]
xor ecx, ecx
sub cx, 1
sub ax, cx
mov word [ebp - 0x196], ax
mov dword [ebp - 0x1a4], 0xe456534a
jmp 0x409566
mov eax, dword [0x4365b4]
mov ecx, dword [0x4365b0]
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, 0xdffba5d9
mov ecx, 0x8c0f853f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov ecx, dword [0x4365b4]
mov eax, dword [0x4365b0]
mov edx, ecx
sub edx, 0x8a2d4a05
sub edx, 1
add edx, 0x8a2d4a05
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, 0xdffba5d9
mov ecx, 0x492c1d72
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov dword [ebp - 0x1a4], 0x4e8ad61f
jmp 0x409566
mov eax, dword [ebp - 0x184]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x1a4], 0xc28b2bd6
jmp 0x409566
mov ecx, dword [0x4365b4]
mov eax, dword [0x4365b0]
mov edx, ecx
add edx, 0x3daa3d02
sub edx, 1
sub edx, 0x3daa3d02
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, 0xcac64b8b
mov ecx, 0x1137a0f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov eax, dword [ebp - 0x188]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x124], eax
mov ecx, dword [0x4365b4]
mov eax, dword [0x4365b0]
mov edx, ecx
sub edx, 0xb28bbb64
sub edx, 1
add edx, 0xb28bbb64
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, 0xcac64b8b
mov ecx, 0x907bacb0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1a4], eax
jmp 0x409566
mov dword [ebp - 0x1a4], 0x1a9c8a1a
jmp 0x409566
mov eax, dword [ebp - 0x124]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x1a4], 0x952dd664
jmp 0x409566
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041f4d0
add esp, 0x1c0
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x174], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x178], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.004201f0
mov eax, dword [ebp - 0x174]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x1a4], 0x36946d0e
jmp 0x409566
mov dword [ebp - 0x1a4], 0x6bde7fd0
jmp 0x409566
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
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 - 0x180], eax
mov dword [ebp - 0x1a4], 0xc73fd35
jmp 0x409566
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x16c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
sub esp, 0xc
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 - 0x184], eax
mov dword [ebp - 0x1a4], 0x3f1c859a
jmp 0x409566
mov dword [ebp - 0x1a4], 0x3db40c6e
jmp 0x409566
mov dword [ebp - 0x1a4], 0x1ec26af8
jmp 0x409566
mov ax, word [ebp - 0x148]
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x1a4], 0x53d458ae
jmp 0x409566
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1a4], 0xd15a50eb
jmp 0x409566
mov dword [ebp - 0x1a4], 0x8c0f853f
jmp 0x409566
mov eax, dword [ebp - 0x188]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x1a4], 0x1137a0f0
jmp 0x407e78