Function at 0x417d65
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x4e22e4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 6
mov esi, ecx
pop ecx
xor eax, eax
push 0x103
lea edi, [ebp - 0x1f]
push eax
mov byte [ebp - 0x20], 0
rep stosd dword es:[edi], eax
mov byte [ebp - 0x148], al
lea eax, [ebp - 0x147]
push eax
mov dword [ebp - 0x158], esi
call fcn.00401f80
add esp, 0xc
xor eax, eax
and dword [ebp - 0x14c], eax
and dword [ebp - 0x154], eax
push 6
pop ecx
lea edi, [ebp - 0x3b]
mov byte [ebp - 0x3c], 0
mov edx, esi
rep stosd dword es:[edi], eax
call fcn.00439c75
test eax, eax
je 0x417dd7
xor eax, eax
jmp 0x4180f4
test ebx, ebx
je 0x417dd0
push esi
mov ecx, 0x104
lea eax, [ebp - 0x148]
call fcn.00438aa8
pop ecx
mov edx, eax
call fcn.00439822
mov eax, edx
push eax
mov esi, 0x4ae828
call fcn.00438a33
mov edi, eax
neg edi
sbb edi, edi
inc edi
xor esi, esi
pop ecx
mov dword [ebp - 0x15c], edi
mov dword [ebp - 0x150], esi
cmp edi, esi
je 0x417e5a
push esi
push esi
push esi
push esi
push esi
push 0x19
pop ecx
lea eax, [ebp - 0x20]
call fcn.00466649
add esp, 0x14
lea edx, [ebp - 0x20]
call fcn.00439c75
test eax, eax
jne 0x417e5a
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.00439609
pop ecx
pop ecx
test eax, eax
je 0x417e5a
mov dword [ebp - 0x150], 1
push esi
mov esi, ebx
call fcn.00416e36
pop ecx
lea edx, [ebx + 0x6c]
call fcn.00439c75
xor esi, esi
test eax, eax
jne 0x417e76
cmp dword [ebx + 0x24], esi
je 0x417e81
push 0x19
lea ecx, [ebp - 0x3c]
call fcn.0046e546
pop ecx
cmp dword [ebx + 0x88], esi
je 0x417e8e
cmp dword [ebx + 0x24], esi
je 0x417ea0
call fcn.00467275
mov ecx, eax
call fcn.00466795
mov dword [ebp - 0x14c], eax
cmp dword [ebx + 0x2f8c], esi
jle 0x417ead
cmp dword [ebx + 0x24], esi
je 0x417eb6
call fcn.00465ee9
mov esi, eax
jmp 0x417ebc
mov esi, dword [ebp - 0x154]
lea edx, [ebp - 0x3c]
call fcn.00439c75
test eax, eax
jne 0x417ed8
lea eax, [ebp - 0x3c]
push eax
push 0x19
pop ecx
lea eax, [ebx + 0x6c]
call fcn.00438aa8
pop ecx
mov eax, dword [ebp - 0x14c]
test eax, eax
je 0x417ee8
mov dword [ebx + 0x88], eax
test esi, esi
jle 0x417ef2
mov dword [ebx + 0x2f8c], esi
and dword [ebx + 0x24], 0
cmp dword [ebx + 0x90], 0
mov esi, 0x300c
mov dword [ebx + 0x2f90], 1
mov dword [ebx], esi
jne 0x417f17
and dword [ebx + 0x8c], 0
mov eax, 0x1f4
cmp dword [ebx + 0x8c], eax
jle 0x417f2a
mov dword [ebx + 0x8c], eax
test edi, edi
je 0x417f54
call fcn.0040237f
push eax
push 0
push 0
call fcn.0045531b
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x148]
push str._stemp_d.sls
push eax
call fcn.00401954
add esp, 0x10
xor edx, edx
xor eax, eax
cmp eax, 4
jb 0x417f62
cmp eax, 8
jb 0x417f76
cmp eax, 0x90
jl 0x417f70
cmp eax, 0x94
jl 0x417f76
movzx ecx, byte [ebx + eax]
add edx, ecx
inc eax
cmp eax, esi
jb 0x417f58
mov eax, dword [ebx + 0x8c]
add edx, esi
test eax, eax
jle 0x417fb6
shl eax, 6
xor ecx, ecx
test eax, eax
jle 0x417fb4
mov eax, dword [ebx + 0x8c]
shl eax, 6
mov dword [ebp - 0x154], eax
mov eax, dword [ebx + 0x90]
movzx edi, byte [eax + ecx]
add edx, edi
inc ecx
cmp ecx, dword [ebp - 0x154]
jl 0x417fa5
add edx, ecx
mov dword [ebx + 4], edx
push 0x10c
push str.GetSalesSa7.c
mov edx, 0x4ae7a4
lea ecx, [ebp - 0x148]
call fcn.0048d3dd
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x417dd0
push edi
push 1
push esi
push ebx
call fcn.0040257f
add esp, 0x10
cmp eax, 1
je 0x418015
mov ecx, edi
call fcn.0048fcf9
cmp dword [ebp - 0x15c], 0
je 0x417dd0
lea eax, [ebp - 0x148]
call fcn.0048e8b7
jmp 0x417dd0
mov eax, dword [ebx + 0x8c]
xor esi, esi
cmp eax, esi
jle 0x418051
mov dword [ebp - 0x14c], esi
mov eax, dword [ebx + 0x90]
add eax, dword [ebp - 0x14c]
push edi
push 1
push 0x40
push eax
call fcn.0040257f
add dword [ebp - 0x14c], 0x40
add esp, 0x10
inc esi
cmp esi, dword [ebx + 0x8c]
jl 0x418027
mov ecx, edi
call fcn.0048fcf9
xor edi, edi
cmp dword [ebp - 0x15c], edi
je 0x4180f1
cmp dword [ebp - 0x150], edi
je 0x418087
cmp dword [ebp + 8], edi
je 0x418087
push 0x132
push str.GetSalesSa7.c
push 0x40
call fcn.0046b9b6
add esp, 0xc
call fcn.0041a877
mov edx, dword [ebp - 0x158]
push edi
lea ecx, [ebp - 0x148]
mov esi, eax
call fcn.0048f099
pop ecx
test eax, eax
jne 0x4180d1
call fcn.0041a877
sub eax, esi
cmp eax, 0x1388
jae 0x4180d1
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x158]
push edi
lea ecx, [ebp - 0x148]
call fcn.0048f099
pop ecx
cmp dword [ebp - 0x150], edi
je 0x4180e6
cmp dword [ebp + 8], edi
je 0x4180e6
push 0x40
call fcn.00467de9
pop ecx
lea eax, [ebp - 0x148]
call fcn.0048e8b7
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00401317
leave
ret