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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x190
mov eax, dword [ebp + 8]
mov dword [ebp - 0x194], eax
mov eax, dword [0x438080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x190], 0x4ead71f7
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x198], eax
sub eax, 0x86afb8fe
je 0x40922d
jmp 0x407be4
mov eax, dword [ebp - 0x198]
sub eax, 0x876ed68a
je 0x4088ef
jmp 0x407bfa
mov eax, dword [ebp - 0x198]
sub eax, 0x89b36e61
je 0x408788
jmp 0x407c10
mov eax, dword [ebp - 0x198]
sub eax, 0x8d68a03e
je 0x408769
jmp 0x407c26
mov eax, dword [ebp - 0x198]
sub eax, 0x9298c146
je 0x408e5f
jmp 0x407c3c
mov eax, dword [ebp - 0x198]
sub eax, 0x9777370b
je 0x408ef4
jmp 0x407c52
mov eax, dword [ebp - 0x198]
sub eax, 0x97fa0d2c
je 0x4084fa
jmp 0x407c68
mov eax, dword [ebp - 0x198]
sub eax, 0x9baf269b
je 0x40824d
jmp 0x407c7e
mov eax, dword [ebp - 0x198]
sub eax, 0x9d0c35b5
je 0x408e0e
jmp 0x407c94
mov eax, dword [ebp - 0x198]
sub eax, 0xa86a8fbc
je 0x4086e1
jmp 0x407caa
mov eax, dword [ebp - 0x198]
sub eax, 0xb05d0c3b
je 0x408fd8
jmp 0x407cc0
mov eax, dword [ebp - 0x198]
sub eax, 0xb272b8b5
je 0x408b7c
jmp 0x407cd6
mov eax, dword [ebp - 0x198]
sub eax, 0xb641b81e
je 0x40886a
jmp 0x407cec
mov eax, dword [ebp - 0x198]
sub eax, 0xb753f8fe
je 0x408515
jmp 0x407d02
mov eax, dword [ebp - 0x198]
sub eax, 0xb7e8308a
je 0x4090d2
jmp 0x407d18
mov eax, dword [ebp - 0x198]
sub eax, 0xb9d754e1
je 0x408de5
jmp 0x407d2e
mov eax, dword [ebp - 0x198]
sub eax, 0xc1d23a37
je 0x409282
jmp 0x407d44
mov eax, dword [ebp - 0x198]
sub eax, 0xc5f3f0f4
je 0x408f3d
jmp 0x407d5a
mov eax, dword [ebp - 0x198]
sub eax, 0xcdee0916
je 0x4083bd
jmp 0x407d70
mov eax, dword [ebp - 0x198]
sub eax, 0xd0148d7d
je 0x408b9d
jmp 0x407d86
mov eax, dword [ebp - 0x198]
sub eax, 0xd5688b6a
je 0x408940
jmp 0x407d9c
mov eax, dword [ebp - 0x198]
sub eax, 0xd619b5fb
je 0x408293
jmp 0x407db2
mov eax, dword [ebp - 0x198]
sub eax, 0xdd0ec45a
je 0x4093f2
jmp 0x407dc8
mov eax, dword [ebp - 0x198]
sub eax, 0xe885601e
je 0x408b09
jmp 0x407dde
mov eax, dword [ebp - 0x198]
sub eax, 0xeb46db95
je 0x408545
jmp 0x407df4
mov eax, dword [ebp - 0x198]
sub eax, 0xec9cad82
je 0x40875a
jmp 0x407e0a
mov eax, dword [ebp - 0x198]
sub eax, 0xed083a3d
je 0x408fc9
jmp 0x407e20
mov eax, dword [ebp - 0x198]
sub eax, 0xee05aa33
je 0x40929e
jmp 0x407e36
mov eax, dword [ebp - 0x198]
sub eax, 0xf2cef28b
je 0x408a9b
jmp 0x407e4c
mov eax, dword [ebp - 0x198]
sub eax, 0xf3d6567c
je 0x4090e1
jmp 0x407e62
mov eax, dword [ebp - 0x198]
sub eax, 0xf6c0c6fd
je 0x408592
jmp 0x407e78
mov eax, dword [ebp - 0x198]
sub eax, 0xf6ceed60
je 0x408393
jmp 0x407e8e
mov eax, dword [ebp - 0x198]
sub eax, 0x2fee128
je 0x40842b
jmp 0x407ea4
mov eax, dword [ebp - 0x198]
sub eax, 0x64727a3
je 0x409338
jmp 0x407eba
mov eax, dword [ebp - 0x198]
sub eax, 0x87792c0
je 0x408c0a
jmp 0x407ed0
mov eax, dword [ebp - 0x198]
sub eax, 0x10c1cf09
je 0x4084ca
jmp 0x407ee6
mov eax, dword [ebp - 0x198]
sub eax, 0x11978c1d
je 0x408da8
jmp 0x407efc
mov eax, dword [ebp - 0x198]
sub eax, 0x12456d38
je 0x4083a2
jmp 0x407f12
mov eax, dword [ebp - 0x198]
sub eax, 0x15010f88
je 0x4089aa
jmp 0x407f28
mov eax, dword [ebp - 0x198]
sub eax, 0x162a785d
je 0x408690
jmp 0x407f3e
mov eax, dword [ebp - 0x198]
sub eax, 0x17fa8c52
je 0x408a80
jmp 0x407f54
mov eax, dword [ebp - 0x198]
sub eax, 0x1853a901
je 0x40920a
jmp 0x407f6a
mov eax, dword [ebp - 0x198]
sub eax, 0x1ae8e26b
je 0x408cfb
jmp 0x407f80
mov eax, dword [ebp - 0x198]
sub eax, 0x2120d81e
je 0x4087d1
jmp 0x407f96
mov eax, dword [ebp - 0x198]
sub eax, 0x2f7b764f
je 0x408caa
jmp 0x407fac
mov eax, dword [ebp - 0x198]
sub eax, 0x377cb508
je 0x408302
jmp 0x407fc2
mov eax, dword [ebp - 0x198]
sub eax, 0x3a45b108
je 0x408536
jmp 0x407fd8
mov eax, dword [ebp - 0x198]
sub eax, 0x3e4a6aeb
je 0x408a71
jmp 0x407fee
mov eax, dword [ebp - 0x198]
sub eax, 0x3e5fc3b3
je 0x4084d9
jmp 0x408004
mov eax, dword [ebp - 0x198]
sub eax, 0x3efc5107
je 0x4091a8
jmp 0x40801a
mov eax, dword [ebp - 0x198]
sub eax, 0x455e822d
je 0x40905c
jmp 0x408030
mov eax, dword [ebp - 0x198]
sub eax, 0x48ff00a4
je 0x40900b
jmp 0x408046
mov eax, dword [ebp - 0x198]
sub eax, 0x4bd530d9
je 0x4092ad
jmp 0x40805c
mov eax, dword [ebp - 0x198]
sub eax, 0x4ead71f7
je 0x4081c1
jmp 0x408072
mov eax, dword [ebp - 0x198]
sub eax, 0x535913e9
je 0x4085e3
jmp 0x408088
mov eax, dword [ebp - 0x198]
sub eax, 0x57c2de7d
je 0x408961
jmp 0x40809e
mov eax, dword [ebp - 0x198]
sub eax, 0x59f8a8a0
je 0x4093a3
jmp 0x4080b4
mov eax, dword [ebp - 0x198]
sub eax, 0x5acbf017
je 0x4082db
jmp 0x4080ca
mov eax, dword [ebp - 0x198]
sub eax, 0x5e3d20a0
je 0x4093e3
jmp 0x4080e0
mov eax, dword [ebp - 0x198]
sub eax, 0x634c532c
je 0x408879
jmp 0x4080f6
mov eax, dword [ebp - 0x198]
sub eax, 0x6485d6ab
je 0x408284
jmp 0x40810c
mov eax, dword [ebp - 0x198]
sub eax, 0x6a74ef5c
je 0x408db7
jmp 0x408122
mov eax, dword [ebp - 0x198]
sub eax, 0x6c5ab85a
je 0x408dc6
jmp 0x408138
mov eax, dword [ebp - 0x198]
sub eax, 0x72562581
je 0x408681
jmp 0x40814e
mov eax, dword [ebp - 0x198]
sub eax, 0x74e34b9a
je 0x408ee5
mov eax, dword [ebp - 0x194]
push eax
mov ecx, esp
mov dword [ebp - 0x174], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x170], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x16c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x168], ecx
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
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.00422830
add esp, 0xc
mov dword [ebp - 0x190], 0x9baf269b
jmp 0x4093fc
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 eax, 0x6485d6ab
mov ecx, 0xd619b5fb
cmp dword [ebp - 0x180], 0
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov dword [ebp - 0x190], 0xf3d6567c
jmp 0x4093fc
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 - 0x190], 0x5acbf017
jmp 0x4093fc
lea eax, [ebp - 0x110]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x190], 0x377cb508
jmp 0x4093fc
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
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 - 0x188], eax
mov edx, 0xffffffff
mov eax, 0x12456d38
mov ecx, 0xf6ceed60
cmp dword [ebp - 0x188], edx
cmove eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov dword [ebp - 0x190], 0xf3d6567c
jmp 0x4093fc
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x190], 0xcdee0916
jmp 0x4093fc
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
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, 0x7ce02f54
mov ecx, 0x2fee128
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov eax, dword [ebp - 0x150]
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 - 0x18c], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x14c], eax
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
add edx, 0xccdc7ae2
sub edx, 1
sub edx, 0xccdc7ae2
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, 0x7ce02f54
mov ecx, 0x10c1cf09
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov dword [ebp - 0x190], 0x3e5fc3b3
jmp 0x4093fc
mov edx, dword [ebp - 0x14c]
mov eax, 0x97fa0d2c
mov ecx, 0xeb46db95
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x190], 0xb753f8fe
jmp 0x4093fc
mov eax, dword [ebp - 0x148]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x190], 0x3a45b108
jmp 0x4093fc
mov dword [ebp - 0x190], 0xf3d6567c
jmp 0x4093fc
mov eax, dword [ebp - 0x18c]
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 - 0x174]
mov dword [eax], ecx
mov dword [ebp - 0x190], 0xf6c0c6fd
jmp 0x4093fc
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
add edx, 0x3fd9a907
sub edx, 1
sub edx, 0x3fd9a907
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, 0x1853a901
mov ecx, 0x535913e9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x170]
mov dword [eax], ecx
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x170]
mov eax, dword [eax]
mov dword [ebp - 0x140], eax
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
mov edx, ecx
sub edx, 0x11cca256
sub edx, 1
add edx, 0x11cca256
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, 0x1853a901
mov ecx, 0x72562581
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov dword [ebp - 0x190], 0x162a785d
jmp 0x4093fc
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
sub edx, 0x7873eb13
sub edx, 1
add edx, 0x7873eb13
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, 0x86afb8fe
mov ecx, 0xa86a8fbc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov eax, dword [ebp - 0x140]
mov edx, dword [eax + 0x3c]
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 - 0x16c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x168]
mov word [eax], 0
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
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, 0x86afb8fe
mov ecx, 0xec9cad82
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov dword [ebp - 0x190], 0x8d68a03e
jmp 0x4093fc
mov eax, dword [ebp - 0x168]
mov ax, word [eax]
mov word [ebp - 0x13c], ax
mov dword [ebp - 0x190], 0x89b36e61
jmp 0x4093fc
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
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, 0xc1d23a37
mov ecx, 0x2120d81e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov ax, word [ebp - 0x13c]
movzx eax, ax
mov ecx, dword [ebp - 0x16c]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 6]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x139], al
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
mov edx, ecx
add edx, 0x6bc582
sub edx, 1
sub edx, 0x6bc582
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, 0xc1d23a37
mov ecx, 0xb641b81e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov dword [ebp - 0x190], 0x634c532c
jmp 0x4093fc
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
mov edx, ecx
sub edx, 0x72970a13
sub edx, 1
add edx, 0x72970a13
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, 0xee05aa33
mov ecx, 0x876ed68a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
sub edx, 0x4cf13187
sub edx, 1
add edx, 0x4cf13187
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, 0xee05aa33
mov ecx, 0xd5688b6a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov dl, byte [ebp - 0x139]
mov eax, 0x9777370b
mov ecx, 0x57c2de7d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
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, 0x4bd530d9
mov ecx, 0x15010f88
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax]
sub ecx, 0xae4c474c
add ecx, 0x18
add ecx, 0xae4c474c
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
movzx edx, word [eax + 0x14]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x168]
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 - 0x164]
mov dword [eax], ecx
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov dword [ebp - 0x138], eax
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
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, 0x4bd530d9
mov ecx, 0x3e4a6aeb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov dword [ebp - 0x190], 0x17fa8c52
jmp 0x4093fc
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x190], 0xf2cef28b
jmp 0x4093fc
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
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, 0x7c8d7ee4
mov ecx, 0xe885601e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov ecx, dword [ebp - 0x134]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x431862
call fcn.00426130
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x12e], al
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
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, 0x7c8d7ee4
mov ecx, 0xb272b8b5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov dl, byte [ebp - 0x12e]
mov eax, 0xd0148d7d
mov ecx, 0x6a74ef5c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov eax, dword [ebp - 0x160]
mov dword [eax], 0
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub edx, eax
mov eax, dword [ebp - 0x160]
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 al
and al, 1
mov byte [ebp - 0x12d], al
mov dword [ebp - 0x190], 0x87792c0
jmp 0x4093fc
mov cl, byte [ebp - 0x12d]
and cl, 1
mov eax, dword [ebp - 0x15c]
mov byte [eax], cl
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x916a23e
add edx, eax
sub edx, 0x916a23e
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0xcf2c5c69
add ecx, eax
add ecx, 0xcf2c5c69
mov eax, dword [ebp - 0x164]
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.00422990
add esp, 0xc
mov eax, dword [ebp - 0x160]
mov eax, dword [eax]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x190], 0x2f7b764f
jmp 0x4093fc
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
sub edx, 0x9370950c
sub edx, 1
add edx, 0x9370950c
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, 0x64727a3
mov ecx, 0x1ae8e26b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov eax, dword [ebp - 0x128]
mov edx, dword [eax]
mov esi, dword [ebp - 0x184]
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub esi, 0xdeb56edc
add esi, eax
add esi, 0xdeb56edc
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x12c]
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 - 0x15c]
mov byte [eax], cl
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
add edx, 0xe7683432
sub edx, 1
sub edx, 0xe7683432
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, 0x64727a3
mov ecx, 0x11978c1d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov dword [ebp - 0x190], 0x6a74ef5c
jmp 0x4093fc
mov dword [ebp - 0x190], 0x6c5ab85a
jmp 0x4093fc
mov eax, dword [ebp - 0x168]
mov ax, word [eax]
mov word [ebp - 0x124], ax
mov dword [ebp - 0x190], 0xb9d754e1
jmp 0x4093fc
mov ax, word [ebp - 0x124]
sub ax, 0x31c4
add ax, 1
add ax, 0x31c4
mov word [ebp - 0x122], ax
mov dword [ebp - 0x190], 0x9d0c35b5
jmp 0x4093fc
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
add edx, 0xbe436efb
sub edx, 1
sub edx, 0xbe436efb
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, 0x59f8a8a0
mov ecx, 0x9298c146
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov eax, dword [ebp - 0x168]
mov cx, word [ebp - 0x122]
mov word [eax], cx
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
mov edx, ecx
sub edx, 0x2de9165b
sub edx, 1
add edx, 0x2de9165b
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, 0x59f8a8a0
mov ecx, 0x74e34b9a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
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, 0x7bf7eb87
mov ecx, 0xc5f3f0f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov eax, dword [ebp - 0x188]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x120], eax
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
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, 0x7bf7eb87
mov ecx, 0xed083a3d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov dword [ebp - 0x190], 0xb05d0c3b
jmp 0x4093fc
mov eax, dword [ebp - 0x120]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x17c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x190], 0x48ff00a4
jmp 0x4093fc
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
add edx, 0xa931caa0
sub edx, 1
sub edx, 0xa931caa0
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, 0x5e3d20a0
mov ecx, 0x455e822d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov ecx, dword [0x439574]
mov eax, dword [0x439570]
mov edx, ecx
sub edx, 0x6da3470c
sub edx, 1
add edx, 0x6da3470c
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, 0x5e3d20a0
mov ecx, 0xb7e8308a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov dword [ebp - 0x190], 0xf3d6567c
jmp 0x4093fc
mov eax, dword [0x439574]
mov ecx, dword [0x439570]
mov edx, eax
add edx, 0x5b0651f2
sub edx, 1
sub edx, 0x5b0651f2
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, 0xdd0ec45a
mov ecx, 0x776aed87
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x190], eax
jmp 0x4093fc
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00421b10
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x170]
mov dword [eax], ecx
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x190], 0x535913e9
jmp 0x4093fc
mov eax, dword [ebp - 0x140]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x144]
mov eax, dword [ebp - 0x144]
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, edx
sub ecx, eax
mov eax, dword [ebp - 0x16c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x168]
mov word [eax], 0
mov dword [ebp - 0x190], 0xa86a8fbc
jmp 0x4093fc
mov ax, word [ebp - 0x13c]
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x190], 0x2120d81e
jmp 0x4093fc
mov dword [ebp - 0x190], 0x876ed68a
jmp 0x4093fc
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax]
add ecx, 0xcec1a79
add ecx, 0x18
sub ecx, 0xcec1a79
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
movzx eax, word [eax + 0x14]
add ecx, 0x631f3add
add ecx, eax
sub ecx, 0x631f3add
mov eax, dword [ebp - 0x168]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x164]
mov dword [eax], ecx
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x190], 0x15010f88
jmp 0x4093fc
mov eax, dword [ebp - 0x128]
mov edx, dword [eax]
mov esi, dword [ebp - 0x184]
mov eax, dword [ebp - 0x164]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add esi, 0xe96bb662
add esi, eax
sub esi, 0xe96bb662
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x12c]
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 - 0x15c]
mov byte [eax], cl
mov dword [ebp - 0x190], 0x1ae8e26b
jmp 0x4093fc
mov eax, dword [ebp - 0x168]
mov cx, word [ebp - 0x122]
mov word [eax], cx
mov dword [ebp - 0x190], 0x9298c146
jmp 0x4093fc
mov dword [ebp - 0x190], 0x455e822d
jmp 0x4093fc
mov dword [ebp - 0x190], 0x776aed87
jmp 0x407bc8