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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x18c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x190], eax
mov eax, dword [0x434080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x18c], 0x8af22a5
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x194], eax
sub eax, 0x8116102c
je 0x40a2c0
jmp 0x408664
mov eax, dword [ebp - 0x194]
sub eax, 0x835fda72
je 0x40a4c8
jmp 0x40867a
mov eax, dword [ebp - 0x194]
sub eax, 0x87c6e035
je 0x409404
jmp 0x408690
mov eax, dword [ebp - 0x194]
sub eax, 0x8addd9d2
je 0x4090cf
jmp 0x4086a6
mov eax, dword [ebp - 0x194]
sub eax, 0x8b9effee
je 0x408d7c
jmp 0x4086bc
mov eax, dword [ebp - 0x194]
sub eax, 0x8d8dd04d
je 0x409d6b
jmp 0x4086d2
mov eax, dword [ebp - 0x194]
sub eax, 0x8f89b024
je 0x40a25c
jmp 0x4086e8
mov eax, dword [ebp - 0x194]
sub eax, 0x8fad2d10
je 0x409626
jmp 0x4086fe
mov eax, dword [ebp - 0x194]
sub eax, 0x91566667
je 0x40a4e9
jmp 0x408714
mov eax, dword [ebp - 0x194]
sub eax, 0x93e92745
je 0x409518
jmp 0x40872a
mov eax, dword [ebp - 0x194]
sub eax, 0x94874f3d
je 0x4099c2
jmp 0x408740
mov eax, dword [ebp - 0x194]
sub eax, 0x968ba7e1
je 0x409a47
jmp 0x408756
mov eax, dword [ebp - 0x194]
sub eax, 0x97778e74
je 0x409493
jmp 0x40876c
mov eax, dword [ebp - 0x194]
sub eax, 0x9944999c
je 0x409062
jmp 0x408782
mov eax, dword [ebp - 0x194]
sub eax, 0x9e6b6a5e
je 0x4091c2
jmp 0x408798
mov eax, dword [ebp - 0x194]
sub eax, 0x9ebda757
je 0x4098c8
jmp 0x4087ae
mov eax, dword [ebp - 0x194]
sub eax, 0xa82a6d0b
je 0x409352
jmp 0x4087c4
mov eax, dword [ebp - 0x194]
sub eax, 0xa9efa456
je 0x409509
jmp 0x4087da
mov eax, dword [ebp - 0x194]
sub eax, 0xaadc62e0
je 0x409835
jmp 0x4087f0
mov eax, dword [ebp - 0x194]
sub eax, 0xab0f1df9
je 0x40a0b6
jmp 0x408806
mov eax, dword [ebp - 0x194]
sub eax, 0xaf98317a
je 0x409e65
jmp 0x40881c
mov eax, dword [ebp - 0x194]
sub eax, 0xb1df7585
je 0x4097bf
jmp 0x408832
mov eax, dword [ebp - 0x194]
sub eax, 0xb2986b3b
je 0x408f1c
jmp 0x408848
mov eax, dword [ebp - 0x194]
sub eax, 0xb948b660
je 0x4096eb
jmp 0x40885e
mov eax, dword [ebp - 0x194]
sub eax, 0xbdaa6f3d
je 0x40995e
jmp 0x408874
mov eax, dword [ebp - 0x194]
sub eax, 0xbf26001c
je 0x409675
jmp 0x40888a
mov eax, dword [ebp - 0x194]
sub eax, 0xbfba9b9d
je 0x4092de
jmp 0x4088a0
mov eax, dword [ebp - 0x194]
sub eax, 0xc03bf923
je 0x40a0a7
jmp 0x4088b6
mov eax, dword [ebp - 0x194]
sub eax, 0xc4154518
je 0x409145
jmp 0x4088cc
mov eax, dword [ebp - 0x194]
sub eax, 0xc572af4d
je 0x409023
jmp 0x4088e2
mov eax, dword [ebp - 0x194]
sub eax, 0xc5ced1d9
je 0x4093c8
jmp 0x4088f8
mov eax, dword [ebp - 0x194]
sub eax, 0xc9a78abf
je 0x409014
jmp 0x40890e
mov eax, dword [ebp - 0x194]
sub eax, 0xca22104f
je 0x4092cf
jmp 0x408924
mov eax, dword [ebp - 0x194]
sub eax, 0xcb782a33
je 0x409238
jmp 0x40893a
mov eax, dword [ebp - 0x194]
sub eax, 0xce0b2a5b
je 0x409770
jmp 0x408950
mov eax, dword [ebp - 0x194]
sub eax, 0xd2425714
je 0x408f0d
jmp 0x408966
mov eax, dword [ebp - 0x194]
sub eax, 0xd7879105
je 0x409e74
jmp 0x40897c
mov eax, dword [ebp - 0x194]
sub eax, 0xdaede844
je 0x40a214
jmp 0x408992
mov eax, dword [ebp - 0x194]
sub eax, 0xdb894384
je 0x408f6d
jmp 0x4089a8
mov eax, dword [ebp - 0x194]
sub eax, 0xdbfa482c
je 0x408eec
jmp 0x4089be
mov eax, dword [ebp - 0x194]
sub eax, 0xe1bd8403
je 0x40979f
jmp 0x4089d4
mov eax, dword [ebp - 0x194]
sub eax, 0xe5396b76
je 0x409ec0
jmp 0x4089ea
mov eax, dword [ebp - 0x194]
sub eax, 0xe741c385
je 0x40a32d
jmp 0x408a00
mov eax, dword [ebp - 0x194]
sub eax, 0xe7f009df
je 0x409b42
jmp 0x408a16
mov eax, dword [ebp - 0x194]
sub eax, 0xea34a3c8
je 0x409d1a
jmp 0x408a2c
mov eax, dword [ebp - 0x194]
sub eax, 0xef00418b
je 0x409561
jmp 0x408a42
mov eax, dword [ebp - 0x194]
sub eax, 0xf10e52be
je 0x409425
jmp 0x408a58
mov eax, dword [ebp - 0x194]
sub eax, 0xf3949007
je 0x4093e9
jmp 0x408a6e
mov eax, dword [ebp - 0x194]
sub eax, 0xf7bd3d35
je 0x409faf
jmp 0x408a84
mov eax, dword [ebp - 0x194]
sub eax, 0x2711205
je 0x40a18f
jmp 0x408a9a
mov eax, dword [ebp - 0x194]
sub eax, 0x7b20813
je 0x40a107
jmp 0x408ab0
mov eax, dword [ebp - 0x194]
sub eax, 0x8af22a5
je 0x408d49
jmp 0x408ac6
mov eax, dword [ebp - 0x194]
sub eax, 0xa0b082f
je 0x408dea
jmp 0x408adc
mov eax, dword [ebp - 0x194]
sub eax, 0xbe94c60
je 0x40a3d0
jmp 0x408af2
mov eax, dword [ebp - 0x194]
sub eax, 0x138cd934
je 0x40a2cf
jmp 0x408b08
mov eax, dword [ebp - 0x194]
sub eax, 0x13f8dd42
je 0x40a1af
jmp 0x408b1e
mov eax, dword [ebp - 0x194]
sub eax, 0x175ad3a6
je 0x4098e9
jmp 0x408b34
mov eax, dword [ebp - 0x194]
sub eax, 0x17f5976b
je 0x409ecf
jmp 0x408b4a
mov eax, dword [ebp - 0x194]
sub eax, 0x1afa13bb
je 0x409301
jmp 0x408b60
mov eax, dword [ebp - 0x194]
sub eax, 0x1b97ca9d
je 0x40a4ad
jmp 0x408b76
mov eax, dword [ebp - 0x194]
sub eax, 0x1ce87504
je 0x409b21
jmp 0x408b8c
mov eax, dword [ebp - 0x194]
sub eax, 0x1e42a45b
je 0x40a358
jmp 0x408ba2
mov eax, dword [ebp - 0x194]
sub eax, 0x23c66e36
je 0x40a19e
jmp 0x408bb8
mov eax, dword [ebp - 0x194]
sub eax, 0x2a292757
je 0x40a50c
jmp 0x408bce
mov eax, dword [ebp - 0x194]
sub eax, 0x310cbf51
je 0x409e15
push eax
mov eax, esp
mov dword [ebp - 0x174], eax
push eax
mov eax, esp
mov dword [ebp - 0x170], eax
push eax
mov eax, esp
mov dword [ebp - 0x16c], eax
push eax
mov eax, esp
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x18c], 0x8b9effee
jmp 0x40a528
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
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, 0x13f8dd42
mov ecx, 0xa0b082f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov eax, dword [ebp - 0x190]
push eax
mov ecx, esp
mov dword [ebp - 0x164], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x160], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x15c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x158], ecx
mov dword [ebp - 0x178], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041f040
add esp, 0xc
mov eax, dword [ebp - 0x178]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x180], eax
cmp dword [ebp - 0x180], 0
setne al
and al, 1
mov byte [ebp - 0x151], al
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0xb81cbe77
sub edx, 1
add edx, 0xb81cbe77
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, 0x13f8dd42
mov ecx, 0xdbfa482c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov dl, byte [ebp - 0x151]
mov eax, 0xd2425714
mov ecx, 0xb2986b3b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov dword [ebp - 0x18c], 0x23c66e36
jmp 0x40a528
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
mov edx, eax
sub edx, 0x943af6b5
sub edx, 1
add edx, 0x943af6b5
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, 0xdaede844
mov ecx, 0xdb894384
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
lea eax, [ebp - 0x11c]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x184], eax
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
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, 0xdaede844
mov ecx, 0xc9a78abf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov dword [ebp - 0x18c], 0xc572af4d
jmp 0x40a528
lea eax, [ebp - 0x110]
mov ecx, dword [ebp - 0x180]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x110]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x18c], 0x9944999c
jmp 0x40a528
mov eax, dword [ebp - 0x150]
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 - 0x188], eax
mov edx, 0xffffffff
mov eax, 0x9e6b6a5e
mov ecx, 0x8addd9d2
cmp dword [ebp - 0x188], edx
cmove eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0x2cdce52a
sub edx, 1
add edx, 0x2cdce52a
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, 0x8f89b024
mov ecx, 0xc4154518
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
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, 0x8f89b024
mov ecx, 0x3afc7d3b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0xe2c1c070
sub edx, 1
add edx, 0xe2c1c070
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, 0x6b0e9244
mov ecx, 0xcb782a33
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov eax, dword [ebp - 0x188]
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 ecx, eax
mov eax, dword [ebp - 0x174]
mov dword [eax], ecx
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
mov edx, eax
sub edx, 0xf01a570f
sub edx, 1
add edx, 0xf01a570f
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, 0x6b0e9244
mov ecx, 0xca22104f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov dword [ebp - 0x18c], 0xbfba9b9d
jmp 0x40a528
mov eax, dword [ebp - 0x174]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x149], al
mov dword [ebp - 0x18c], 0x1afa13bb
jmp 0x40a528
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
mov edx, eax
add edx, 0x890bfc2f
sub edx, 1
sub edx, 0x890bfc2f
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, 0x8116102c
mov ecx, 0xa82a6d0b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0xb734cce0
sub edx, 1
add edx, 0xb734cce0
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, 0x8116102c
mov ecx, 0xc5ced1d9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov dl, byte [ebp - 0x149]
mov eax, 0xf3949007
mov ecx, 0x93e92745
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x18c], 0x87c6e035
jmp 0x40a528
mov eax, dword [ebp - 0x148]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x18c], 0xf10e52be
jmp 0x40a528
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
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, 0x138cd934
mov ecx, 0x97778e74
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0x74ff81c1
sub edx, 1
sub edx, 0x74ff81c1
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, 0x138cd934
mov ecx, 0xa9efa456
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov dword [ebp - 0x18c], 0x23c66e36
jmp 0x40a528
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
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, 0x35b7f031
mov ecx, 0xef00418b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x14
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, eax
mov eax, dword [ebp - 0x170]
mov dword [eax], ecx
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0x9747b7b5
sub edx, 1
add edx, 0x9747b7b5
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, 0x35b7f031
mov ecx, 0x6ee69c16
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x16c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
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 - 0x168]
mov dword [eax], ecx
mov eax, dword [ebp - 0x164]
mov word [eax], 0
mov dword [ebp - 0x18c], 0xbf26001c
jmp 0x40a528
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0xd0cd30d6
sub edx, 1
sub edx, 0xd0cd30d6
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, 0xe741c385
mov ecx, 0xb948b660
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0xccfdb897
sub edx, 1
sub edx, 0xccfdb897
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, 0xe741c385
mov ecx, 0x629102ef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov eax, dword [ebp - 0x164]
movzx eax, word [eax]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x18c], 0xe1bd8403
jmp 0x40a528
mov eax, dword [ebp - 0x140]
mov ax, word [eax + 2]
mov word [ebp - 0x13c], ax
mov dword [ebp - 0x18c], 0xb1df7585
jmp 0x40a528
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0x13e5a0a3
sub edx, 1
add edx, 0x13e5a0a3
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, 0x7eeb66e6
mov ecx, 0xaadc62e0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov ax, word [ebp - 0x13c]
movzx ecx, ax
mov eax, dword [ebp - 0x144]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x139], al
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0x5c581896
sub edx, 1
sub edx, 0x5c581896
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, 0x7eeb66e6
mov ecx, 0x9ebda757
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov dl, byte [ebp - 0x139]
mov eax, 0x17f5976b
mov ecx, 0x175ad3a6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x18c], 0x7a548326
jmp 0x40a528
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
mov ax, word [eax + 0x14]
mov word [ebp - 0x134], ax
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
mov edx, eax
sub edx, 0xdaca3a18
sub edx, 1
add edx, 0xdaca3a18
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, 0x1e42a45b
mov ecx, 0x94874f3d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov dword [ebp - 0x18c], 0x593e4e50
jmp 0x40a528
mov ax, word [ebp - 0x134]
movzx eax, ax
mov ecx, dword [ebp - 0x138]
sub ecx, 0xc600d68e
add ecx, eax
add ecx, 0xc600d68e
mov eax, dword [ebp - 0x164]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [ebp - 0x160]
mov dword [eax], ecx
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42d969
call fcn.00422940
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x131], al
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
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, 0x6156bf6e
mov ecx, 0x1ce87504
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov dl, byte [ebp - 0x131]
mov eax, 0xe7f009df
mov ecx, 0xaf98317a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0x615752aa
sub edx, 1
sub edx, 0x615752aa
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, 0xbe94c60
mov ecx, 0x36a22f7b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
mov edx, eax
add edx, 0x6bb5178a
sub edx, 1
sub edx, 0x6bb5178a
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, 0x1b97ca9d
mov ecx, 0x8d8dd04d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x160]
mov ecx, dword [ecx]
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 - 0x124], eax
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0x757a2a1a
sub edx, 1
add edx, 0x757a2a1a
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, 0x1b97ca9d
mov ecx, 0x70933a1e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov dword [ebp - 0x18c], 0xd7879105
jmp 0x40a528
mov eax, dword [ebp - 0x164]
mov ax, word [eax]
mov word [ebp - 0x11e], ax
mov dword [ebp - 0x18c], 0x71cc7998
jmp 0x40a528
mov dword [ebp - 0x18c], 0xce0b2a5b
jmp 0x40a528
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
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, 0x835fda72
mov ecx, 0x66ba4543
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
sub edx, 0x225bf644
sub edx, 1
add edx, 0x225bf644
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, 0x91566667
mov ecx, 0x5178256f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov dword [ebp - 0x18c], 0xab0f1df9
jmp 0x40a528
mov eax, dword [0x435574]
mov ecx, dword [0x435570]
mov edx, eax
add edx, 0xe5b68d4b
sub edx, 1
sub edx, 0xe5b68d4b
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, 0x2a292757
mov ecx, 0x7b20813
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov eax, dword [ebp - 0x17c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x435574]
mov eax, dword [0x435570]
mov edx, ecx
add edx, 0xeac2a7e5
sub edx, 1
sub edx, 0xeac2a7e5
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, 0x2a292757
mov ecx, 0x2711205
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x18c], eax
jmp 0x40a528
mov dword [ebp - 0x18c], 0x23c66e36
jmp 0x40a528
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041e350
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x178], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0x11c]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041f040
add esp, 0xc
mov eax, dword [ebp - 0x178]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x18c], 0xa0b082f
jmp 0x40a528
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
lea eax, [ebp - 0x11c]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0xc
call sub.KERNEL32.dll_K32GetModuleInformation
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x18c], 0xdb894384
jmp 0x40a528
mov dword [ebp - 0x18c], 0xc4154518
jmp 0x40a528
mov dword [ebp - 0x18c], 0xa82a6d0b
jmp 0x40a528
mov dword [ebp - 0x18c], 0x97778e74
jmp 0x40a528
mov dword [ebp - 0x18c], 0xb948b660
jmp 0x40a528
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x18c], 0xbdaa6f3d
jmp 0x40a528
mov eax, dword [ebp - 0x15c]
mov dword [eax], 0
mov eax, dword [ebp - 0x160]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x160]
mov eax, dword [eax]
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
mov eax, dword [ebp - 0x15c]
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 - 0x158]
mov byte [eax], cl
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x160]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor edx, edx
sub edx, eax
mov eax, dword [ebp - 0x170]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x160]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x160]
mov eax, dword [eax]
mov eax, dword [eax + 8]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041f1a0
add esp, 0xc
mov eax, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x18c], 0x36a22f7b
jmp 0x40a528
mov eax, dword [ebp - 0x128]
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x18c], 0x8d8dd04d
jmp 0x40a528
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x18c], 0x66ba4543
jmp 0x40a528
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x18c], 0x5178256f
jmp 0x40a528
mov eax, dword [ebp - 0x17c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x18c], 0x7b20813
jmp 0x408648