Function at 0x10009d80
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x1007cea9
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
mov eax, dword [0x100a0000]
xor eax, esp
mov dword [esp + 0x48], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100a0000]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
xor ecx, ecx
push 0xffffffffffffffff
push ecx
mov word [esp + 0x44], cx
push eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], 0
call fcn.10001f28
push 1
push 0xffffffffffffffff
push 0x10085dec
lea ecx, [esp + 0x48]
mov dword [esp + 0x74], 0
call fcn.10001f50
cmp eax, 0xffffffff
je 0x10009e68
push 0xffffffffffffffff
inc eax
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x48]
call fcn.10001d93
mov esi, eax
lea eax, [esp + 0x3c]
cmp eax, esi
je 0x10009e55
cmp dword [esp + 0x50], 8
jb 0x10009e34
push dword [esp + 0x3c]
call fcn.10052462
add esp, 4
xor eax, eax
push esi
lea ecx, [esp + 0x40]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], 0
mov word [esp + 0x40], ax
call fcn.10002b3f
cmp dword [esp + 0x38], 8
jb 0x10009e68
push dword [esp + 0x24]
call fcn.10052462
add esp, 4
push 1
push 0xffffffffffffffff
push 0x10085df0
lea ecx, [esp + 0x48]
call fcn.10001f50
cmp eax, 0xffffffff
je 0x10009ee1
push eax
push 0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x48]
call fcn.10001d93
mov esi, eax
lea eax, [esp + 0x3c]
cmp eax, esi
je 0x10009ece
cmp dword [esp + 0x50], 8
jb 0x10009ead
push dword [esp + 0x3c]
call fcn.10052462
add esp, 4
xor eax, eax
push esi
lea ecx, [esp + 0x40]
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], 0
mov word [esp + 0x40], ax
call fcn.10002b3f
cmp dword [esp + 0x38], 8
jb 0x10009ee1
push dword [esp + 0x24]
call fcn.10052462
add esp, 4
lea eax, [esp + 0x3c]
push eax
call fcn.10009020
add esp, 4
cmp dword [esp + 0x4c], 0
je 0x1000a578
lea eax, [esp + 0x3c]
push eax
push edi
call fcn.10009b40
add esp, 8
test al, al
jne 0x1000a578
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x6c], 1
mov byte [esp + 0x1c], 2
call fcn.1000288d
mov eax, dword [esp + 0x4c]
lea eax, [eax*4 + 0x314]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.1000a5b0
add esp, 8
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x1c], 0x20
call fcn.1000288d
lea eax, [esp + 0x24]
push 4
push eax
call fcn.1000a5b0
lea eax, [esp + 0x2c]
push 1
push eax
call fcn.1000a5b0
lea eax, [esp + 0x34]
push 0x21000000
push eax
call fcn.1000a5b0
push dword [esp + 0x64]
lea eax, [esp + 0x40]
push eax
call fcn.1000a690
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
xor ebx, ebx
add esp, 0x20
cmp dword [esp + 0x4c], ebx
jbe 0x1000a02e
jmp 0x10009fc0
cmp dword [esp + 0x50], 8
lea eax, [esp + 0x3c]
cmovae eax, dword [esp + 0x3c]
lea esi, [eax + ebx*2]
cmp esi, ecx
jae 0x10009fff
cmp edx, esi
ja 0x10009fff
sub esi, edx
cmp ecx, edi
jne 0x10009ff6
push 1
lea ecx, [esp + 0x28]
call fcn.10001b27
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
test ecx, ecx
je 0x1000a022
mov al, byte [edx + esi]
jmp 0x1000a020
cmp ecx, edi
jne 0x1000a01a
push 1
lea ecx, [esp + 0x28]
call fcn.10001b27
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
test ecx, ecx
je 0x1000a022
mov al, byte [esi]
mov byte [ecx], al
inc ecx
inc ebx
mov dword [esp + 0x28], ecx
cmp ebx, dword [esp + 0x4c]
jb 0x10009fc0
lea eax, [esp + 0x1b]
mov byte [esp + 0x1b], 0x22
cmp eax, ecx
jae 0x1000a065
cmp edx, eax
ja 0x1000a065
mov esi, eax
sub esi, edx
cmp ecx, edi
jne 0x1000a05a
push 1
lea ecx, [esp + 0x28]
call fcn.10001b27
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
test ecx, ecx
je 0x1000a07f
mov al, byte [esi + edx]
mov byte [ecx], al
jmp 0x1000a07f
cmp ecx, edi
jne 0x1000a078
push 1
lea ecx, [esp + 0x28]
call fcn.10001b27
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x1000a07f
mov byte [ecx], 0x22
mov eax, dword [esp + 0x4c]
add eax, 0x1a
push eax
lea eax, [esp + 0x28]
inc ecx
push eax
mov dword [esp + 0x30], ecx
call fcn.1000a5b0
mov eax, dword [esp + 0x54]
add eax, 0x3018
push eax
lea eax, [esp + 0x30]
push eax
call fcn.1000a770
lea eax, [esp + 0x34]
push 0x310b3009
push eax
call fcn.1000a5b0
lea eax, [esp + 0x3c]
push 0x6035504
push eax
call fcn.1000a5b0
lea eax, [esp + 0x44]
push 0x6130245
push eax
call fcn.1000a5b0
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x42]
add esp, 0x28
mov byte [esp + 0x1a], 0x4e
cmp eax, ecx
jae 0x1000a11d
mov edx, eax
mov eax, dword [esp + 0x24]
cmp eax, edx
ja 0x1000a11d
mov esi, edx
sub esi, eax
cmp ecx, dword [esp + 0x2c]
jne 0x1000a112
push 1
lea ecx, [esp + 0x28]
call fcn.10001b27
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
test ecx, ecx
je 0x1000a139
mov al, byte [esi + eax]
mov byte [ecx], al
jmp 0x1000a139
cmp ecx, dword [esp + 0x2c]
jne 0x1000a132
push 1
lea ecx, [esp + 0x28]
call fcn.10001b27
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x1000a139
mov byte [ecx], 0x4e
mov eax, dword [esp + 0x4c]
add eax, 0x3109
push eax
lea eax, [esp + 0x28]
inc ecx
push eax
mov dword [esp + 0x30], ecx
call fcn.1000a770
mov eax, dword [esp + 0x54]
add eax, 0x3007
push eax
lea eax, [esp + 0x30]
push eax
call fcn.1000a770
lea eax, [esp + 0x34]
push 0x6035504
push eax
call fcn.1000a5b0
lea eax, [esp + 0x3c]
push 0x313
push eax
call fcn.1000a770
push dword [esp + 0x6c]
lea eax, [esp + 0x48]
push eax
call fcn.1000a690
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
xor ebp, ebp
add esp, 0x28
cmp dword [esp + 0x4c], ebp
jbe 0x1000a284
lea ecx, [ecx]
cmp dword [esp + 0x50], 8
lea eax, [esp + 0x3c]
cmovae eax, dword [esp + 0x3c]
lea ebx, [eax + ebp*2]
cmp ebx, esi
jae 0x1000a222
cmp edi, ebx
ja 0x1000a222
sub ebx, edi
cmp esi, ecx
jne 0x1000a219
mov eax, ecx
sub eax, esi
cmp eax, 1
jae 0x1000a219
mov eax, edi
sub eax, esi
dec eax
cmp eax, 1
jb 0x1000a2b0
sub ecx, edi
mov edx, ecx
shr edx, 1
or eax, 0xffffffff
sub esi, edi
sub eax, edx
inc esi
cmp eax, ecx
jae 0x1000a1fc
xor ecx, ecx
jmp 0x1000a1fe
add ecx, edx
cmp ecx, esi
cmovb ecx, esi
push ecx
lea ecx, [esp + 0x28]
call fcn.1000164f
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test esi, esi
je 0x1000a274
mov al, byte [ebx + edi]
jmp 0x1000a272
cmp esi, ecx
jne 0x1000a26c
mov eax, ecx
sub eax, esi
cmp eax, 1
jae 0x1000a26c
mov eax, edi
sub eax, esi
dec eax
cmp eax, 1
jb 0x1000a2b0
sub ecx, edi
mov edx, ecx
shr edx, 1
or eax, 0xffffffff
sub esi, edi
sub eax, edx
inc esi
cmp eax, ecx
jae 0x1000a24f
xor ecx, ecx
jmp 0x1000a251
add ecx, edx
cmp ecx, esi
cmovb ecx, esi
push ecx
lea ecx, [esp + 0x28]
call fcn.1000164f
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test esi, esi
je 0x1000a274
mov al, byte [ebx]
mov byte [esi], al
inc esi
inc ebp
mov dword [esp + 0x28], esi
cmp ebp, dword [esp + 0x4c]
jb 0x1000a1b0
lea eax, [esp + 0x19]
mov byte [esp + 0x19], 0x23
cmp eax, esi
jae 0x1000a2f4
cmp edi, eax
ja 0x1000a2f4
mov ebx, eax
sub ebx, edi
cmp esi, ecx
jne 0x1000a2e9
mov eax, ecx
sub eax, esi
cmp eax, 1
jae 0x1000a2e9
mov eax, edi
sub eax, esi
dec eax
cmp eax, 1
jae 0x1000a2ba
push str.vector_T__too_long
call fcn.100520b4
sub ecx, edi
mov edx, ecx
shr edx, 1
or eax, 0xffffffff
sub esi, edi
sub eax, edx
inc esi
cmp eax, ecx
jae 0x1000a2d0
xor ecx, ecx
jmp 0x1000a2d2
add ecx, edx
cmp ecx, esi
cmovb ecx, esi
push ecx
lea ecx, [esp + 0x28]
call fcn.1000164f
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test esi, esi
je 0x1000a34b
mov al, byte [ebx + edi]
mov byte [esi], al
jmp 0x1000a34b
cmp esi, ecx
jne 0x1000a344
mov eax, ecx
sub eax, esi
cmp eax, 1
jae 0x1000a344
mov eax, edi
sub eax, esi
dec eax
cmp eax, 1
jae 0x1000a315
push str.vector_T__too_long
call fcn.100520b4
sub ecx, edi
mov edx, ecx
shr edx, 1
or eax, 0xffffffff
sub esi, edi
sub eax, edx
inc esi
cmp eax, ecx
jae 0x1000a32b
xor ecx, ecx
jmp 0x1000a32d
add ecx, edx
cmp ecx, esi
cmovb ecx, esi
push ecx
lea ecx, [esp + 0x28]
call fcn.1000164f
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test esi, esi
je 0x1000a34b
mov byte [esi], 0x23
mov eax, dword [esp + 0x1c]
inc esi
mov dword [esp + 0x28], esi
sub esi, edi
cmp dword [eax + 0x14], 8
mov ebx, esi
mov dword [esp + 0x54], ebx
jb 0x1000a364
mov eax, dword [eax]
push 0x10085df4
push eax
call fcn.100548fd
mov ebp, eax
add esp, 8
mov dword [esp + 0x1c], ebp
test ebp, ebp
je 0x1000a4ff
push 2
push 0
push ebp
call fcn.100542e8
push ebp
call fcn.100546c0
push 0
push 0
push ebp
mov esi, eax
call fcn.100542e8
lea eax, [esp + 0x40]
push esi
push eax
call fcn.1000a5b0
push ebp
push 1
lea eax, [esp + 0x43]
push 1
push eax
call fcn.100541ad
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
add esp, 0x34
test eax, eax
je 0x1000a4b8
mov ebx, dword [esp + 0x2c]
lea ecx, [ecx]
lea eax, [esp + 0x17]
cmp eax, esi
jae 0x1000a43d
cmp edi, eax
ja 0x1000a43d
mov ebp, eax
sub ebp, edi
cmp esi, ebx
jne 0x1000a42e
mov eax, ebx
sub eax, esi
cmp eax, 1
jae 0x1000a42e
mov eax, edi
sub eax, esi
dec eax
cmp eax, 1
jb 0x1000a2b0
sub ebx, edi
mov ecx, ebx
shr ecx, 1
or eax, 0xffffffff
sub esi, edi
sub eax, ecx
inc esi
cmp eax, ebx
jae 0x1000a411
xor ebx, ebx
jmp 0x1000a413
add ebx, ecx
cmp ebx, esi
cmovb ebx, esi
push ebx
lea ecx, [esp + 0x28]
call fcn.1000164f
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test esi, esi
je 0x1000a437
mov al, byte [edi + ebp]
mov byte [esi], al
mov ebp, dword [esp + 0x1c]
jmp 0x1000a495
cmp esi, ebx
jne 0x1000a48b
mov eax, ebx
sub eax, esi
cmp eax, 1
jae 0x1000a48b
mov eax, edi
sub eax, esi
dec eax
cmp eax, 1
jb 0x1000a2b0
sub ebx, edi
mov ecx, ebx
shr ecx, 1
or eax, 0xffffffff
sub esi, edi
sub eax, ecx
inc esi
cmp eax, ebx
jae 0x1000a46e
xor ebx, ebx
jmp 0x1000a470
add ebx, ecx
cmp ebx, esi
cmovb ebx, esi
push ebx
lea ecx, [esp + 0x28]
call fcn.1000164f
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test esi, esi
je 0x1000a495
mov al, byte [esp + 0x17]
mov byte [esi], al
push ebp
push 1
lea eax, [esp + 0x1f]
push 1
inc esi
push eax
mov dword [esp + 0x38], esi
call fcn.100541ad
add esp, 0x10
test eax, eax
jne 0x1000a3d0
mov ebx, dword [esp + 0x54]
push ebp
call fcn.10053f58
sub esi, edi
add esp, 4
lea ecx, [esi - 5]
mov dword [esp + 0x54], 0x4550306
mov byte [esp + 0x58], 3
cmp ebx, ecx
jae 0x1000a4ff
mov eax, dword [edi + ebx]
lea edx, [esp + 0x54]
cmp eax, dword [edx]
jne 0x1000a4ec
movzx eax, byte [edi + ebx + 4]
cmp al, byte [edx + 4]
je 0x1000a4f3
inc ebx
cmp ebx, ecx
jb 0x1000a4d7
jmp 0x1000a4ff
mov eax, dword [esp + 0x4c]
mov cl, byte [edi + ebx + 5]
mov byte [edi + eax + 0x30], cl
lea ecx, [esi - 5]
mov edx, ecx
and edx, 0xff0000
mov eax, ecx
shr eax, 0x10
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shl eax, 8
shr edx, 8
or edx, eax
mov eax, dword [esp + 0x20]
mov dword [edi + 1], edx
cmp dword [eax + 0x14], 8
jb 0x1000a535
mov eax, dword [eax]
push 0x10085dfc
push eax
call fcn.100548fd
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x1000a56f
xor ebx, ebx
test esi, esi
je 0x1000a566
nop
push ebp
push 1
lea eax, [edi + ebx]
push 1
push eax
call fcn.1005487f
inc ebx
add esp, 0x10
cmp ebx, esi
jb 0x1000a550
push ebp
call fcn.10053f58
add esp, 4
push edi
call fcn.10052462
add esp, 4
cmp dword [esp + 0x50], 8
jb 0x1000a58b
push dword [esp + 0x3c]
call fcn.10052462
add esp, 4
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x48]
xor ecx, esp
call fcn.10052ab4
add esp, 0x58
ret