Function at 0x1005d5b0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x98]
test eax, eax
je 0x1005d66e
cmp byte [esi + 1], 0
je 0x1005d66e
mov byte [eax], 0
mov edi, dword [esi + 0x98]
test edi, edi
je 0x1005d66e
mov ecx, edi
call fcn.10075960
mov ecx, dword [edi + 0x54]
test ecx, ecx
je 0x1005d610
mov eax, dword [0x101023d4]
test eax, eax
je 0x1005d605
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov ecx, dword [edi + 0x48]
test ecx, ecx
je 0x1005d631
mov eax, dword [0x101023d4]
test eax, eax
je 0x1005d626
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov ecx, dword [edi + 0x3c]
test ecx, ecx
je 0x1005d652
mov eax, dword [0x101023d4]
test eax, eax
je 0x1005d647
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov eax, dword [0x101023d4]
test eax, eax
je 0x1005d661
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
mov ecx, edi
call fcn.10057c90
cmp byte [esi], 0
mov dword [esi + 0x98], 0
je 0x1005ddb1
cmp byte [esi + 0x2eb9], 0
je 0x1005d6e8
mov edi, dword [esi + 0x20]
test edi, edi
je 0x1005d6e8
mov ebx, dword [0x101023d4]
lea ecx, [esp + 0x14]
mov dword [0x101023d4], esi
mov dword [esi + 0x2ebc], 0
mov dword [esp + 0x14], 0
call fcn.10069680
mov edx, 0x100f0534
mov ecx, edi
mov ebp, eax
call fcn.10058760
mov edi, eax
test edi, edi
je 0x1005d6e2
push edi
push dword [esp + 0x18]
push 1
push ebp
call fcn.100ba4c6
push edi
call fcn.100b919b
add esp, 0x14
mov dword [0x101023d4], ebx
mov edx, 6
mov ecx, esi
call fcn.1005b6a0
xor edi, edi
cmp dword [esi + 0x1a2c], edi
jle 0x1005d717
nop
mov ecx, dword [esi + 0x1a34]
mov ecx, dword [ecx + edi*4]
call fcn.1006a640
inc edi
cmp edi, dword [esi + 0x1a2c]
jl 0x1005d700
mov ecx, dword [esi + 0x1a34]
test ecx, ecx
je 0x1005d759
mov eax, dword [0x101023d4]
mov dword [esi + 0x1a30], 0
mov dword [esi + 0x1a2c], 0
test eax, eax
je 0x1005d744
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1a34], 0
mov ecx, dword [esi + 0x1a40]
test ecx, ecx
je 0x1005d79b
mov eax, dword [0x101023d4]
mov dword [esi + 0x1a3c], 0
mov dword [esi + 0x1a38], 0
test eax, eax
je 0x1005d786
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1a40], 0
mov ecx, dword [esi + 0x1a4c]
test ecx, ecx
je 0x1005d7dd
mov eax, dword [0x101023d4]
mov dword [esi + 0x1a48], 0
mov dword [esi + 0x1a44], 0
test eax, eax
je 0x1005d7c8
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1a4c], 0
mov dword [esi + 0x1a6c], 0
mov ecx, dword [esi + 0x1a58]
test ecx, ecx
je 0x1005d829
mov eax, dword [0x101023d4]
mov dword [esi + 0x1a54], 0
mov dword [esi + 0x1a50], 0
test eax, eax
je 0x1005d814
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1a58], 0
mov ecx, dword [esi + 0x1a64]
test ecx, ecx
je 0x1005d86b
mov eax, dword [0x101023d4]
mov dword [esi + 0x1a60], 0
mov dword [esi + 0x1a5c], 0
test eax, eax
je 0x1005d856
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1a64], 0
mov dword [esi + 0x1bc4], 0
mov dword [esi + 0x1a78], 0
mov dword [esi + 0x1a74], 0
mov dword [esi + 0x1a70], 0
mov dword [esi + 0x1ae4], 0
mov dword [esi + 0x1ad0], 0
mov dword [esi + 0x1a7c], 0
mov ecx, dword [esi + 0x1b6c]
test ecx, ecx
je 0x1005d8f3
mov eax, dword [0x101023d4]
mov dword [esi + 0x1b68], 0
mov dword [esi + 0x1b64], 0
test eax, eax
je 0x1005d8de
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1b6c], 0
mov ecx, dword [esi + 0x1b78]
test ecx, ecx
je 0x1005d935
mov eax, dword [0x101023d4]
mov dword [esi + 0x1b74], 0
mov dword [esi + 0x1b70], 0
test eax, eax
je 0x1005d920
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1b78], 0
mov ecx, dword [esi + 0x1b84]
test ecx, ecx
je 0x1005d977
mov eax, dword [0x101023d4]
mov dword [esi + 0x1b80], 0
mov dword [esi + 0x1b7c], 0
test eax, eax
je 0x1005d962
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1b84], 0
mov ecx, dword [esi + 0x1bb4]
test ecx, ecx
je 0x1005d9b9
mov eax, dword [0x101023d4]
mov dword [esi + 0x1bb0], 0
mov dword [esi + 0x1bac], 0
test eax, eax
je 0x1005d9a4
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1bb4], 0
mov ecx, dword [esi + 0x1bc0]
test ecx, ecx
je 0x1005d9fb
mov eax, dword [0x101023d4]
mov dword [esi + 0x1bbc], 0
mov dword [esi + 0x1bb8], 0
test eax, eax
je 0x1005d9e6
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1bc0], 0
lea edi, [esi + 0x1d34]
mov ebx, 2
mov ecx, dword [edi]
test ecx, ecx
je 0x1005da3a
mov eax, dword [0x101023d4]
mov dword [edi - 4], 0
mov dword [edi - 8], 0
test eax, eax
je 0x1005da29
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [edi], 0
add edi, 0xc
sub ebx, 1
jne 0x1005da06
lea ecx, [esi + 0x1d48]
call fcn.10072830
lea ecx, [esi + 0x1dd4]
call fcn.10072830
lea ecx, [esi + 0x1f3c]
call fcn.10069d90
mov ecx, dword [esi + 0x1f60]
test ecx, ecx
je 0x1005da9d
mov eax, dword [0x101023d4]
mov dword [esi + 0x1f5c], ebx
mov dword [esi + 0x1f58], ebx
test eax, eax
je 0x1005da88
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1f60], 0
mov ecx, dword [esi + 0x1f6c]
test ecx, ecx
je 0x1005dadf
mov eax, dword [0x101023d4]
mov dword [esi + 0x1f68], 0
mov dword [esi + 0x1f64], 0
test eax, eax
je 0x1005daca
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1f6c], 0
lea ecx, [esi + 0x1ef8]
call fcn.10069e80
mov ecx, dword [esi + 0x1f1c]
test ecx, ecx
je 0x1005db2c
mov eax, dword [0x101023d4]
mov dword [esi + 0x1f18], 0
mov dword [esi + 0x1f14], 0
test eax, eax
je 0x1005db17
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1f1c], 0
mov ecx, dword [esi + 0x1f34]
test ecx, ecx
je 0x1005db6e
mov eax, dword [0x101023d4]
mov dword [esi + 0x1f30], 0
mov dword [esi + 0x1f2c], 0
test eax, eax
je 0x1005db59
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1f34], 0
mov ecx, dword [esi + 0x2e98]
test ecx, ecx
je 0x1005dbb0
mov eax, dword [0x101023d4]
mov dword [esi + 0x2e94], 0
mov dword [esi + 0x2e90], 0
test eax, eax
je 0x1005db9b
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x2e98], 0
mov ecx, dword [esi + 0x2ea4]
test ecx, ecx
je 0x1005dbf2
mov eax, dword [0x101023d4]
mov dword [esi + 0x2ea0], 0
mov dword [esi + 0x2e9c], 0
test eax, eax
je 0x1005dbdd
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x2ea4], 0
mov ecx, dword [esi + 0x1f8c]
test ecx, ecx
je 0x1005dc34
mov eax, dword [0x101023d4]
mov dword [esi + 0x1f88], 0
mov dword [esi + 0x1f84], 0
test eax, eax
je 0x1005dc1f
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1f8c], 0
mov ecx, dword [esi + 0x1f98]
test ecx, ecx
je 0x1005dc76
mov eax, dword [0x101023d4]
mov dword [esi + 0x1f94], 0
mov dword [esi + 0x1f90], 0
test eax, eax
je 0x1005dc61
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1f98], 0
mov ecx, dword [esi + 0x1fa4]
test ecx, ecx
je 0x1005dcb8
mov eax, dword [0x101023d4]
mov dword [esi + 0x1fa0], 0
mov dword [esi + 0x1f9c], 0
test eax, eax
je 0x1005dca3
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x1fa4], 0
mov ecx, dword [esi + 0x2ee0]
test ecx, ecx
je 0x1005dcfa
mov eax, dword [0x101023d4]
mov dword [esi + 0x2edc], 0
mov dword [esi + 0x2ed8], 0
test eax, eax
je 0x1005dce5
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x2ee0], 0
mov ecx, dword [esi + 0x2ed4]
test ecx, ecx
je 0x1005dd3c
mov eax, dword [0x101023d4]
mov dword [esi + 0x2ed0], 0
mov dword [esi + 0x2ecc], 0
test eax, eax
je 0x1005dd27
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x2ed4], 0
cmp dword [esi + 0x2f04], 0
je 0x1005dd6c
mov edi, dword [esi + 0x2f04]
push 1
call fcn.100ba1b5
add esp, 4
cmp edi, eax
je 0x1005dd62
push edi
call fcn.100b919b
add esp, 4
mov dword [esi + 0x2f04], 0
mov ecx, dword [esi + 0x2f10]
test ecx, ecx
je 0x1005ddae
mov eax, dword [0x101023d4]
mov dword [esi + 0x2f0c], 0
mov dword [esi + 0x2f08], 0
test eax, eax
je 0x1005dd99
dec dword [eax + 0x370]
mov edx, dword [0x101023cc]
call fcn.10057c90
mov dword [esi + 0x2f10], 0
mov byte [esi], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret