Function at 0x413e30
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x455bc6
mov eax, dword fs:[0]
push eax
mov eax, 0x204c
call fcn.0043dd40
mov eax, dword [0x46c6a0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov ebx, edx
mov dword [ebp - 0x204c], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x2040], ebx
mov dword [ebp - 0x2054], esi
test eax, eax
je 0x413e90
cmp byte [eax + 0x8c], 0
je 0x41428b
push 0x45fa30
push ecx
lea ecx, [ebp - 0x2044]
push ecx
mov dword [ebp - 0x2044], 0
call fcn.00438712
add esp, 0xc
cmp dword [ebp - 0x2044], 0
je 0x41428b
mov eax, esi
mov byte [ebp - 0x202d], 0
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413ec8
sub eax, edi
mov edi, eax
push 0x100
mov dword [ebp - 0x2050], edi
call fcn.004162e9
add esp, 4
push 0x100
push 0
push eax
mov dword [ebp - 0x203c], eax
call fcn.0043b170
mov edx, 0x100
xor eax, eax
xor ecx, ecx
add esp, 0xc
mov word [ebp - 0x2034], dx
mov word [ebp - 0x2036], ax
mov word [ebp - 0x2038], cx
push esi
lea esi, [ebp - 0x203c]
mov dword [ebp - 4], ecx
call fcn.00411180
mov cx, word [ebp - 0x2038]
movzx edi, word [ebp - 0x2034]
movzx eax, cx
lea esi, [eax + 4]
cmp esi, edi
mov edx, 0x2000
jge 0x413f62
mov esi, dword [ebp - 0x203c]
add cx, 4
add word [ebp - 0x2036], 4
mov dword [eax + esi], edx
mov word [ebp - 0x2038], cx
mov edi, dword [ebx + 0x24]
test edi, edi
je 0x413f7e
mov ebx, dword [ebp - 0x203c]
movzx edx, cx
push edx
call fcn.00416220
mov ebx, dword [ebp - 0x2040]
cmp byte [ebx + 0x3c], 0
jne 0x414267
mov edi, dword [ebx + 0x24]
test edi, edi
je 0x413f94
call fcn.00416150
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x41424c
cmp dword [ebx + 0x2c], 0
je 0x41424c
call fcn.00415c60
mov dword [ebp - 0x2040], 0
jmp 0x413fc0
cmp byte [ebx + 0x3c], 0
jne 0x41424c
mov eax, dword [ebx + 0x28]
mov ecx, dword [eax + 0x10]
cmp dword [ecx], 0
je 0x41424c
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ecx]
call fcn.00416060
test al, al
je 0x41424c
mov eax, dword [ebx + 0x2c]
mov dword [eax + 4], 0x2000
mov dword [eax + 8], 0
mov eax, dword [ebx + 0x2c]
cmp dword [eax], 0
je 0x414012
mov ecx, dword [eax + 8]
add ecx, 2
cmp ecx, dword [eax + 4]
jg 0x414012
mov dword [eax + 8], ecx
mov eax, dword [ebx + 0x2c]
cmp dword [eax], 0
je 0x414028
mov ecx, dword [eax + 8]
add ecx, 4
cmp ecx, dword [eax + 4]
jg 0x414028
mov dword [eax + 8], ecx
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + 8]
cmp ecx, dword [eax + 4]
jge 0x414037
inc ecx
mov dword [eax + 8], ecx
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + 8]
cmp ecx, dword [eax + 4]
jge 0x414046
inc ecx
mov dword [eax + 8], ecx
mov eax, dword [ebx + 0x2c]
cmp dword [eax], 0
je 0x41405c
mov ecx, dword [eax + 8]
add ecx, 4
cmp ecx, dword [eax + 4]
jg 0x41405c
mov dword [eax + 8], ecx
mov eax, dword [ebx + 0x2c]
cmp dword [eax], 0
je 0x414072
mov ecx, dword [eax + 8]
add ecx, 2
cmp ecx, dword [eax + 4]
jg 0x414072
mov dword [eax + 8], ecx
mov eax, dword [ebx + 0x2c]
cmp dword [eax], 0
je 0x414088
mov ecx, dword [eax + 8]
add ecx, 2
cmp ecx, dword [eax + 4]
jg 0x414088
mov dword [eax + 8], ecx
mov edi, dword [ebx + 0x2c]
lea esi, [ebp - 0x202c]
call fcn.00411d30
mov byte [ebp - 4], 1
mov eax, dword [ebx + 0x2c]
cmp dword [eax], 0
je 0x4140b0
mov ecx, dword [eax + 8]
add ecx, 4
cmp ecx, dword [eax + 4]
jg 0x4140b0
mov dword [eax + 8], ecx
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax]
test ecx, ecx
je 0x4140fa
mov edx, dword [eax + 8]
lea esi, [edx + 4]
cmp esi, dword [eax + 4]
jg 0x4140fa
mov ecx, dword [edx + ecx]
cmp ecx, 0x2710
mov dword [eax + 8], esi
mov dword [ebp - 0x2048], ecx
jg 0x414236
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax]
test ecx, ecx
je 0x414106
mov edx, dword [eax + 8]
lea esi, [edx + 4]
cmp esi, dword [eax + 4]
jg 0x414106
mov ecx, dword [edx + ecx]
mov dword [eax + 8], esi
mov eax, ecx
jmp 0x414108
mov dword [ebp - 0x2048], 0
jmp 0x4140dc
xor eax, eax
mov dword [ebx + 0x40], eax
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax]
test ecx, ecx
je 0x414236
mov edx, dword [eax + 8]
lea edi, [edx + 4]
cmp edi, dword [eax + 4]
jg 0x414236
mov esi, dword [edx + ecx]
mov dword [eax + 8], edi
test esi, esi
jle 0x414236
mov edi, dword [ebx + 0x2c]
mov ecx, dword [edi + 8]
lea eax, [ecx + esi]
cmp eax, dword [edi + 4]
jg 0x41415b
mov eax, dword [edi]
add eax, ecx
push esi
push eax
lea ecx, [ebp - 0x2010]
push ecx
call fcn.0043fb00
add esp, 0xc
add dword [edi + 8], esi
mov edx, dword [ebp - 0x2044]
push edx
push 1
lea eax, [ebp - 0x2010]
push esi
push eax
mov byte [ebp + esi - 0x2010], 0
call fcn.00439311
add esp, 0x10
cmp dword [ebp - 0x2048], 1
je 0x414236
mov eax, dword [ebp - 0x204c]
test eax, eax
je 0x414198
mov ecx, dword [ebx + 0x40]
mov dword [eax], ecx
push 5
call dword [0x457328]
movzx edx, word [ebp - 0x2034]
mov eax, dword [ebp - 0x203c]
push edx
push 0
push eax
call fcn.0043b170
mov eax, dword [ebp - 0x2054]
mov edi, dword [ebp - 0x2050]
add esp, 0xc
xor ecx, ecx
xor edx, edx
push eax
lea esi, [ebp - 0x203c]
mov word [ebp - 0x2036], cx
mov word [ebp - 0x2038], dx
call fcn.00411180
mov eax, esi
mov ecx, ebx
call fcn.004142e0
mov eax, dword [ebx + 0x34]
push 0x2710
push eax
call dword [0x457338]
mov esi, eax
mov eax, dword [ebx + 0x34]
push eax
call dword [0x4572dc]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x202c]
cmp esi, 0x102
je 0x414240
call fcn.004010b0
mov eax, dword [ebp - 0x2040]
inc eax
cmp eax, 0x32
mov dword [ebp - 0x2040], eax
jl 0x413fc0
jmp 0x41424c
lea ecx, [ebp - 0x202c]
mov byte [ebp - 4], 0
mov byte [ebp - 0x202d], 1
call fcn.004010b0
push 5
call dword [0x457328]
cmp byte [ebp - 0x202d], 0
jne 0x414267
cmp byte [ebx + 0x3c], 0
je 0x413f88
mov ecx, dword [ebp - 0x2044]
push ecx
call fcn.0043a6cb
add esp, 4
cmp byte [ebx + 0x3c], 0
je 0x41428f
mov edx, dword [ebp - 0x203c]
push edx
call fcn.004162de
add esp, 4
xor al, al
jmp 0x4142a0
mov eax, dword [ebp - 0x203c]
push eax
call fcn.004162de
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00435339
mov esp, ebp
pop ebp
ret 8