Function at 0x10009b50
Capabilities:
Delete file
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x42c
cmp byte [0x1008dfd0], 0
push ebx
push esi
push edi
je 0x1000a289
push 0x124
lea eax, [esp + 0x314]
push 0
push eax
call fcn.10020640
add esp, 0xc
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1008dfd0]
lea ecx, [ecx + 1]
mov byte [esp + ecx + 0x30f], al
test al, al
jne 0x10009b90
lea ecx, [esp + 0x310]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x10009bb0
mov eax, dword [str.plugins.dat]
push 0
push 0x80
mov dword [ecx], eax
mov eax, dword [0x10086c48]
push 4
push 0
mov dword [ecx + 4], eax
mov eax, dword [0x10086c4c]
push 0
mov dword [ecx + 8], eax
lea eax, [esp + 0x324]
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
mov dword [esp + 0x28], edi
cmp edi, 0xffffffff
je 0x1000a289
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [esp + 0x14]
push 0
push eax
push 4
lea eax, [esp + 0x40]
mov byte [esp + 0x2f], 0
push eax
push edi
mov dword [esp + 0x28], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
call ebx
push 0
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x44]
push eax
push edi
call ebx
push 0x1000
call fcn.10045341
mov esi, eax
add esp, 4
mov ebx, 8
test esi, esi
je 0x10009c72
mov eax, dword [esp + 0x34]
or ecx, 0xffffffff
mov dword [esi], eax
test esi, esi
mov eax, 4
cmovne ecx, eax
jmp 0x10009c90
push 0x1000
call fcn.10045341
mov esi, eax
or ecx, 0xffffffff
add esp, 4
mov eax, 4
test esi, esi
cmovne ecx, eax
je 0x10009c97
mov eax, dword [esp + 0x38]
mov dword [esi + ecx], eax
cmp dword [esp + 0x34], 0x50565354
jne 0x1000a275
cmp dword [esp + 0x38], 0x5208
jl 0x1000a275
push 0
lea eax, [esp + 0x18]
mov dword [esp + 0x10], 0
push eax
push 2
lea eax, [esp + 0x18]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [esp + 0x14], 2
jne 0x1000a212
nop dword [eax + eax]
mov eax, dword [esp + 0xc]
test ax, ax
jle 0x1000a219
xor eax, eax
mov dword [esp + 0x248], 0
push 0x208
push eax
mov word [esp + 0x254], ax
lea eax, [esp + 0x48]
push eax
call fcn.10020640
add esp, 0xc
lea eax, [esp + 0x14]
push 0
push eax
mov eax, dword [esp + 0x14]
cwde
push eax
lea eax, [esp + 0x4c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x254]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
push 2
lea eax, [esp + 0x258]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [esp + 0x24c]
and eax, 0x1fff
cmp eax, 0x80
ja 0x1000a292
je 0x10009d92
cmp eax, 4
je 0x1000a465
cmp eax, 8
je 0x1000a465
cmp eax, 0x40
jne 0x1000a2a8
lea eax, [ebx + 2]
mov dword [esp + 0x18], eax
cdq
and edx, 0xfff
lea ecx, [edx + eax]
mov eax, ebx
lea edx, [ebx + 2]
sar ecx, 0xc
mov dword [esp + 0x10], edx
inc ecx
cdq
and edx, 0xfff
shl ecx, 0xc
add eax, edx
mov dword [esp + 0x2c], ecx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp ecx, eax
jg 0x1000ab01
test esi, esi
jne 0x10009dde
push ecx
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, ebx
test ecx, ecx
js 0x10009df3
mov ax, word [esp + 0xc]
mov word [esi + ecx], ax
movsx ebx, word [esp + 0xc]
test ebx, ebx
jle 0x10009e4e
mov eax, dword [esp + 0x18]
add eax, ebx
mov dword [esp + 0x10], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, dword [esp + 0x2c]
jg 0x1000ab18
test esi, esi
jne 0x10009e2f
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or eax, 0xffffffff
test esi, esi
cmovne eax, dword [esp + 0x18]
test eax, eax
js 0x10009e4e
push ebx
lea ecx, [esp + 0x44]
add eax, esi
push ecx
push eax
call fcn.1001fe60
add esp, 0xc
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 4]
mov dword [esp + 0x18], eax
cdq
and edx, 0xfff
lea ebx, [edx + eax]
mov eax, ecx
cdq
and edx, 0xfff
sar ebx, 0xc
add eax, edx
inc ebx
sar eax, 0xc
inc eax
shl ebx, 0xc
shl eax, 0xc
cmp ebx, eax
jg 0x1000ab2f
test esi, esi
jne 0x10009e93
push ebx
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x10]
test ecx, ecx
js 0x10009eab
mov eax, dword [esp + 0x248]
mov dword [esi + ecx], eax
mov eax, dword [esp + 0x18]
add eax, 2
mov dword [esp + 0x10], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
mov dword [esp + 0x2c], eax
cmp eax, ebx
jg 0x1000ab46
test esi, esi
jne 0x10009ee1
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x18]
test ecx, ecx
js 0x10009efb
mov ax, word [esp + 0x24c]
mov word [ecx + esi], ax
push 0x60
lea eax, [esp + 0x2b4]
mov dword [esp + 0x34], 0
push 0
push eax
call fcn.10020640
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [esp + 0x20]
add esp, 0xc
push 0
push eax
push 2
lea eax, [esp + 0x18]
push eax
push edi
call ebx
mov ecx, dword [esp + 0x10]
add ecx, 2
mov eax, ecx
mov dword [esp + 0x1c], ecx
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
mov dword [esp + 0x3c], eax
cmp eax, dword [esp + 0x2c]
jg 0x1000ab5d
test esi, esi
jne 0x10009f68
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x10]
test ecx, ecx
js 0x10009f7f
mov ax, word [esp + 0xc]
mov word [esi + ecx], ax
push 0
lea eax, [esp + 0x18]
push eax
movsx eax, word [esp + 0x14]
push eax
lea eax, [esp + 0x2bc]
push eax
push edi
call ebx
movsx ecx, word [esp + 0xc]
mov dword [esp + 0x18], ecx
test ecx, ecx
jle 0x1000a009
mov eax, dword [esp + 0x10]
add eax, 2
add eax, ecx
mov dword [esp + 0x1c], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, dword [esp + 0x3c]
jg 0x1000ab74
test esi, esi
jne 0x10009fde
push eax
call fcn.10045341
add esp, 4
mov ecx, dword [esp + 0x18]
mov esi, eax
mov edx, dword [esp + 0x10]
or eax, 0xffffffff
mov edi, dword [esp + 0x28]
test esi, esi
lea edx, [edx + 2]
cmovne eax, edx
test eax, eax
js 0x1000a009
push ecx
lea ecx, [esp + 0x2b4]
add eax, esi
push ecx
push eax
call fcn.1001fe60
add esp, 0xc
push 0
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x3c]
push eax
push edi
call ebx
mov ebx, dword [esp + 0x1c]
add ebx, 4
mov eax, ebx
cdq
and edx, 0xfff
lea ecx, [edx + eax]
mov eax, dword [esp + 0x1c]
cdq
and edx, 0xfff
sar ecx, 0xc
add eax, edx
inc ecx
sar eax, 0xc
inc eax
shl ecx, 0xc
shl eax, 0xc
cmp ecx, eax
jg 0x1000ab8b
test esi, esi
jne 0x1000a05f
push ecx
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x1c]
test ecx, ecx
js 0x1000a074
mov eax, dword [esp + 0x30]
mov dword [esi + ecx], eax
sub dword [esp + 0x30], 1
js 0x1000a1ea
nop
push 0
lea eax, [esp + 0x18]
push eax
push 2
lea eax, [esp + 0x18]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
lea ecx, [ebx + 2]
mov eax, ecx
mov dword [esp + 0x18], ecx
cdq
and edx, 0xfff
mov dword [esp + 0x10], ecx
lea edi, [edx + eax]
mov eax, ebx
cdq
and edx, 0xfff
sar edi, 0xc
add eax, edx
inc edi
sar eax, 0xc
inc eax
shl edi, 0xc
shl eax, 0xc
cmp edi, eax
jg 0x1000aba2
test esi, esi
jne 0x1000a0dc
push edi
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, ebx
test ecx, ecx
js 0x1000a0f1
mov ax, word [esp + 0xc]
mov word [esi + ecx], ax
push 0
lea eax, [esp + 0x18]
push eax
movsx eax, word [esp + 0x14]
push eax
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x38]
call dword [sym.imp.KERNEL32.dll_ReadFile]
movsx ebx, word [esp + 0xc]
test ebx, ebx
jle 0x1000a166
mov eax, dword [esp + 0x18]
add eax, ebx
mov dword [esp + 0x10], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, edi
jg 0x1000abb9
test esi, esi
jne 0x1000a147
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or eax, 0xffffffff
test esi, esi
cmovne eax, dword [esp + 0x18]
test eax, eax
js 0x1000a166
push ebx
lea ecx, [esp + 0x44]
add eax, esi
push ecx
push eax
call fcn.1001fe60
add esp, 0xc
mov edi, dword [esp + 0x28]
lea eax, [esp + 0x14]
push 0
push eax
push 4
lea eax, [esp + 0x254]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ebx, dword [esp + 0x10]
add ebx, 4
mov eax, ebx
cdq
and edx, 0xfff
lea ecx, [edx + eax]
mov eax, dword [esp + 0x10]
cdq
and edx, 0xfff
sar ecx, 0xc
add eax, edx
inc ecx
sar eax, 0xc
inc eax
shl ecx, 0xc
shl eax, 0xc
cmp ecx, eax
jg 0x1000abd0
test esi, esi
jne 0x1000a1c7
push ecx
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x10]
test ecx, ecx
js 0x1000a1df
mov eax, dword [esp + 0x248]
mov dword [esi + ecx], eax
sub dword [esp + 0x30], 1
jns 0x1000a080
push 0
lea eax, [esp + 0x18]
mov dword [esp + 0x10], 0
push eax
push 2
lea eax, [esp + 0x18]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [esp + 0x14], 2
je 0x10009ce0
mov eax, dword [esp + 0xc]
test ax, ax
jne 0x1000a222
cmp byte [esp + 0x23], 0
je 0x1000a275
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0x310]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 0x80
push 4
push 0
push 0
push 0x40000000
lea eax, [esp + 0x328]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x1000a275
push 0
lea eax, [esp + 0x18]
push eax
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push edi
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x1000a289
push esi
call fcn.1004531b
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x100
je 0x10009d92
cmp eax, 0x400
je 0x1000a465
lea eax, [ebx + 2]
mov dword [esp + 0x10], eax
cdq
and edx, 0xfff
lea ecx, [edx + eax]
mov eax, ebx
lea edx, [ebx + 2]
sar ecx, 0xc
mov dword [esp + 0x1c], edx
inc ecx
cdq
and edx, 0xfff
shl ecx, 0xc
add eax, edx
mov dword [esp + 0x18], ecx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp ecx, eax
jg 0x1000a410
test esi, esi
jne 0x1000a2f4
push ecx
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, ebx
test ecx, ecx
js 0x1000a309
mov ax, word [esp + 0xc]
mov word [ecx + esi], ax
movsx ebx, word [esp + 0xc]
test ebx, ebx
jle 0x1000a364
mov eax, dword [esp + 0x10]
add eax, ebx
mov dword [esp + 0x1c], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, dword [esp + 0x18]
jg 0x1000a427
test esi, esi
jne 0x1000a345
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or eax, 0xffffffff
test esi, esi
cmovne eax, dword [esp + 0x10]
test eax, eax
js 0x1000a364
push ebx
lea ecx, [esp + 0x44]
add eax, esi
push ecx
push eax
call fcn.1001fe60
add esp, 0xc
mov ebx, dword [esp + 0x1c]
lea eax, [ebx + 4]
mov dword [esp + 0x10], eax
cdq
and edx, 0xfff
lea ecx, [edx + eax]
mov eax, ebx
cdq
and edx, 0xfff
sar ecx, 0xc
add eax, edx
inc ecx
sar eax, 0xc
inc eax
shl ecx, 0xc
shl eax, 0xc
mov dword [esp + 0x18], ecx
cmp ecx, eax
jg 0x1000a43e
test esi, esi
jne 0x1000a3ad
push ecx
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, ebx
test ecx, ecx
js 0x1000a3c3
mov eax, dword [esp + 0x248]
mov dword [ecx + esi], eax
add ebx, 6
mov eax, ebx
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, dword [esp + 0x18]
jg 0x1000a455
test esi, esi
jne 0x1000a3ed
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x10]
test ecx, ecx
js 0x1000a1ea
mov ax, word [esp + 0x24c]
mov word [ecx + esi], ax
jmp 0x1000a1ea
test esi, esi
je 0x1000a2e9
push ecx
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a2f2
test esi, esi
je 0x1000a33a
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a343
test esi, esi
je 0x1000a3a2
push ecx
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a3ab
test esi, esi
je 0x1000a3e2
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a3eb
push 0x60
lea eax, [esp + 0x254]
mov dword [esp + 0x28], 0
push 0
push eax
call fcn.10020640
mov eax, dword [ebp + 8]
add esp, 0xc
test eax, eax
je 0x1000aa45
lea ecx, [esp + 0x40]
push ecx
push eax
call fcn.100439a6
add esp, 8
test eax, eax
je 0x1000aa45
lea eax, [ebx + 2]
mov dword [esp + 0x1c], eax
cdq
and edx, 0xfff
lea ecx, [edx + eax]
mov eax, ebx
lea edx, [ebx + 2]
sar ecx, 0xc
mov dword [esp + 0x10], edx
inc ecx
cdq
and edx, 0xfff
shl ecx, 0xc
add eax, edx
mov dword [esp + 0x18], ecx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp ecx, eax
jg 0x1000a948
test esi, esi
jne 0x1000a4ee
push ecx
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, ebx
test ecx, ecx
js 0x1000a503
mov ax, word [esp + 0xc]
mov word [ecx + esi], ax
movsx ebx, word [esp + 0xc]
test ebx, ebx
jle 0x1000a55e
mov eax, dword [esp + 0x1c]
add eax, ebx
mov dword [esp + 0x10], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, dword [esp + 0x18]
jg 0x1000a95f
test esi, esi
jne 0x1000a53f
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or eax, 0xffffffff
test esi, esi
cmovne eax, dword [esp + 0x1c]
test eax, eax
js 0x1000a55e
push ebx
lea ecx, [esp + 0x44]
add eax, esi
push ecx
push eax
call fcn.1001fe60
add esp, 0xc
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 4]
mov dword [esp + 0x18], eax
cdq
and edx, 0xfff
lea ebx, [edx + eax]
mov eax, ecx
cdq
and edx, 0xfff
sar ebx, 0xc
add eax, edx
inc ebx
sar eax, 0xc
inc eax
shl ebx, 0xc
shl eax, 0xc
cmp ebx, eax
jg 0x1000a976
test esi, esi
jne 0x1000a5a3
push ebx
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x10]
test ecx, ecx
js 0x1000a5bb
mov eax, dword [esp + 0x248]
mov dword [ecx + esi], eax
mov eax, dword [esp + 0x18]
add eax, 2
mov dword [esp + 0x1c], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
mov dword [esp + 0x3c], eax
cmp eax, ebx
jg 0x1000a98d
test esi, esi
jne 0x1000a5f1
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x18]
test ecx, ecx
js 0x1000a60b
mov ax, word [esp + 0x24c]
mov word [ecx + esi], ax
mov ebx, dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [esp + 0x14]
push 0
push eax
push 2
lea eax, [esp + 0x18]
push eax
push edi
call ebx
mov ecx, dword [esp + 0x1c]
add ecx, 2
mov eax, ecx
mov dword [esp + 0x10], ecx
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
mov dword [esp + 0x2c], eax
cmp eax, dword [esp + 0x3c]
jg 0x1000a9a4
test esi, esi
jne 0x1000a65c
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x1c]
test ecx, ecx
js 0x1000a673
mov ax, word [esp + 0xc]
mov word [ecx + esi], ax
push 0
lea eax, [esp + 0x18]
push eax
movsx eax, word [esp + 0x14]
push eax
lea eax, [esp + 0x25c]
push eax
push edi
call ebx
movsx ecx, word [esp + 0xc]
mov dword [esp + 0x18], ecx
test ecx, ecx
jle 0x1000a6fd
mov eax, dword [esp + 0x1c]
add eax, 2
add eax, ecx
mov dword [esp + 0x10], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, dword [esp + 0x2c]
jg 0x1000a9bb
test esi, esi
jne 0x1000a6d2
push eax
call fcn.10045341
add esp, 4
mov ecx, dword [esp + 0x18]
mov esi, eax
mov edx, dword [esp + 0x1c]
or eax, 0xffffffff
mov edi, dword [esp + 0x28]
test esi, esi
lea edx, [edx + 2]
cmovne eax, edx
test eax, eax
js 0x1000a6fd
push ecx
lea ecx, [esp + 0x254]
add eax, esi
push ecx
push eax
call fcn.1001fe60
add esp, 0xc
push 0
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x30]
push eax
push edi
call ebx
mov ebx, dword [esp + 0x10]
add ebx, 4
mov eax, ebx
cdq
and edx, 0xfff
lea ecx, [edx + eax]
mov eax, dword [esp + 0x10]
cdq
and edx, 0xfff
sar ecx, 0xc
add eax, edx
inc ecx
sar eax, 0xc
inc eax
shl ecx, 0xc
shl eax, 0xc
cmp ecx, eax
jg 0x1000a9d2
test esi, esi
jne 0x1000a753
push ecx
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x10]
test ecx, ecx
js 0x1000a768
mov eax, dword [esp + 0x24]
mov dword [ecx + esi], eax
sub dword [esp + 0x24], 1
js 0x1000a1ea
push 0
lea eax, [esp + 0x18]
push eax
push 2
lea eax, [esp + 0x18]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
lea ecx, [ebx + 2]
mov eax, ecx
mov dword [esp + 0x18], ecx
cdq
and edx, 0xfff
mov dword [esp + 0x10], ecx
lea edi, [edx + eax]
mov eax, ebx
cdq
and edx, 0xfff
sar edi, 0xc
add eax, edx
inc edi
sar eax, 0xc
inc eax
shl edi, 0xc
shl eax, 0xc
cmp edi, eax
jg 0x1000a9e9
test esi, esi
jne 0x1000a7cf
push edi
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, ebx
test ecx, ecx
js 0x1000a7e4
mov ax, word [esp + 0xc]
mov word [esi + ecx], ax
push 0
lea eax, [esp + 0x18]
push eax
movsx eax, word [esp + 0x14]
push eax
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x38]
call dword [sym.imp.KERNEL32.dll_ReadFile]
movsx ebx, word [esp + 0xc]
test ebx, ebx
jle 0x1000a859
mov eax, dword [esp + 0x18]
add eax, ebx
mov dword [esp + 0x10], eax
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, edi
jg 0x1000aa00
test esi, esi
jne 0x1000a83a
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or eax, 0xffffffff
test esi, esi
cmovne eax, dword [esp + 0x18]
test eax, eax
js 0x1000a859
push ebx
lea ecx, [esp + 0x44]
add eax, esi
push ecx
push eax
call fcn.1001fe60
add esp, 0xc
mov ebx, dword [esp + 0x28]
lea eax, [esp + 0x14]
push 0
push eax
push 4
lea eax, [esp + 0x254]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + 4]
mov dword [esp + 0x18], eax
cdq
and edx, 0xfff
lea edi, [edx + eax]
mov eax, ecx
cdq
and edx, 0xfff
sar edi, 0xc
add eax, edx
inc edi
sar eax, 0xc
inc eax
shl edi, 0xc
shl eax, 0xc
cmp edi, eax
jg 0x1000aa17
test esi, esi
jne 0x1000a8ba
push edi
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x10]
test ecx, ecx
js 0x1000a8d2
mov eax, dword [esp + 0x248]
mov dword [esi + ecx], eax
push 0
lea eax, [esp + 0x18]
push eax
push 2
lea eax, [esp + 0x258]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ebx, dword [esp + 0x18]
add ebx, 2
mov eax, ebx
cdq
and edx, 0xfff
add eax, edx
sar eax, 0xc
inc eax
shl eax, 0xc
cmp eax, edi
jg 0x1000aa2e
test esi, esi
jne 0x1000a91a
push eax
call fcn.10045341
add esp, 4
mov esi, eax
or ecx, 0xffffffff
test esi, esi
cmovne ecx, dword [esp + 0x18]
test ecx, ecx
js 0x1000a934
mov ax, word [esp + 0x24c]
mov word [esi + ecx], ax
sub dword [esp + 0x24], 1
mov edi, dword [esp + 0x28]
jns 0x1000a773
jmp 0x1000a1ea
test esi, esi
je 0x1000a4e3
push ecx
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a4ec
test esi, esi
je 0x1000a534
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a53d
test esi, esi
je 0x1000a598
push ebx
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a5a1
test esi, esi
je 0x1000a5e6
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a5ef
test esi, esi
je 0x1000a651
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a65a
test esi, esi
je 0x1000a6c3
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a6cc
test esi, esi
je 0x1000a748
push ecx
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a751
test esi, esi
je 0x1000a7c4
push edi
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a7cd
test esi, esi
je 0x1000a82f
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a838
test esi, esi
je 0x1000a8af
push edi
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a8b8
test esi, esi
je 0x1000a90f
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a918
push 0
lea eax, [esp + 0x18]
push eax
push 2
lea eax, [esp + 0x18]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
movsx eax, word [esp + 0x14]
push eax
lea eax, [esp + 0x25c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x30]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub dword [esp + 0x24], 1
js 0x1000aaf7
push 0
lea eax, [esp + 0x18]
push eax
push 2
lea eax, [esp + 0x18]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
movsx eax, word [esp + 0x14]
push eax
lea eax, [esp + 0x4c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
push 4
lea eax, [esp + 0x254]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x18]
push eax
push 2
lea eax, [esp + 0x258]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub dword [esp + 0x24], 1
jns 0x1000aa92
mov byte [esp + 0x23], 1
jmp 0x1000a1ea
test esi, esi
je 0x10009dd3
push ecx
push esi
call fcn.10045336
add esp, 8
jmp 0x10009ddc
test esi, esi
je 0x10009e24
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x10009e2d
test esi, esi
je 0x10009e88
push ebx
push esi
call fcn.10045336
add esp, 8
jmp 0x10009e91
test esi, esi
je 0x10009ed6
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x10009edf
test esi, esi
je 0x10009f5d
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x10009f66
test esi, esi
je 0x10009fcf
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x10009fd8
test esi, esi
je 0x1000a054
push ecx
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a05d
test esi, esi
je 0x1000a0d1
push edi
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a0da
test esi, esi
je 0x1000a13c
push eax
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a145
test esi, esi
je 0x1000a1bc
push ecx
push esi
call fcn.10045336
add esp, 8
jmp 0x1000a1c5