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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0xa0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [0x433080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43457c]
mov eax, dword [0x434578]
mov edx, ecx
sub edx, 0x68455ab5
sub edx, 1
add edx, 0x68455ab5
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x9a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x99], al
mov dword [ebp - 0xa0], 0x941eb63e
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
sub eax, 0x822563b2
je 0x40953c
jmp 0x407d33
mov eax, dword [ebp - 0xa8]
sub eax, 0x83da44b4
je 0x409097
jmp 0x407d49
mov eax, dword [ebp - 0xa8]
sub eax, 0x863d9f08
je 0x408685
jmp 0x407d5f
mov eax, dword [ebp - 0xa8]
sub eax, 0x89aab479
je 0x4094ca
jmp 0x407d75
mov eax, dword [ebp - 0xa8]
sub eax, 0x8a4b7280
je 0x4085ad
jmp 0x407d8b
mov eax, dword [ebp - 0xa8]
sub eax, 0x8c1690f1
je 0x408acc
jmp 0x407da1
mov eax, dword [ebp - 0xa8]
sub eax, 0x8caf19f4
je 0x40931e
jmp 0x407db7
mov eax, dword [ebp - 0xa8]
sub eax, 0x8f87a698
je 0x4087bf
jmp 0x407dcd
mov eax, dword [ebp - 0xa8]
sub eax, 0x8fdc5ed0
je 0x4093f6
jmp 0x407de3
mov eax, dword [ebp - 0xa8]
sub eax, 0x933391ca
je 0x408d99
jmp 0x407df9
mov eax, dword [ebp - 0xa8]
sub eax, 0x941eb63e
je 0x408368
jmp 0x407e0f
mov eax, dword [ebp - 0xa8]
sub eax, 0x9828b4ed
je 0x408ed3
jmp 0x407e25
mov eax, dword [ebp - 0xa8]
sub eax, 0x99ca118c
je 0x4092af
jmp 0x407e3b
mov eax, dword [ebp - 0xa8]
sub eax, 0x9abdabd6
je 0x40959f
jmp 0x407e51
mov eax, dword [ebp - 0xa8]
sub eax, 0x9f700be9
je 0x4086a7
jmp 0x407e67
mov eax, dword [ebp - 0xa8]
sub eax, 0xa08a4829
je 0x409394
jmp 0x407e7d
mov eax, dword [ebp - 0xa8]
sub eax, 0xab5f8a89
je 0x4092c6
jmp 0x407e93
mov eax, dword [ebp - 0xa8]
sub eax, 0xac4bf6fa
je 0x408963
jmp 0x407ea9
mov eax, dword [ebp - 0xa8]
sub eax, 0xb3374f91
je 0x409405
jmp 0x407ebf
mov eax, dword [ebp - 0xa8]
sub eax, 0xb4d73413
je 0x408f87
jmp 0x407ed5
mov eax, dword [ebp - 0xa8]
sub eax, 0xb6e7cfba
je 0x408fa5
jmp 0x407eeb
mov eax, dword [ebp - 0xa8]
sub eax, 0xb86d613d
je 0x4085fd
jmp 0x407f01
mov eax, dword [ebp - 0xa8]
sub eax, 0xbdd2a6da
je 0x408abd
jmp 0x407f17
mov eax, dword [ebp - 0xa8]
sub eax, 0xc48bf0d9
je 0x4091fe
jmp 0x407f2d
mov eax, dword [ebp - 0xa8]
sub eax, 0xccb06d71
je 0x40919b
jmp 0x407f43
mov eax, dword [ebp - 0xa8]
sub eax, 0xd017bf00
je 0x4087e5
jmp 0x407f59
mov eax, dword [ebp - 0xa8]
sub eax, 0xd03a5099
je 0x4091aa
jmp 0x407f6f
mov eax, dword [ebp - 0xa8]
sub eax, 0xd79514f2
je 0x408d4a
jmp 0x407f85
mov eax, dword [ebp - 0xa8]
sub eax, 0xda2c7067
je 0x408bfa
jmp 0x407f9b
mov eax, dword [ebp - 0xa8]
sub eax, 0xe06ba964
je 0x4089e8
jmp 0x407fb1
mov eax, dword [ebp - 0xa8]
sub eax, 0xe1cf661f
je 0x4091b9
jmp 0x407fc7
mov eax, dword [ebp - 0xa8]
sub eax, 0xe40b04cf
je 0x4083f1
jmp 0x407fdd
mov eax, dword [ebp - 0xa8]
sub eax, 0xf0167491
je 0x408a06
jmp 0x407ff3
mov eax, dword [ebp - 0xa8]
sub eax, 0xf37da8f0
je 0x408de2
jmp 0x408009
mov eax, dword [ebp - 0xa8]
sub eax, 0xf84ecb5e
je 0x408d6e
jmp 0x40801f
mov eax, dword [ebp - 0xa8]
sub eax, 0xfd5e9674
je 0x4092a0
jmp 0x408035
mov eax, dword [ebp - 0xa8]
sub eax, 0xfe3ea40e
je 0x4094b8
jmp 0x40804b
mov eax, dword [ebp - 0xa8]
sub eax, 0x5be2c7a
je 0x409477
jmp 0x408061
mov eax, dword [ebp - 0xa8]
sub eax, 0xd2df21b
je 0x40872c
jmp 0x408077
mov eax, dword [ebp - 0xa8]
sub eax, 0xdb01c7e
je 0x408e56
jmp 0x40808d
mov eax, dword [ebp - 0xa8]
sub eax, 0xfaa105a
je 0x408c09
jmp 0x4080a3
mov eax, dword [ebp - 0xa8]
sub eax, 0x1017eb8a
je 0x408d3b
jmp 0x4080b9
mov eax, dword [ebp - 0xa8]
sub eax, 0x13363bbd
je 0x408a74
jmp 0x4080cf
mov eax, dword [ebp - 0xa8]
sub eax, 0x1733d0dc
je 0x409026
jmp 0x4080e5
mov eax, dword [ebp - 0xa8]
sub eax, 0x26cb8ac0
je 0x409489
jmp 0x4080fb
mov eax, dword [ebp - 0xa8]
sub eax, 0x2896a518
je 0x40859e
jmp 0x408111
mov eax, dword [ebp - 0xa8]
sub eax, 0x28e6c47d
je 0x4091d2
jmp 0x408127
mov eax, dword [ebp - 0xa8]
sub eax, 0x3002bd70
je 0x4093e5
jmp 0x40813d
mov eax, dword [ebp - 0xa8]
sub eax, 0x315e069c
je 0x409465
jmp 0x408153
mov eax, dword [ebp - 0xa8]
sub eax, 0x32d17c9c
je 0x409590
jmp 0x408169
mov eax, dword [ebp - 0xa8]
sub eax, 0x32f41158
je 0x408c3c
jmp 0x40817f
mov eax, dword [ebp - 0xa8]
sub eax, 0x37fd8097
je 0x408473
jmp 0x408195
mov eax, dword [ebp - 0xa8]
sub eax, 0x391d7950
je 0x408b20
jmp 0x4081ab
mov eax, dword [ebp - 0xa8]
sub eax, 0x41eee706
je 0x408b96
jmp 0x4081c1
mov eax, dword [ebp - 0xa8]
sub eax, 0x420bcbfc
je 0x40924f
jmp 0x4081d7
mov eax, dword [ebp - 0xa8]
sub eax, 0x42b6a8d8
je 0x40854d
jmp 0x4081ed
mov eax, dword [ebp - 0xa8]
sub eax, 0x44bbaf02
je 0x408e65
jmp 0x408203
mov eax, dword [ebp - 0xa8]
sub eax, 0x48b07584
je 0x409498
jmp 0x408219
mov eax, dword [ebp - 0xa8]
sub eax, 0x48b59bc1
je 0x4092ec
jmp 0x40822f
mov eax, dword [ebp - 0xa8]
sub eax, 0x4bedc95f
je 0x40885b
jmp 0x408245
mov eax, dword [ebp - 0xa8]
sub eax, 0x520aba40
je 0x4086b6
jmp 0x40825b
mov eax, dword [ebp - 0xa8]
sub eax, 0x523a9d56
je 0x4084fc
jmp 0x408271
mov eax, dword [ebp - 0xa8]
sub eax, 0x53ca3caf
je 0x4087ce
jmp 0x408287
mov eax, dword [ebp - 0xa8]
sub eax, 0x5e9232a5
je 0x409105
jmp 0x40829d
mov eax, dword [ebp - 0xa8]
sub eax, 0x5eb7864e
je 0x408c54
mov al, byte [ebp - 0x9a]
mov cl, byte [ebp - 0x99]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x8fdc5ed0
mov ecx, 0x7f5d0a9c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov dword [ebp - 0xa0], 0x7de9f668
jmp 0x4095a9
mov ecx, dword [ebp - 0xa4]
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
mov eax, dword [ebp - 0x90]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041de40
add esp, 0xc
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ecx, eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x8c]
mov eax, 0x523a9d56
mov ecx, 0x8a4b7280
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [0x43457c]
mov ecx, dword [0x434578]
mov edx, eax
add edx, 0x341b532e
sub edx, 1
sub edx, 0x341b532e
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, 0xb3374f91
mov ecx, 0x42b6a8d8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [0x43457c]
mov ecx, dword [0x434578]
mov edx, eax
sub edx, 0x94a0c773
sub edx, 1
add edx, 0x94a0c773
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, 0xb3374f91
mov ecx, 0x2896a518
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov dword [ebp - 0xa0], 0x8caf19f4
jmp 0x4095a9
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov eax, dword [ebp - 0x90]
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 - 0x90]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov dword [ebp - 0xa0], 0xb86d613d
jmp 0x4095a9
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x8c]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x104
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov eax, dword [ebp - 0x84]
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 ecx, eax
mov eax, dword [ebp - 0x80]
mov dword [eax], ecx
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xa0], 0x863d9f08
jmp 0x4095a9
mov edx, dword [ebp - 0x5c]
mov esi, 0xffffffff
mov eax, 0x520aba40
mov ecx, 0x9f700be9
cmp edx, esi
cmove eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov dword [ebp - 0xa0], 0x8caf19f4
jmp 0x4095a9
mov ecx, dword [0x43457c]
mov eax, dword [0x434578]
mov edx, ecx
add edx, 0xea5be3fa
sub edx, 1
sub edx, 0xea5be3fa
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, 0x742ade97
mov ecx, 0xd2df21b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
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 - 0x7c]
mov dword [eax], ecx
mov eax, dword [0x43457c]
mov ecx, dword [0x434578]
mov edx, eax
add edx, 0x3c6a5e31
sub edx, 1
sub edx, 0x3c6a5e31
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, 0x742ade97
mov ecx, 0x8f87a698
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov dword [ebp - 0xa0], 0x53ca3caf
jmp 0x4095a9
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xa0], 0xd017bf00
jmp 0x4095a9
mov ecx, dword [0x43457c]
mov eax, dword [0x434578]
mov edx, ecx
add edx, 0x1e74d943
sub edx, 1
sub edx, 0x1e74d943
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, 0x315e069c
mov ecx, 0x4bedc95f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [ebp - 0x58]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x51], al
mov ecx, dword [0x43457c]
mov eax, dword [0x434578]
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, 0x315e069c
mov ecx, 0x63284df8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov ecx, dword [0x43457c]
mov eax, dword [0x434578]
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, 0x5be2c7a
mov ecx, 0x63a5a0f6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [ebp - 0x50]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0xf0167491
jmp 0x4095a9
mov ecx, dword [0x43457c]
mov eax, dword [0x434578]
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, 0x26cb8ac0
mov ecx, 0x13363bbd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [0x43457c]
mov ecx, dword [0x434578]
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, 0x26cb8ac0
mov ecx, 0xbdd2a6da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov dword [ebp - 0xa0], 0x8caf19f4
jmp 0x4095a9
mov eax, dword [ebp - 0x7c]
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 - 0x78]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0xa0], 0x391d7950
jmp 0x4095a9
mov ecx, dword [0x43457c]
mov eax, dword [0x434578]
mov edx, ecx
add edx, 0x454364b5
sub edx, 1
sub edx, 0x454364b5
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, 0x48b07584
mov ecx, 0x41eee706
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov eax, dword [0x43457c]
mov ecx, dword [0x434578]
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, 0x48b07584
mov ecx, 0xda2c7067
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov dword [ebp - 0xa0], 0xfaa105a
jmp 0x4095a9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ebp - 0x48]
sub ecx, 0x5140811b
add ecx, eax
add ecx, 0x5140811b
mov eax, dword [ebp - 0x70]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6c]
mov word [eax], 0
mov dword [ebp - 0xa0], 0x32f41158
jmp 0x4095a9
mov eax, dword [ebp - 0x6c]
movzx eax, word [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xa0], 0x5eb7864e
jmp 0x4095a9
mov dword [ebp - 0xa0], 0xd79514f2
jmp 0x4095a9
mov eax, dword [ebp - 0x3c]
movzx esi, word [eax + 2]
mov edx, dword [ebp - 0x40]
mov eax, 0x99ca118c
mov ecx, 0xf84ecb5e
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov ax, word [eax + 0x14]
mov word [ebp - 0x32], ax
mov dword [ebp - 0xa0], 0x933391ca
jmp 0x4095a9
mov eax, dword [0x43457c]
mov ecx, dword [0x434578]
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, 0x89aab479
mov ecx, 0xf37da8f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov ax, word [ebp - 0x32]
movzx ecx, ax
mov eax, dword [ebp - 0x38]
sub eax, 0x38de3045
add eax, ecx
add eax, 0x38de3045
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
mov word [ebp - 0x2c], ax
mov eax, dword [0x43457c]
mov ecx, dword [0x434578]
mov edx, eax
sub edx, 0x8354c4c0
sub edx, 1
add edx, 0x8354c4c0
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, 0x89aab479
mov ecx, 0xdb01c7e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov dword [ebp - 0xa0], 0x44bbaf02
jmp 0x4095a9
mov ecx, dword [0x43457c]
mov eax, dword [0x434578]
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, 0x67204ab8
mov ecx, 0x9828b4ed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov ax, word [ebp - 0x2c]
movzx eax, ax
imul edx, eax, 0x28
mov ecx, dword [ebp - 0x30]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42c959
call fcn.00421740
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x29], al
mov ecx, dword [0x43457c]
mov eax, dword [0x434578]
mov edx, ecx
add edx, 0x21a1f122
sub edx, 1
sub edx, 0x21a1f122
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, 0x67204ab8
mov ecx, 0xb4d73413
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov dl, byte [ebp - 0x29]
mov eax, 0xb6e7cfba
mov ecx, 0xd03a5099
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x71d7d688
add edx, eax
add edx, 0x71d7d688
mov eax, dword [ebp - 0x64]
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 - 0x60]
mov byte [eax], cl
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xa0], 0x1733d0dc
jmp 0x4095a9
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x28]
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 - 0x78]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0x188537e8
add ecx, eax
add ecx, 0x188537e8
mov eax, dword [ebp - 0x68]
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.0041dfa0
add esp, 0xc
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xa0], 0x83da44b4
jmp 0x4095a9
mov ecx, dword [0x43457c]
mov eax, dword [0x434578]
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, 0x822563b2
mov ecx, 0x5e9232a5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
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 esi, esi
sub esi, eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
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 - 0x60]
mov byte [eax], cl
mov eax, dword [0x43457c]
mov ecx, dword [0x434578]
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, 0x822563b2
mov ecx, 0xccb06d71
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov dword [ebp - 0xa0], 0xd03a5099
jmp 0x4095a9
mov dword [ebp - 0xa0], 0xe1cf661f
jmp 0x4095a9
mov eax, dword [ebp - 0x6c]
mov ax, word [eax]
mov word [ebp - 0x16], ax
mov dword [ebp - 0xa0], 0x28e6c47d
jmp 0x4095a9
mov cx, word [ebp - 0x16]
xor eax, eax
sub ax, cx
xor ecx, ecx
sub cx, 1
add ax, cx
xor ecx, ecx
sub cx, ax
mov eax, dword [ebp - 0x6c]
mov word [eax], cx
mov dword [ebp - 0xa0], 0xc48bf0d9
jmp 0x4095a9
mov eax, dword [0x43457c]
mov ecx, dword [0x434578]
mov edx, eax
add edx, 0x8490f4ad
sub edx, 1
sub edx, 0x8490f4ad
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, 0x32d17c9c
mov ecx, 0x420bcbfc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [0x43457c]
mov ecx, dword [0x434578]
mov edx, eax
add edx, 0x918cde9b
sub edx, 1
sub edx, 0x918cde9b
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, 0x32d17c9c
mov ecx, 0xfd5e9674
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov dword [ebp - 0xa0], 0x32f41158
jmp 0x4095a9
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xa0], 0xab5f8a89
jmp 0x4095a9
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xa0], 0x48b59bc1
jmp 0x4095a9
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xa0], 0x8caf19f4
jmp 0x4095a9
mov ecx, dword [0x43457c]
mov eax, dword [0x434578]
mov edx, ecx
sub edx, 0x40c9caa5
sub edx, 1
add edx, 0x40c9caa5
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, 0x9abdabd6
mov ecx, 0xa08a4829
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov eax, dword [0x43457c]
mov ecx, dword [0x434578]
mov edx, eax
sub edx, 0x5d419f42
sub edx, 1
add edx, 0x5d419f42
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, 0x9abdabd6
mov ecx, 0x3002bd70
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
jmp 0x4095a9
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0041d150
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0xa0], 0x7f5d0a9c
jmp 0x4095a9
mov dword [ebp - 0xa0], 0x42b6a8d8
jmp 0x4095a9
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xa0], 0x4bedc95f
jmp 0x4095a9
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa0], 0xac4bf6fa
jmp 0x4095a9
mov dword [ebp - 0xa0], 0x13363bbd
jmp 0x4095a9
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa0], 0x41eee706
jmp 0x4095a9
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xa0], 0x7b7ae0ad
jmp 0x4095a9
mov ax, word [ebp - 0x32]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa0], 0xf37da8f0
jmp 0x4095a9
mov eax, dword [ebp - 0x88]
mov esi, dword [eax]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
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 - 0x60]
mov byte [eax], cl
mov dword [ebp - 0xa0], 0x5e9232a5
jmp 0x4095a9
mov dword [ebp - 0xa0], 0x420bcbfc
jmp 0x4095a9
mov dword [ebp - 0xa0], 0xa08a4829
jmp 0x407d17