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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x94
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [0x10086880]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x10087d4c]
mov eax, dword [0x10087d48]
mov edx, ecx
add edx, 0x15b037d7
sub edx, 1
sub edx, 0x15b037d7
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], 0x23f6af70
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
sub eax, 0x89f42b3f
je 0x1000b916
jmp 0x1000a5c3
mov eax, dword [ebp - 0x9c]
sub eax, 0x8eae68d7
je 0x1000b0ad
jmp 0x1000a5d9
mov eax, dword [ebp - 0x9c]
sub eax, 0x99e31081
je 0x1000b0bc
jmp 0x1000a5ef
mov eax, dword [ebp - 0x9c]
sub eax, 0x9a70992d
je 0x1000b150
jmp 0x1000a605
mov eax, dword [ebp - 0x9c]
sub eax, 0xa01ed172
je 0x1000b2dc
jmp 0x1000a61b
mov eax, dword [ebp - 0x9c]
sub eax, 0xa2b084bc
je 0x1000b24c
jmp 0x1000a631
mov eax, dword [ebp - 0x9c]
sub eax, 0xa8031d6c
je 0x1000b3e3
jmp 0x1000a647
mov eax, dword [ebp - 0x9c]
sub eax, 0xa803b60a
je 0x1000ae1a
jmp 0x1000a65d
mov eax, dword [ebp - 0x9c]
sub eax, 0xac1e6dcd
je 0x1000b738
jmp 0x1000a673
mov eax, dword [ebp - 0x9c]
sub eax, 0xb4c3208b
je 0x1000b44b
jmp 0x1000a689
mov eax, dword [ebp - 0x9c]
sub eax, 0xb5075f29
je 0x1000b6e4
jmp 0x1000a69f
mov eax, dword [ebp - 0x9c]
sub eax, 0xb57ed1b6
je 0x1000b747
jmp 0x1000a6b5
mov eax, dword [ebp - 0x9c]
sub eax, 0xb8faadd9
je 0x1000b7a1
jmp 0x1000a6cb
mov eax, dword [ebp - 0x9c]
sub eax, 0xba703de5
je 0x1000afe5
jmp 0x1000a6e1
mov eax, dword [ebp - 0x9c]
sub eax, 0xbb23afe5
je 0x1000b96c
jmp 0x1000a6f7
mov eax, dword [ebp - 0x9c]
sub eax, 0xbd840b93
je 0x1000ab1f
jmp 0x1000a70d
mov eax, dword [ebp - 0x9c]
sub eax, 0xbde5313a
je 0x1000b203
jmp 0x1000a723
mov eax, dword [ebp - 0x9c]
sub eax, 0xc522001f
je 0x1000b852
jmp 0x1000a739
mov eax, dword [ebp - 0x9c]
sub eax, 0xca3a2b81
je 0x1000b928
jmp 0x1000a74f
mov eax, dword [ebp - 0x9c]
sub eax, 0xcc73c982
je 0x1000b801
jmp 0x1000a765
mov eax, dword [ebp - 0x9c]
sub eax, 0xcfce2092
je 0x1000b412
jmp 0x1000a77b
mov eax, dword [ebp - 0x9c]
sub eax, 0xd1819d7b
je 0x1000b76f
jmp 0x1000a791
mov eax, dword [ebp - 0x9c]
sub eax, 0xd2ea4623
je 0x1000ad8c
jmp 0x1000a7a7
mov eax, dword [ebp - 0x9c]
sub eax, 0xd5073a4e
je 0x1000add8
jmp 0x1000a7bd
mov eax, dword [ebp - 0x9c]
sub eax, 0xd6828d40
je 0x1000b3f2
jmp 0x1000a7d3
mov eax, dword [ebp - 0x9c]
sub eax, 0xd75f0a11
je 0x1000b67c
jmp 0x1000a7e9
mov eax, dword [ebp - 0x9c]
sub eax, 0xd93a2325
je 0x1000aefb
jmp 0x1000a7ff
mov eax, dword [ebp - 0x9c]
sub eax, 0xd9623bb3
je 0x1000b863
jmp 0x1000a815
mov eax, dword [ebp - 0x9c]
sub eax, 0xdf9732ee
je 0x1000ae84
jmp 0x1000a82b
mov eax, dword [ebp - 0x9c]
sub eax, 0xe034303d
je 0x1000ad9b
jmp 0x1000a841
mov eax, dword [ebp - 0x9c]
sub eax, 0xe2af7e2c
je 0x1000b0da
jmp 0x1000a857
mov eax, dword [ebp - 0x9c]
sub eax, 0xe3da070f
je 0x1000b1a8
jmp 0x1000a86d
mov eax, dword [ebp - 0x9c]
sub eax, 0xe9e52204
je 0x1000b7b0
jmp 0x1000a883
mov eax, dword [ebp - 0x9c]
sub eax, 0xf0b89626
je 0x1000b2cd
jmp 0x1000a899
mov eax, dword [ebp - 0x9c]
sub eax, 0xf5e0c4ac
je 0x1000b4db
jmp 0x1000a8af
mov eax, dword [ebp - 0x9c]
sub eax, 0xf732a120
je 0x1000b47a
jmp 0x1000a8c5
mov eax, dword [ebp - 0x9c]
sub eax, 0xf8693574
je 0x1000b70c
jmp 0x1000a8db
mov eax, dword [ebp - 0x9c]
sub eax, 0xfc1b23dc
je 0x1000b872
jmp 0x1000a8f1
mov eax, dword [ebp - 0x9c]
sub eax, 0xffb71f70
je 0x1000abde
jmp 0x1000a907
mov eax, dword [ebp - 0x9c]
sub eax, 0x10b6abd
je 0x1000b6f3
jmp 0x1000a91d
mov eax, dword [ebp - 0x9c]
sub eax, 0x1d87fcf3
je 0x1000b8e3
jmp 0x1000a933
mov eax, dword [ebp - 0x9c]
sub eax, 0x1e0b08fc
je 0x1000b6cd
jmp 0x1000a949
mov eax, dword [ebp - 0x9c]
sub eax, 0x1f87971d
je 0x1000af69
jmp 0x1000a95f
mov eax, dword [ebp - 0x9c]
sub eax, 0x21325fa8
je 0x1000ba2e
jmp 0x1000a975
mov eax, dword [ebp - 0x9c]
sub eax, 0x217bf003
je 0x1000abcf
jmp 0x1000a98b
mov eax, dword [ebp - 0x9c]
sub eax, 0x23f6af70
je 0x1000aaf0
jmp 0x1000a9a1
mov eax, dword [ebp - 0x9c]
sub eax, 0x26981596
je 0x1000aee4
jmp 0x1000a9b7
mov eax, dword [ebp - 0x9c]
sub eax, 0x34884983
je 0x1000b054
jmp 0x1000a9cd
mov eax, dword [ebp - 0x9c]
sub eax, 0x34ac9253
je 0x1000b003
jmp 0x1000a9e3
mov eax, dword [ebp - 0x9c]
sub eax, 0x365e9958
je 0x1000b66d
jmp 0x1000a9f9
mov eax, dword [ebp - 0x9c]
sub eax, 0x3747c225
je 0x1000b8f5
jmp 0x1000aa0f
mov eax, dword [ebp - 0x9c]
sub eax, 0x37929852
je 0x1000b56f
jmp 0x1000aa25
mov eax, dword [ebp - 0x9c]
sub eax, 0x3879def5
je 0x1000ad6e
jmp 0x1000aa3b
mov eax, dword [ebp - 0x9c]
sub eax, 0x3c316afe
je 0x1000b4f9
jmp 0x1000aa51
mov eax, dword [ebp - 0x9c]
sub eax, 0x3e759790
je 0x1000b42b
jmp 0x1000aa67
mov eax, dword [ebp - 0x9c]
sub eax, 0x4a8aed58
je 0x1000b199
jmp 0x1000aa7d
mov eax, dword [ebp - 0x9c]
sub eax, 0x4c2c4b2a
je 0x1000b907
jmp 0x1000aa93
mov eax, dword [ebp - 0x9c]
sub eax, 0x589cd5b0
je 0x1000b34a
jmp 0x1000aaa9
mov eax, dword [ebp - 0x9c]
sub eax, 0x686e0ce1
je 0x1000ac1d
jmp 0x1000aabf
mov eax, dword [ebp - 0x9c]
sub eax, 0x7b138d77
je 0x1000ac93
jmp 0x1000aad5
mov eax, dword [ebp - 0x9c]
sub eax, 0x7ee8a199
je 0x1000ae93
jmp 0x1000aaeb
jmp 0x1000ba38
mov al, byte [ebp - 0x8e]
mov cl, byte [ebp - 0x8d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xd9623bb3
mov ecx, 0xbd840b93
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
push eax
mov eax, esp
mov dword [ebp - 0x8c], eax
push eax
mov eax, esp
mov dword [ebp - 0x88], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x84], eax
push eax
mov eax, esp
mov dword [ebp - 0x80], eax
push eax
mov eax, esp
mov dword [ebp - 0x7c], eax
sub esp, 0x104
mov eax, esp
mov dword [ebp - 0x78], eax
push eax
mov eax, esp
mov dword [ebp - 0x74], eax
mov ecx, dword [0x10087d4c]
mov eax, dword [0x10087d48]
mov edx, ecx
sub edx, 0x5bfff9a6
sub edx, 1
add edx, 0x5bfff9a6
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, 0xd9623bb3
mov ecx, 0x217bf003
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov dword [ebp - 0x94], 0xffb71f70
jmp 0x1000ba38
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x94], 0x686e0ce1
jmp 0x1000ba38
mov ecx, dword [0x10087d4c]
mov eax, dword [0x10087d48]
mov edx, ecx
sub edx, 0xafa514cb
sub edx, 1
add edx, 0xafa514cb
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, 0xfc1b23dc
mov ecx, 0x7b138d77
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov ecx, dword [ebp - 0x98]
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.1001fb20
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 eax, dword [ebp - 0x80]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x4d], al
mov ecx, dword [0x10087d4c]
mov eax, dword [0x10087d48]
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, 0xfc1b23dc
mov ecx, 0x3879def5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov dl, byte [ebp - 0x4d]
mov eax, 0xd2ea4623
mov ecx, 0xe034303d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov dword [ebp - 0x94], 0xe9e52204
jmp 0x1000ba38
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 dword [ebp - 0x94], 0xd5073a4e
jmp 0x1000ba38
mov eax, dword [ebp - 0x84]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x7c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x80]
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 - 0x78]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x94], 0xa803b60a
jmp 0x1000ba38
mov eax, dword [ebp - 0x4c]
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 - 0x74]
mov dword [eax], ecx
mov edx, dword [ebp - 0x74]
mov esi, 0xffffffff
mov eax, 0x7ee8a199
mov ecx, 0xdf9732ee
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov dword [ebp - 0x94], 0xe9e52204
jmp 0x1000ba38
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], 0x26981596
jmp 0x1000ba38
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x94], 0xd93a2325
jmp 0x1000ba38
mov ecx, dword [0x10087d4c]
mov eax, dword [0x10087d48]
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, 0x1d87fcf3
mov ecx, 0x1f87971d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov eax, dword [ebp - 0x48]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x41], al
mov ecx, dword [0x10087d4c]
mov eax, dword [0x10087d48]
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, 0x1d87fcf3
mov ecx, 0xba703de5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov dl, byte [ebp - 0x41]
mov eax, 0x34ac9253
mov ecx, 0xe3da070f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov eax, dword [0x10087d4c]
mov ecx, dword [0x10087d48]
mov edx, eax
sub edx, 0x7cf3da3
sub edx, 1
add edx, 0x7cf3da3
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, 0x3747c225
mov ecx, 0x34884983
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [0x10087d4c]
mov ecx, dword [0x10087d48]
mov edx, eax
sub edx, 0x207d8d5d
sub edx, 1
add edx, 0x207d8d5d
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, 0x3747c225
mov ecx, 0x8eae68d7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov dword [ebp - 0x94], 0x99e31081
jmp 0x1000ba38
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xe2af7e2c
jmp 0x1000ba38
mov ecx, dword [0x10087d4c]
mov eax, dword [0x10087d48]
mov edx, ecx
add edx, 0x463d2d84
sub edx, 1
sub edx, 0x463d2d84
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, 0x4c2c4b2a
mov ecx, 0x9a70992d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov eax, dword [0x10087d4c]
mov ecx, dword [0x10087d48]
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, 0x4c2c4b2a
mov ecx, 0x4a8aed58
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov dword [ebp - 0x94], 0xe9e52204
jmp 0x1000ba38
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 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 - 0x3c], eax
mov dword [ebp - 0x94], 0xbde5313a
jmp 0x1000ba38
mov eax, dword [0x10087d4c]
mov ecx, dword [0x10087d48]
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, 0x89f42b3f
mov ecx, 0xa2b084bc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
add eax, 0x3c
mov dword [ebp - 0x38], eax
mov ecx, dword [0x10087d4c]
mov eax, dword [0x10087d48]
mov edx, ecx
add edx, 0x9185f155
sub edx, 1
sub edx, 0x9185f155
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, 0x89f42b3f
mov ecx, 0xf0b89626
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov dword [ebp - 0x94], 0xa01ed172
jmp 0x1000ba38
mov ecx, dword [0x10087d4c]
mov eax, dword [0x10087d48]
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, 0xca3a2b81
mov ecx, 0x589cd5b0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
add ecx, 0x8efd5cfc
add ecx, eax
sub ecx, 0x8efd5cfc
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov ecx, dword [0x10087d4c]
mov eax, dword [0x10087d48]
mov edx, ecx
sub edx, 0xeba646f4
sub edx, 1
add edx, 0xeba646f4
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, 0xca3a2b81
mov ecx, 0xa8031d6c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov dword [ebp - 0x94], 0xd6828d40
jmp 0x1000ba38
mov eax, dword [ebp - 0x60]
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x94], 0xcfce2092
jmp 0x1000ba38
mov eax, dword [ebp - 0x30]
movzx eax, word [eax + 6]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x94], 0x3e759790
jmp 0x1000ba38
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x2c]
mov eax, 0xb57ed1b6
mov ecx, 0xb4c3208b
cmp edx, esi
cmovl eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
add eax, 0x1efbe6c2
add eax, 0x18
sub eax, 0x1efbe6c2
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x94], 0xf732a120
jmp 0x1000ba38
mov eax, dword [ebp - 0x24]
movzx edx, word [eax + 0x10]
mov ecx, dword [ebp - 0x28]
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, dword [ebp - 0x60]
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 - 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], 0x1002da19
call fcn.10023480
add esp, 8
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x94], 0xf5e0c4ac
jmp 0x1000ba38
mov dl, byte [ebp - 0x1d]
mov eax, 0x3c316afe
mov ecx, 0xb5075f29
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov ecx, dword [0x10087d4c]
mov eax, dword [0x10087d48]
mov edx, ecx
add edx, 0xb1690251
sub edx, 1
sub edx, 0xb1690251
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, 0xbb23afe5
mov ecx, 0x37929852
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
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]
add edx, 0x59393a60
add edx, eax
sub edx, 0x59393a60
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 edx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
xor eax, eax
sub eax, esi
sub ecx, eax
mov eax, dword [ebp - 0x5c]
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.1001fc80
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [0x10087d4c]
mov ecx, dword [0x10087d48]
mov edx, eax
sub edx, 0x91a1172b
sub edx, 1
add edx, 0x91a1172b
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, 0xbb23afe5
mov ecx, 0x365e9958
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov dword [ebp - 0x94], 0xd75f0a11
jmp 0x1000ba38
mov eax, dword [ebp - 0x18]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0x7c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
xor eax, eax
sub eax, ecx
sub esi, eax
mov eax, dword [ebp - 0x58]
mov ecx, 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 al
and al, 1
mov byte [ebp - 0x13], al
mov dword [ebp - 0x94], 0x1e0b08fc
jmp 0x1000ba38
mov eax, dword [ebp - 0x54]
mov cl, byte [ebp - 0x13]
mov byte [eax], cl
mov dword [ebp - 0x94], 0xb5075f29
jmp 0x1000ba38
mov dword [ebp - 0x94], 0x10b6abd
jmp 0x1000ba38
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
mov word [ebp - 0x12], ax
mov dword [ebp - 0x94], 0xf8693574
jmp 0x1000ba38
mov cx, word [ebp - 0x12]
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 - 0x60]
mov word [eax], cx
mov dword [ebp - 0x94], 0xac1e6dcd
jmp 0x1000ba38
mov dword [ebp - 0x94], 0xd6828d40
jmp 0x1000ba38
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 - 0x10], eax
mov dword [ebp - 0x94], 0xd1819d7b
jmp 0x1000ba38
mov eax, dword [ebp - 0x10]
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 dword [ebp - 0x94], 0xb8faadd9
jmp 0x1000ba38
mov dword [ebp - 0x94], 0xe9e52204
jmp 0x1000ba38
mov eax, dword [0x10087d4c]
mov ecx, dword [0x10087d48]
mov edx, eax
add edx, 0x779f0ea9
sub edx, 1
sub edx, 0x779f0ea9
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, 0x21325fa8
mov ecx, 0xcc73c982
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov eax, dword [0x10087d4c]
mov ecx, dword [0x10087d48]
mov edx, eax
add edx, 0x91348ce7
sub edx, 1
sub edx, 0x91348ce7
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, 0x21325fa8
mov ecx, 0xc522001f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000ba38
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.1001ed80
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov dword [ebp - 0x94], 0xbd840b93
jmp 0x1000ba38
mov ecx, dword [ebp - 0x98]
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.1001fb20
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 eax, dword [ebp - 0x80]
mov dword [ebp - 0x94], 0x7b138d77
jmp 0x1000ba38
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x94], 0x1f87971d
jmp 0x1000ba38
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], 0x34884983
jmp 0x1000ba38
mov dword [ebp - 0x94], 0x9a70992d
jmp 0x1000ba38
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x94], 0xa2b084bc
jmp 0x1000ba38
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
add ecx, 0x4939ee69
add ecx, eax
sub ecx, 0x4939ee69
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov dword [ebp - 0x94], 0x589cd5b0
jmp 0x1000ba38
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, 0xa348132f
add edx, eax
add edx, 0xa348132f
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 edx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add edx, 0x574422e2
add edx, eax
sub edx, 0x574422e2
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
sub ecx, 0x4f45d98
add ecx, eax
add ecx, 0x4f45d98
mov eax, dword [ebp - 0x5c]
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.1001fc80
add esp, 0xc
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x94], 0x37929852
jmp 0x1000ba38
mov dword [ebp - 0x94], 0xcc73c982
jmp 0x1000a5a7