Function at 0x4a40f4
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x5025d0]
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.004a8c80
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.00477a16
test eax, eax
je 0x4a4166
xor eax, eax
jmp 0x4a4484
test ebx, ebx
je 0x4a415f
push esi
mov ecx, 0x104
lea eax, [ebp - 0x148]
call fcn.00477a48
pop ecx
mov edx, eax
call fcn.00478435
mov eax, edx
push eax
mov esi, 0x4c73ec
call fcn.00477b57
mov edi, eax
neg edi
sbb edi, edi
inc edi
xor esi, esi
cmp edi, esi
pop ecx
mov dword [ebp - 0x15c], edi
mov dword [ebp - 0x150], esi
je 0x4a41e9
push esi
push esi
push esi
push esi
push esi
push 0x19
pop ecx
lea eax, [ebp - 0x20]
call fcn.0043d90c
add esp, 0x14
lea edx, [ebp - 0x20]
call fcn.00477a16
test eax, eax
jne 0x4a41e9
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.004785e7
test eax, eax
pop ecx
pop ecx
je 0x4a41e9
mov dword [ebp - 0x150], 1
push esi
mov esi, ebx
call fcn.004a533c
pop ecx
lea edx, [ebx + 0x6c]
call fcn.00477a16
xor esi, esi
test eax, eax
jne 0x4a4205
cmp dword [ebx + 0x24], esi
je 0x4a4210
push 0x19
lea ecx, [ebp - 0x3c]
call fcn.0043ddf6
pop ecx
cmp dword [ebx + 0x88], esi
je 0x4a421d
cmp dword [ebx + 0x24], esi
je 0x4a422f
call fcn.0043e019
mov ecx, eax
call fcn.0044262c
mov dword [ebp - 0x14c], eax
cmp dword [ebx + 0x2f8c], esi
jle 0x4a423c
cmp dword [ebx + 0x24], esi
je 0x4a4245
call fcn.0043dee8
mov esi, eax
jmp 0x4a424b
mov esi, dword [ebp - 0x154]
lea edx, [ebp - 0x3c]
call fcn.00477a16
test eax, eax
jne 0x4a4267
lea eax, [ebp - 0x3c]
push eax
push 0x19
pop ecx
lea eax, [ebx + 0x6c]
call fcn.00477a48
pop ecx
mov eax, dword [ebp - 0x14c]
test eax, eax
je 0x4a4277
mov dword [ebx + 0x88], eax
test esi, esi
jle 0x4a4281
mov dword [ebx + 0x2f8c], esi
call fcn.0040fb59
and dword [ebx + 0x24], 0
cmp dword [ebx + 0x90], 0
mov esi, 0x300c
mov dword [ebx + 0x2f90], eax
mov dword [ebx], esi
jne 0x4a42a7
and dword [ebx + 0x8c], 0
mov eax, 0x1f4
cmp dword [ebx + 0x8c], eax
jle 0x4a42ba
mov dword [ebx + 0x8c], eax
test edi, edi
je 0x4a42e4
call fcn.004a913c
push eax
push 0
push 0
call fcn.0045bc06
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x148]
push str._stemp_d.sls
push eax
call fcn.004a8bfe
add esp, 0x10
xor edx, edx
xor eax, eax
cmp eax, 4
jb 0x4a42f2
cmp eax, 8
jb 0x4a4306
cmp eax, 0x90
jl 0x4a4300
cmp eax, 0x94
jl 0x4a4306
movzx ecx, byte [ebx + eax]
add edx, ecx
inc eax
cmp eax, esi
jb 0x4a42e8
mov eax, dword [ebx + 0x8c]
add edx, esi
test eax, eax
jle 0x4a4346
shl eax, 6
xor ecx, ecx
test eax, eax
jle 0x4a4344
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 0x4a4335
add edx, ecx
mov dword [ebx + 4], edx
push 0x10c
push str..GetSalesSa7.c
mov edx, 0x4c7368
lea ecx, [ebp - 0x148]
call fcn.0041bb64
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x4a415f
push edi
push 1
push esi
push ebx
call fcn.004a7ca6
add esp, 0x10
cmp eax, 1
je 0x4a43a5
mov ecx, edi
call fcn.0041bf91
cmp dword [ebp - 0x15c], 0
je 0x4a415f
lea eax, [ebp - 0x148]
call fcn.004199a1
jmp 0x4a415f
mov eax, dword [ebx + 0x8c]
test eax, eax
jle 0x4a43e5
xor esi, esi
test eax, eax
jle 0x4a43e5
and dword [ebp - 0x14c], esi
mov eax, dword [ebx + 0x90]
add eax, dword [ebp - 0x14c]
push edi
push 1
push 0x40
push eax
call fcn.004a7ca6
add dword [ebp - 0x14c], 0x40
add esp, 0x10
inc esi
cmp esi, dword [ebx + 0x8c]
jl 0x4a43bb
mov ecx, edi
call fcn.0041bf91
xor edi, edi
cmp dword [ebp - 0x15c], edi
je 0x4a4481
cmp dword [ebp - 0x150], edi
je 0x4a441b
cmp dword [ebp + 8], edi
je 0x4a441b
push 0x132
push str..GetSalesSa7.c
push 0x40
call fcn.00445dad
add esp, 0xc
call fcn.0049a965
mov edx, dword [ebp - 0x158]
lea ecx, [ebp - 0x148]
mov esi, eax
call fcn.00419a4c
test eax, eax
jne 0x4a4461
call fcn.0049a965
sub eax, esi
cmp eax, 0x1388
jae 0x4a4461
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x158]
lea ecx, [ebp - 0x148]
call fcn.00419a4c
cmp dword [ebp - 0x150], edi
je 0x4a4476
cmp dword [ebp + 8], edi
je 0x4a4476
push 0x40
call fcn.004469e1
pop ecx
lea eax, [ebp - 0x148]
call fcn.004199a1
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004a8565
leave
ret