Function at 0x1011d5dd
Capabilities:
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1d0
mov eax, dword [0x101a34c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1c8], edi
test eax, eax
je 0x1011d352
test esi, esi
je 0x1011d345
push esi
push eax
push edi
call fcn.1011d5f6
add esp, 0xc
jmp 0x1011d5d5
add eax, 2
add eax, eax
mov eax, dword [edi + eax*8]
jmp 0x1011d5d5
xor eax, eax
mov dword [ebp - 0x1c4], 1
mov dword [ebp - 0x1d0], eax
mov ebx, eax
mov dword [ebp - 0x1bc], ebx
test esi, esi
je 0x1011d5ce
cmp word [esi], 0x4c
jne 0x1011d4e6
cmp word [esi + 2], 0x43
jne 0x1011d4e6
cmp word [esi + 4], 0x5f
jne 0x1011d4e6
push 0x10162f24
push esi
call fcn.10121aaf
mov ebx, eax
mov dword [ebp - 0x1cc], ebx
pop ecx
pop ecx
test ebx, ebx
je 0x1011d4df
sub eax, esi
sar eax, 1
mov dword [ebp - 0x1c4], eax
je 0x1011d4df
push 0x3b
pop eax
cmp word [ebx], ax
je 0x1011d4df
mov edi, dword [ebp - 0x1c4]
mov ebx, 0x10162e6c
mov dword [ebp - 0x1c0], 1
push edi
push esi
push dword [ebx]
call fcn.1011b158
add esp, 0xc
test eax, eax
jne 0x1011d40e
mov ecx, dword [ebx]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x1d0]
jne 0x1011d3f7
sub ecx, edx
sar ecx, 1
cmp edi, ecx
je 0x1011d41f
inc dword [ebp - 0x1c0]
add ebx, 0xc
cmp ebx, 0x10162e9c
jle 0x1011d3e2
mov ebx, dword [ebp - 0x1cc]
add ebx, 2
push 0x10162f2c
push ebx
call fcn.10128fc1
mov edi, dword [ebp - 0x1c8]
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x1011d44d
push 0x3b
pop eax
cmp word [ebx], ax
jne 0x1011d4df
cmp dword [ebp - 0x1c0], 5
jg 0x1011d4b5
push esi
push ebx
lea eax, [ebp - 0x10c]
push 0x83
push eax
call fcn.10128fb6
add esp, 0x10
test eax, eax
jne 0x1011d5e9
lea eax, [esi + esi]
cmp eax, 0x106
jae 0x1011d5e4
xor ecx, ecx
mov word [ebp + eax - 0x10c], cx
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 0x1c0]
push edi
call fcn.1011d5f6
mov ecx, dword [ebp - 0x1bc]
add esp, 0xc
test eax, eax
je 0x1011d4bb
inc ecx
mov dword [ebp - 0x1bc], ecx
jmp 0x1011d4bb
mov ecx, dword [ebp - 0x1bc]
lea esi, [ebx + esi*2]
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x1011d4ce
add esi, 2
movzx edx, word [esi]
test dx, dx
jne 0x1011d394
test ecx, ecx
jne 0x1011d5ce
xor eax, eax
jmp 0x1011d5d5
lea eax, [ebp - 0x1cc]
push eax
push 0x55
lea eax, [ebp - 0x1b8]
push eax
push 0x83
lea eax, [ebp - 0x10c]
push eax
push esi
call fcn.1011cce1
add esp, 0x18
test eax, eax
je 0x1011d5d5
xor ecx, ecx
lea edx, [edi + 0x20]
mov esi, ecx
mov dword [ebp - 0x1bc], edx
test esi, esi
je 0x1011d5a9
mov ecx, dword [edx]
lea eax, [ebp - 0x10c]
mov di, word [eax]
cmp di, word [ecx]
mov edi, dword [ebp - 0x1c8]
jne 0x1011d571
cmp word [eax], 0
je 0x1011d56b
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
mov word [ebp - 0x1be], dx
mov edx, dword [ebp - 0x1bc]
jne 0x1011d571
add eax, 4
add ecx, 4
cmp word [ebp - 0x1be], 0
jne 0x1011d530
xor ecx, ecx
mov eax, ecx
jmp 0x1011d578
sbb eax, eax
or eax, 1
xor ecx, ecx
test eax, eax
je 0x1011d5a8
lea eax, [ebp - 0x10c]
push eax
push esi
push edi
call fcn.1011d5f6
mov edx, dword [ebp - 0x1bc]
add esp, 0xc
test eax, eax
je 0x1011d59c
inc ebx
xor ecx, ecx
jmp 0x1011d5a9
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 0x1c4], eax
jmp 0x1011d5af
inc ebx
mov eax, dword [ebp - 0x1c4]
inc esi
add edx, 0x10
mov dword [ebp - 0x1bc], edx
cmp esi, 5
jle 0x1011d520
test eax, eax
jne 0x1011d5ce
test ebx, ebx
jne 0x1011d5ce
mov eax, ecx
jmp 0x1011d5d5
push edi
call fcn.1011d16b
pop ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100fc8a1
leave
ret
call fcn.100fd0df
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.10109d7c
int3