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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x90
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [0x434080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
sub edx, 0x79205204
sub edx, 1
add edx, 0x79205204
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x8e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x8d], al
mov dword [ebp - 0x94], 0x78e24106
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
sub eax, 0x813bda9f
je 0x408898
jmp 0x407724
mov eax, dword [ebp - 0x9c]
sub eax, 0x84d8b2c8
je 0x40922d
jmp 0x40773a
mov eax, dword [ebp - 0x9c]
sub eax, 0x853dfa49
je 0x408bb7
jmp 0x407750
mov eax, dword [ebp - 0x9c]
sub eax, 0x87e571c6
je 0x408994
jmp 0x407766
mov eax, dword [ebp - 0x9c]
sub eax, 0x891cd968
je 0x4090d7
jmp 0x40777c
mov eax, dword [ebp - 0x9c]
sub eax, 0x895bf333
je 0x4090e6
jmp 0x407792
mov eax, dword [ebp - 0x9c]
sub eax, 0x8cca50b0
je 0x408a78
jmp 0x4077a8
mov eax, dword [ebp - 0x9c]
sub eax, 0x8e5c708c
je 0x40913c
jmp 0x4077be
mov eax, dword [ebp - 0x9c]
sub eax, 0x90672eda
je 0x40912d
jmp 0x4077d4
mov eax, dword [ebp - 0x9c]
sub eax, 0x925c2fb3
je 0x408dfc
jmp 0x4077ea
mov eax, dword [ebp - 0x9c]
sub eax, 0x9736c1ed
je 0x40891d
jmp 0x407800
mov eax, dword [ebp - 0x9c]
sub eax, 0x9868f61f
je 0x408ef5
jmp 0x407816
mov eax, dword [ebp - 0x9c]
sub eax, 0x9b563ef5
je 0x40880c
jmp 0x40782c
mov eax, dword [ebp - 0x9c]
sub eax, 0xa16daefb
je 0x408712
jmp 0x407842
mov eax, dword [ebp - 0x9c]
sub eax, 0xa2cc1448
je 0x40853b
jmp 0x407858
mov eax, dword [ebp - 0x9c]
sub eax, 0xa397935d
je 0x4082d4
jmp 0x40786e
mov eax, dword [ebp - 0x9c]
sub eax, 0xa5cdb955
je 0x407fb4
jmp 0x407884
mov eax, dword [ebp - 0x9c]
sub eax, 0xa9d49544
je 0x4084b6
jmp 0x40789a
mov eax, dword [ebp - 0x9c]
sub eax, 0xaa236ef0
je 0x408ce6
jmp 0x4078b0
mov eax, dword [ebp - 0x9c]
sub eax, 0xaffd1898
je 0x407efd
jmp 0x4078c6
mov eax, dword [ebp - 0x9c]
sub eax, 0xb5b5671e
je 0x40923c
jmp 0x4078dc
mov eax, dword [ebp - 0x9c]
sub eax, 0xb64b908c
je 0x408b14
jmp 0x4078f2
mov eax, dword [ebp - 0x9c]
sub eax, 0xba6c64e9
je 0x40915b
jmp 0x407908
mov eax, dword [ebp - 0x9c]
sub eax, 0xbb0f8a6a
je 0x408643
jmp 0x40791e
mov eax, dword [ebp - 0x9c]
sub eax, 0xc3c666d5
je 0x4081ef
jmp 0x407934
mov eax, dword [ebp - 0x9c]
sub eax, 0xc6e51394
je 0x408465
jmp 0x40794a
mov eax, dword [ebp - 0x9c]
sub eax, 0xcef12584
je 0x40877a
jmp 0x407960
mov eax, dword [ebp - 0x9c]
sub eax, 0xd80fdc22
je 0x408e5c
jmp 0x407976
mov eax, dword [ebp - 0x9c]
sub eax, 0xd89e8d13
je 0x40876b
jmp 0x40798c
mov eax, dword [ebp - 0x9c]
sub eax, 0xd98e05ca
je 0x408cc3
jmp 0x4079a2
mov eax, dword [ebp - 0x9c]
sub eax, 0xdd97a859
je 0x40820d
jmp 0x4079b8
mov eax, dword [ebp - 0x9c]
sub eax, 0xe2687104
je 0x408167
jmp 0x4079ce
mov eax, dword [ebp - 0x9c]
sub eax, 0xe2820c2a
je 0x408380
jmp 0x4079e4
mov eax, dword [ebp - 0x9c]
sub eax, 0xe7e299e9
je 0x408f72
jmp 0x4079fa
mov eax, dword [ebp - 0x9c]
sub eax, 0xe853af11
je 0x4091c9
jmp 0x407a10
mov eax, dword [ebp - 0x9c]
sub eax, 0xe89d822a
je 0x4090c8
jmp 0x407a26
mov eax, dword [ebp - 0x9c]
sub eax, 0xebda93ec
je 0x408283
jmp 0x407a3c
mov eax, dword [ebp - 0x9c]
sub eax, 0xec4e254a
je 0x408fef
jmp 0x407a52
mov eax, dword [ebp - 0x9c]
sub eax, 0xee3228f1
je 0x4090b6
jmp 0x407a68
mov eax, dword [ebp - 0x9c]
sub eax, 0xef4ee5ce
je 0x40852c
jmp 0x407a7e
mov eax, dword [ebp - 0x9c]
sub eax, 0xf3089180
je 0x40869c
jmp 0x407a94
mov eax, dword [ebp - 0x9c]
sub eax, 0xf6a47e9c
je 0x408684
jmp 0x407aaa
mov eax, dword [ebp - 0x9c]
sub eax, 0xf7b9bf47
je 0x4083d1
jmp 0x407ac0
mov eax, dword [ebp - 0x9c]
sub eax, 0xf9bd901b
je 0x408a96
jmp 0x407ad6
mov eax, dword [ebp - 0x9c]
sub eax, 0xfa720eed
je 0x40834b
jmp 0x407aec
mov eax, dword [ebp - 0x9c]
sub eax, 0xffbf75c0
je 0x40879e
jmp 0x407b02
mov eax, dword [ebp - 0x9c]
sub eax, 0x5347739
je 0x407f0c
jmp 0x407b18
mov eax, dword [ebp - 0x9c]
sub eax, 0x6a6907c
je 0x408055
jmp 0x407b2e
mov eax, dword [ebp - 0x9c]
sub eax, 0xa6b54ff
je 0x409100
jmp 0x407b44
mov eax, dword [ebp - 0x9c]
sub eax, 0xbfc363f
je 0x407fc3
jmp 0x407b5a
mov eax, dword [ebp - 0x9c]
sub eax, 0xcb680d4
je 0x4085d5
jmp 0x407b70
mov eax, dword [ebp - 0x9c]
sub eax, 0x124d02b9
je 0x4089a3
jmp 0x407b86
mov eax, dword [ebp - 0x9c]
sub eax, 0x1e2b7132
je 0x408456
jmp 0x407b9c
mov eax, dword [ebp - 0x9c]
sub eax, 0x1f2a1438
je 0x408d6d
jmp 0x407bb2
mov eax, dword [ebp - 0x9c]
sub eax, 0x250b6fa7
je 0x40811e
jmp 0x407bc8
mov eax, dword [ebp - 0x9c]
sub eax, 0x2800cdb6
je 0x408cff
jmp 0x407bde
mov eax, dword [ebp - 0x9c]
sub eax, 0x292d1908
je 0x407f5d
jmp 0x407bf4
mov eax, dword [ebp - 0x9c]
sub eax, 0x2d2efdf2
je 0x4082e3
jmp 0x407c0a
mov eax, dword [ebp - 0x9c]
sub eax, 0x2e853ebd
je 0x4080ad
jmp 0x407c20
mov eax, dword [ebp - 0x9c]
sub eax, 0x30cf9345
je 0x408f04
jmp 0x407c36
mov eax, dword [ebp - 0x9c]
sub eax, 0x345ad0f5
je 0x408652
jmp 0x407c4c
mov eax, dword [ebp - 0x9c]
sub eax, 0x3602b844
je 0x408369
jmp 0x407c62
mov eax, dword [ebp - 0x9c]
sub eax, 0x3eb8b606
je 0x409040
jmp 0x407c78
mov eax, dword [ebp - 0x9c]
sub eax, 0x42a48968
je 0x409185
jmp 0x407c8e
mov eax, dword [ebp - 0x9c]
sub eax, 0x4a66840d
je 0x40910f
mov dword [ebp - 0x94], 0x5347739
jmp 0x409246
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0xf8cde81f
sub edx, 1
add edx, 0xf8cde81f
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, 0x891cd968
mov ecx, 0x292d1908
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0xa6f1760e
sub edx, 1
add edx, 0xa6f1760e
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, 0x891cd968
mov ecx, 0xa5cdb955
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov dword [ebp - 0x94], 0xbfc363f
jmp 0x409246
mov ecx, dword [ebp - 0x98]
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x8c]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax], ecx
mov eax, dword [ebp - 0x84]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0xc
call fcn.0041ef40
add esp, 0xc
mov eax, dword [ebp - 0x8c]
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 - 0x80]
mov dword [eax], ecx
mov edx, dword [ebp - 0x80]
mov eax, 0x740f0d1f
mov ecx, 0x6a6907c
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x84]
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 - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x94], 0x2e853ebd
jmp 0x409246
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
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 - 0x78]
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 - 0x48], eax
mov dword [ebp - 0x94], 0x250b6fa7
jmp 0x409246
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
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, 0x895bf333
mov ecx, 0xe2687104
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x41], al
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
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, 0x895bf333
mov ecx, 0xc3c666d5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov dl, byte [ebp - 0x41]
mov eax, 0x2d2efdf2
mov ecx, 0xdd97a859
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
add edx, 0xf13416c1
sub edx, 1
sub edx, 0xf13416c1
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, 0xa6b54ff
mov ecx, 0xebda93ec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0xd087d251
sub edx, 1
add edx, 0xd087d251
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, 0xa6b54ff
mov ecx, 0xa397935d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov dword [ebp - 0x94], 0xec4e254a
jmp 0x409246
mov eax, dword [ebp - 0x74]
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 - 0x70]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0x6605583c
jmp 0x409246
mov edx, dword [ebp - 0x40]
mov eax, 0x3602b844
mov ecx, 0xa2cc1448
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x94], 0xe2820c2a
jmp 0x409246
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0x1dd3fd7a
sub edx, 1
add edx, 0x1dd3fd7a
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, 0x4a66840d
mov ecx, 0xf7b9bf47
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
sub edx, 0x74462434
sub edx, 1
add edx, 0x74462434
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, 0x4a66840d
mov ecx, 0x1e2b7132
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov dword [ebp - 0x94], 0xc6e51394
jmp 0x409246
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0x8d6f51db
sub edx, 1
add edx, 0x8d6f51db
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, 0x90672eda
mov ecx, 0xa9d49544
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
sub edx, 0xa65ab577
sub edx, 1
add edx, 0xa65ab577
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, 0x90672eda
mov ecx, 0xef4ee5ce
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov dword [ebp - 0x94], 0xec4e254a
jmp 0x409246
mov eax, dword [ebp - 0x70]
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 - 0x6c]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0x593458fd
jmp 0x409246
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add eax, 0x3c
mov dword [ebp - 0x34], eax
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0x128e3c2e
sub edx, 1
add edx, 0x128e3c2e
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, 0x8e5c708c
mov ecx, 0xbb0f8a6a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov dword [ebp - 0x94], 0x345ad0f5
jmp 0x409246
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x38]
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 - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov dword [ebp - 0x94], 0xf6a47e9c
jmp 0x409246
mov eax, dword [ebp - 0x60]
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x94], 0xf3089180
jmp 0x409246
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
sub edx, 0x8cb25857
sub edx, 1
add edx, 0x8cb25857
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, 0xba6c64e9
mov ecx, 0xa16daefb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0x275c8923
sub edx, 1
add edx, 0x275c8923
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, 0xba6c64e9
mov ecx, 0xd89e8d13
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov dword [ebp - 0x94], 0xcef12584
jmp 0x409246
mov eax, dword [ebp - 0x2c]
movzx esi, word [eax + 6]
mov edx, dword [ebp - 0x30]
mov eax, 0x2800cdb6
mov ecx, 0xffbf75c0
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
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, 0x64023325
mov ecx, 0x9b563ef5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0x18
sub eax, ecx
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
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
mov ecx, dword [ebp - 0x60]
movzx ecx, word [ecx]
imul ecx, ecx, 0x28
add eax, 0x164894d
add eax, ecx
sub eax, 0x164894d
mov dword [ebp - 0x28], eax
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0x645792ad
sub edx, 1
add edx, 0x645792ad
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, 0x64023325
mov ecx, 0x813bda9f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov dword [ebp - 0x94], 0x5e18722b
jmp 0x409246
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42d979
call fcn.00422840
add esp, 8
mov dword [ebp - 0x24], eax
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0xa4d9c039
sub edx, 1
add edx, 0xa4d9c039
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, 0x42a48968
mov ecx, 0x87e571c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov dword [ebp - 0x94], 0x124d02b9
jmp 0x409246
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
add edx, 0xc3d605b4
sub edx, 1
sub edx, 0xc3d605b4
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, 0x74066906
mov ecx, 0x75858dbe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov dl, byte [ebp - 0x1d]
mov eax, 0xf9bd901b
mov ecx, 0x853dfa49
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub edx, 0x720d5eb9
add edx, eax
add edx, 0x720d5eb9
mov eax, dword [ebp - 0x58]
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 - 0x54]
mov byte [eax], cl
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x94], 0xb64b908c
jmp 0x409246
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add ecx, 0xe5817181
add ecx, eax
sub ecx, 0xe5817181
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x1c]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041f0a0
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x7c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
xor eax, eax
sub eax, edi
sub esi, eax
mov eax, dword [ebp - 0x58]
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 - 0x54]
mov byte [eax], cl
mov dword [ebp - 0x94], 0x73199ea0
jmp 0x409246
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
add edx, 0xd1c3b31
sub edx, 1
sub edx, 0xd1c3b31
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, 0xe853af11
mov ecx, 0x4e19869d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov ax, word [ebp - 0x18]
add ax, 0x3607
add ax, 1
sub ax, 0x3607
mov word [ebp - 0x16], ax
mov dword [ebp - 0x94], 0xaa236ef0
jmp 0x409246
mov eax, dword [ebp - 0x60]
mov cx, word [ebp - 0x16]
mov word [eax], cx
mov dword [ebp - 0x94], 0xf6a47e9c
jmp 0x409246
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
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, 0x6ae35802
mov ecx, 0x1f2a1438
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
add edx, 0x70ebbcea
sub edx, 1
sub edx, 0x70ebbcea
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, 0x6ae35802
mov ecx, 0x925c2fb3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov dword [ebp - 0x94], 0x6b3ec213
jmp 0x409246
mov eax, dword [ebp - 0x14]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
sub edx, 0x434c0a5d
sub edx, 1
add edx, 0x434c0a5d
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, 0x5c8c953e
mov ecx, 0x9868f61f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov dword [ebp - 0x94], 0x30cf9345
jmp 0x409246
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
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, 0x84d8b2c8
mov ecx, 0xe7e299e9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
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, 0x84d8b2c8
mov ecx, 0x545fd15d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov eax, dword [0x435594]
mov ecx, dword [0x435590]
mov edx, eax
sub edx, 0xc1f89158
sub edx, 1
add edx, 0xc1f89158
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, 0xb5b5671e
mov ecx, 0x3eb8b606
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov ecx, dword [0x435594]
mov eax, dword [0x435590]
mov edx, ecx
add edx, 0x47c603d0
sub edx, 1
sub edx, 0x47c603d0
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, 0xb5b5671e
mov ecx, 0xee3228f1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x409246
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e250
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x94], 0x7b2d4153
jmp 0x409246
mov dword [ebp - 0x94], 0x292d1908
jmp 0x409246
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], 0xe2687104
jmp 0x409246
mov dword [ebp - 0x94], 0xebda93ec
jmp 0x409246
mov dword [ebp - 0x94], 0xa9d49544
jmp 0x409246
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x94], 0xcb680d4
jmp 0x409246
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x94], 0xa16daefb
jmp 0x409246
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], 0x42d979
call fcn.00422840
add esp, 8
mov dword [ebp - 0x94], 0x9736c1ed
jmp 0x409246
mov dword [ebp - 0x94], 0x4e19869d
jmp 0x409246
mov dword [ebp - 0x94], 0xe7e299e9
jmp 0x409246
mov dword [ebp - 0x94], 0x3eb8b606
jmp 0x407708