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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x98
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov eax, dword [0x100bde80]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
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], 0x66a97d03
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
sub eax, 0x80708969
je 0x1000a3cd
jmp 0x1000919b
mov eax, dword [ebp - 0x9c]
sub eax, 0x80829053
je 0x1000a78c
jmp 0x100091b1
mov eax, dword [ebp - 0x9c]
sub eax, 0x82ff8dea
je 0x10009a88
jmp 0x100091c7
mov eax, dword [ebp - 0x9c]
sub eax, 0x84803ea7
je 0x1000998b
jmp 0x100091dd
mov eax, dword [ebp - 0x9c]
sub eax, 0x849a0875
je 0x10009bdb
jmp 0x100091f3
mov eax, dword [ebp - 0x9c]
sub eax, 0x8e9d5bfb
je 0x10009fb9
jmp 0x10009209
mov eax, dword [ebp - 0x9c]
sub eax, 0x8eda5fcc
je 0x1000aac6
jmp 0x1000921f
mov eax, dword [ebp - 0x9c]
sub eax, 0x914d0658
je 0x1000a55b
jmp 0x10009235
mov eax, dword [ebp - 0x9c]
sub eax, 0x96409009
je 0x1000abd5
jmp 0x1000924b
mov eax, dword [ebp - 0x9c]
sub eax, 0xa1532ca0
je 0x10009ee4
jmp 0x10009261
mov eax, dword [ebp - 0x9c]
sub eax, 0xa2f5cf05
je 0x1000aca9
jmp 0x10009277
mov eax, dword [ebp - 0x9c]
sub eax, 0xa3fca1ad
je 0x10009b8a
jmp 0x1000928d
mov eax, dword [ebp - 0x9c]
sub eax, 0xa5cbcd7d
je 0x1000a441
jmp 0x100092a3
mov eax, dword [ebp - 0x9c]
sub eax, 0xa8d7fffd
je 0x1000a166
jmp 0x100092b9
mov eax, dword [ebp - 0x9c]
sub eax, 0xab570649
je 0x1000a930
jmp 0x100092cf
mov eax, dword [ebp - 0x9c]
sub eax, 0xaca090fa
je 0x1000ab4f
jmp 0x100092e5
mov eax, dword [ebp - 0x9c]
sub eax, 0xb0def867
je 0x1000abf3
jmp 0x100092fb
mov eax, dword [ebp - 0x9c]
sub eax, 0xbbff178c
je 0x1000a335
jmp 0x10009311
mov eax, dword [ebp - 0x9c]
sub eax, 0xbf18e53d
je 0x10009df8
jmp 0x10009327
mov eax, dword [ebp - 0x9c]
sub eax, 0xc403d5c1
je 0x1000a71e
jmp 0x1000933d
mov eax, dword [ebp - 0x9c]
sub eax, 0xc55122d0
je 0x1000a6f6
jmp 0x10009353
mov eax, dword [ebp - 0x9c]
sub eax, 0xc7da200f
je 0x1000a106
jmp 0x10009369
mov eax, dword [ebp - 0x9c]
sub eax, 0xc968d475
je 0x1000a705
jmp 0x1000937f
mov eax, dword [ebp - 0x9c]
sub eax, 0xccbcf617
je 0x10009ed5
jmp 0x10009395
mov eax, dword [ebp - 0x9c]
sub eax, 0xcfab7359
je 0x10009a97
jmp 0x100093ab
mov eax, dword [ebp - 0x9c]
sub eax, 0xd30fbb89
je 0x1000a8db
jmp 0x100093c1
mov eax, dword [ebp - 0x9c]
sub eax, 0xda356573
je 0x10009cbf
jmp 0x100093d7
mov eax, dword [ebp - 0x9c]
sub eax, 0xdc18ca91
je 0x1000ac63
jmp 0x100093ed
mov eax, dword [ebp - 0x9c]
sub eax, 0xdcc0c048
je 0x100098a8
jmp 0x10009403
mov eax, dword [ebp - 0x9c]
sub eax, 0xddcc375b
je 0x1000ac72
jmp 0x10009419
mov eax, dword [ebp - 0x9c]
sub eax, 0xe061c56b
je 0x1000a4af
jmp 0x1000942f
mov eax, dword [ebp - 0x9c]
sub eax, 0xe07dc7c8
je 0x1000a432
jmp 0x10009445
mov eax, dword [ebp - 0x9c]
sub eax, 0xe1e26675
je 0x10009efb
jmp 0x1000945b
mov eax, dword [ebp - 0x9c]
sub eax, 0xe3d92143
je 0x1000a8ea
jmp 0x10009471
mov eax, dword [ebp - 0x9c]
sub eax, 0xe957a0cd
je 0x1000a237
jmp 0x10009487
mov eax, dword [ebp - 0x9c]
sub eax, 0xeaa57280
je 0x1000a262
jmp 0x1000949d
mov eax, dword [ebp - 0x9c]
sub eax, 0xeabdbc56
je 0x1000aab4
jmp 0x100094b3
mov eax, dword [ebp - 0x9c]
sub eax, 0xf1d50ba0
je 0x1000a2c9
jmp 0x100094c9
mov eax, dword [ebp - 0x9c]
sub eax, 0xf2ae6124
je 0x1000a2fe
jmp 0x100094df
mov eax, dword [ebp - 0x9c]
sub eax, 0xf42963b1
je 0x1000a281
jmp 0x100094f5
mov eax, dword [ebp - 0x9c]
sub eax, 0xf7db0d5c
je 0x1000a86d
jmp 0x1000950b
mov eax, dword [ebp - 0x9c]
sub eax, 0xfb2e0e76
je 0x10009c60
jmp 0x10009521
mov eax, dword [ebp - 0x9c]
sub eax, 0xfc9ba98d
je 0x10009ae8
jmp 0x10009537
mov eax, dword [ebp - 0x9c]
sub eax, 0x141e11d
je 0x1000a037
jmp 0x1000954d
mov eax, dword [ebp - 0x9c]
sub eax, 0x77dcf99
je 0x10009c77
jmp 0x10009563
mov eax, dword [ebp - 0x9c]
sub eax, 0x9ba1fac
je 0x1000acb8
jmp 0x10009579
mov eax, dword [ebp - 0x9c]
sub eax, 0x9ec82bc
je 0x1000aa3a
jmp 0x1000958f
mov eax, dword [ebp - 0x9c]
sub eax, 0xaf61e5c
je 0x1000a54c
jmp 0x100095a5
mov eax, dword [ebp - 0x9c]
sub eax, 0xcf3c028
je 0x1000990e
jmp 0x100095bb
mov eax, dword [ebp - 0x9c]
sub eax, 0xe6a4d88
je 0x1000a815
jmp 0x100095d1
mov eax, dword [ebp - 0x9c]
sub eax, 0x113b6daa
je 0x1000a046
jmp 0x100095e7
mov eax, dword [ebp - 0x9c]
sub eax, 0x13edd54c
je 0x10009e16
jmp 0x100095fd
mov eax, dword [ebp - 0x9c]
sub eax, 0x13fe34aa
je 0x1000a953
jmp 0x10009613
mov eax, dword [ebp - 0x9c]
sub eax, 0x1447c629
je 0x1000a2a6
jmp 0x10009629
mov eax, dword [ebp - 0x9c]
sub eax, 0x1eb1912a
je 0x1000aad5
jmp 0x1000963f
mov eax, dword [ebp - 0x9c]
sub eax, 0x1fe68406
je 0x1000ab70
jmp 0x10009655
mov eax, dword [ebp - 0x9c]
sub eax, 0x206dbed1
je 0x1000a228
jmp 0x1000966b
mov eax, dword [ebp - 0x9c]
sub eax, 0x2176ec2c
je 0x1000991d
jmp 0x10009681
mov eax, dword [ebp - 0x9c]
sub eax, 0x30b16e86
je 0x1000a680
jmp 0x10009697
mov eax, dword [ebp - 0x9c]
sub eax, 0x30cd9a7e
je 0x10009e8c
jmp 0x100096ad
mov eax, dword [ebp - 0x9c]
sub eax, 0x319e618e
je 0x1000a912
jmp 0x100096c3
mov eax, dword [ebp - 0x9c]
sub eax, 0x32b45716
je 0x10009f4a
jmp 0x100096d9
mov eax, dword [ebp - 0x9c]
sub eax, 0x33243ae3
je 0x1000ab5e
jmp 0x100096ef
mov eax, dword [ebp - 0x9c]
sub eax, 0x3c694bc2
je 0x10009b6c
jmp 0x10009705
mov eax, dword [ebp - 0x9c]
sub eax, 0x3c83bbc9
je 0x1000ab7f
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
mov eax, dword [0x100bf37c]
mov ecx, dword [0x100bf378]
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, 0x461f12c4
mov ecx, 0xcf3c028
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov dword [ebp - 0x94], 0x2176ec2c
jmp 0x1000acc2
mov ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
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, 0x9ec82bc
mov ecx, 0x84803ea7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov ecx, dword [ebp - 0x98]
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
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 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.10025bc0
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 [0x100bf37c]
mov ecx, dword [0x100bf378]
mov edx, eax
sub edx, 0x93d92d4c
sub edx, 1
add edx, 0x93d92d4c
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, 0x9ec82bc
mov ecx, 0x82ff8dea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov dword [ebp - 0x94], 0xcfab7359
jmp 0x1000acc2
mov eax, dword [0x100bf37c]
mov ecx, dword [0x100bf378]
mov edx, eax
add edx, 0xa868ca33
sub edx, 1
sub edx, 0xa868ca33
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, 0xeabdbc56
mov ecx, 0xfc9ba98d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov eax, dword [ebp - 0x80]
cmp dword [eax], 0
setne al
and al, 1
mov byte [ebp - 0x4d], al
mov ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
mov edx, ecx
add edx, 0xcf201c80
sub edx, 1
sub edx, 0xcf201c80
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, 0xeabdbc56
mov ecx, 0x3c694bc2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov dl, byte [ebp - 0x4d]
mov eax, 0xa3fca1ad
mov ecx, 0xfb2e0e76
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov eax, dword [0x100bf37c]
mov ecx, dword [0x100bf378]
mov edx, eax
add edx, 0xafd40414
sub edx, 1
sub edx, 0xafd40414
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, 0x8eda5fcc
mov ecx, 0x849a0875
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
mov edx, ecx
sub edx, 0x7fa5ac26
sub edx, 1
add edx, 0x7fa5ac26
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, 0x8eda5fcc
mov ecx, 0x67350e16
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x94], 0x77dcf99
jmp 0x1000acc2
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x4c]
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 dword [ebp - 0x94], 0xda356573
jmp 0x1000acc2
mov ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
mov edx, ecx
add edx, 0x1e4640c9
sub edx, 1
sub edx, 0x1e4640c9
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, 0x1eb1912a
mov ecx, 0x746234c2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov dl, byte [ebp - 0x45]
mov eax, 0xa1532ca0
mov ecx, 0x13edd54c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
mov edx, ecx
add edx, 0x7a4468fe
sub edx, 1
sub edx, 0x7a4468fe
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, 0xaca090fa
mov ecx, 0x30cd9a7e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov eax, dword [0x100bf37c]
mov ecx, dword [0x100bf378]
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, 0xaca090fa
mov ecx, 0xccbcf617
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov dword [ebp - 0x94], 0x13fe34aa
jmp 0x1000acc2
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x94], 0xe1e26675
jmp 0x1000acc2
mov eax, dword [ebp - 0x44]
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], 0x32b45716
jmp 0x1000acc2
mov edx, dword [ebp - 0x70]
mov eax, 0x6d23df8f
mov ecx, 0x6478e2f6
cmp dword [edx], 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
mov edx, ecx
add edx, 0xcb7035e6
sub edx, 1
sub edx, 0xcb7035e6
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, 0x33243ae3
mov ecx, 0x141e11d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov dword [ebp - 0x94], 0x113b6daa
jmp 0x1000acc2
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0x7bc2c230
jmp 0x1000acc2
mov dword [ebp - 0x94], 0x13fe34aa
jmp 0x1000acc2
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 ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
mov edx, ecx
add edx, 0x9ecce128
sub edx, 1
sub edx, 0x9ecce128
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, 0x3c83bbc9
mov ecx, 0x206dbed1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov dword [ebp - 0x94], 0xe957a0cd
jmp 0x1000acc2
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x68]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x3c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x94], 0xeaa57280
jmp 0x1000acc2
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x64]
mov dword [eax], ecx
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov dword [ebp - 0x94], 0xf42963b1
jmp 0x1000acc2
mov eax, dword [ebp - 0x60]
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov ax, word [eax + 6]
mov word [ebp - 0x30], ax
mov dword [ebp - 0x94], 0x1447c629
jmp 0x1000acc2
mov ax, word [ebp - 0x30]
movzx ecx, ax
mov eax, dword [ebp - 0x34]
cmp eax, ecx
setl al
and al, 1
mov byte [ebp - 0x2d], al
mov dword [ebp - 0x94], 0xf1d50ba0
jmp 0x1000acc2
mov dl, byte [ebp - 0x2d]
mov eax, 0xe3d92143
mov ecx, 0x5b628aaf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov eax, dword [ebp - 0x2c]
add eax, 0x71dc5048
add eax, 0x18
sub eax, 0x71dc5048
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
add eax, 0xf220d50a
add eax, ecx
sub eax, 0xf220d50a
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x94], 0xbbff178c
jmp 0x1000acc2
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x60]
movzx eax, word [eax]
imul edx, eax, 0x28
xor eax, eax
sub eax, edx
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], 0x10033c75
call fcn.10029520
add esp, 8
mov edx, eax
mov eax, 0x4d8937bb
mov ecx, 0x6e120696
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [0x100bf37c]
mov ecx, dword [0x100bf378]
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, 0x96409009
mov ecx, 0xe07dc7c8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov dword [ebp - 0x94], 0xa5cbcd7d
jmp 0x1000acc2
mov ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
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, 0xb0def867
mov ecx, 0xe061c56b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x20]
xor eax, eax
sub eax, ecx
sub edx, eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x24]
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 dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x18], eax
mov eax, dword [0x100bf37c]
mov ecx, dword [0x100bf378]
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, 0xb0def867
mov ecx, 0xaf61e5c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov dword [ebp - 0x94], 0x914d0658
jmp 0x1000acc2
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov edx, dword [ebp - 0x1c]
add edx, 0x30b77578
add edx, eax
sub edx, 0x30b77578
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, 0x8ffdddd8
add ecx, eax
add ecx, 0x8ffdddd8
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.10025d20
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 eax, dword [eax + 0xc]
sub esi, 0x48aaf5
add esi, eax
add esi, 0x48aaf5
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], 0x6e120696
jmp 0x1000acc2
mov ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
mov edx, ecx
sub edx, 0xb2fb6177
sub edx, 1
add edx, 0xb2fb6177
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, 0xdc18ca91
mov ecx, 0xc55122d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov dword [ebp - 0x94], 0xc968d475
jmp 0x1000acc2
mov eax, dword [ebp - 0x60]
mov ax, word [eax]
mov word [ebp - 0x12], ax
mov dword [ebp - 0x94], 0xc403d5c1
jmp 0x1000acc2
mov ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
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, 0xddcc375b
mov ecx, 0x80829053
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov cx, word [ebp - 0x12]
xor eax, eax
sub ax, 1
sub cx, ax
mov eax, dword [ebp - 0x60]
mov word [eax], cx
mov ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
mov edx, ecx
sub edx, 0xaf735dff
sub edx, 1
add edx, 0xaf735dff
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, 0xddcc375b
mov ecx, 0xe6a4d88
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov dword [ebp - 0x94], 0x69f9d888
jmp 0x1000acc2
mov ecx, dword [0x100bf37c]
mov eax, dword [0x100bf378]
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, 0xa2f5cf05
mov ecx, 0xd30fbb89
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov dword [ebp - 0x94], 0xf42963b1
jmp 0x1000acc2
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], 0x319e618e
jmp 0x1000acc2
mov eax, dword [ebp - 0x10]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x94], 0xab570649
jmp 0x1000acc2
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], 0x13fe34aa
jmp 0x1000acc2
mov eax, dword [0x100bf37c]
mov ecx, dword [0x100bf378]
mov edx, eax
add edx, 0x529f12b2
sub edx, 1
sub edx, 0x529f12b2
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, 0x9ba1fac
mov ecx, 0x7c705677
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x94], eax
jmp 0x1000acc2
mov ecx, dword [ebp - 0x98]
push eax
mov eax, esp
mov dword [ebp - 0xa0], 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.10025bc0
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 - 0xa0]
mov dword [eax], ecx
mov dword [ebp - 0x94], 0x84803ea7
jmp 0x1000acc2
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x94], 0xfc9ba98d
jmp 0x1000acc2
mov dword [ebp - 0x94], 0x849a0875
jmp 0x1000acc2
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]
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 eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], 0x746234c2
jmp 0x1000acc2
mov dword [ebp - 0x94], 0x30cd9a7e
jmp 0x1000acc2
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x94], 0x8e9d5bfb
jmp 0x1000acc2
mov dword [ebp - 0x94], 0x653a316a
jmp 0x1000acc2
mov eax, dword [ebp - 0x58]
mov dword [eax], 0
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x94], 0x80708969
jmp 0x1000acc2
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
add edx, 0xc5c5077a
add edx, eax
sub edx, 0xc5c5077a
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x24]
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 [ebp - 0x5c]
mov dword [ebp - 0x94], 0xe061c56b
jmp 0x1000acc2
mov dword [ebp - 0x94], 0x30b16e86
jmp 0x1000acc2
mov ax, word [ebp - 0x12]
mov ax, word [ebp - 0x12]
mov ax, word [ebp - 0x12]
mov ax, word [ebp - 0x12]
mov cx, word [ebp - 0x12]
add cx, 0x67dc
add cx, 1
sub cx, 0x67dc
mov eax, dword [ebp - 0x60]
mov word [eax], cx
mov dword [ebp - 0x94], 0x80829053
jmp 0x1000acc2
mov dword [ebp - 0x94], 0xf7db0d5c
jmp 0x1000acc2
mov dword [ebp - 0x94], 0x7c705677
jmp 0x1000917f