Function at 0x4174cc
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14c
mov eax, dword [0x4e22e4]
xor eax, esp
mov dword [esp + 0x148], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
push 6
pop ecx
xor eax, eax
lea edi, [esp + 0x2d]
mov byte [esp + 0x2c], 0
rep stosd dword es:[edi], eax
push 0x103
mov byte [esp + 0x4c], al
xor edi, edi
lea eax, [esp + 0x4d]
push edi
push eax
mov dword [esp + 0x30], esi
call fcn.00401f80
add esp, 0xc
mov edx, esi
mov dword [esp + 0x14], edi
call fcn.00439c75
test eax, eax
jne 0x41796e
cmp ebx, edi
je 0x41796e
push 0x300c
push edi
push ebx
call fcn.00401f80
add esp, 0xc
push esi
mov ecx, 0x104
lea eax, [esp + 0x4c]
call fcn.00438aa8
pop ecx
mov edx, eax
call fcn.00439822
mov eax, edx
push eax
mov esi, 0x4ae828
call fcn.00438a33
mov esi, eax
neg esi
sbb esi, esi
inc esi
pop ecx
mov dword [esp + 0x20], edi
cmp esi, edi
je 0x417689
push edi
push edi
push edi
push edi
push edi
push 0x19
pop ecx
lea eax, [esp + 0x40]
call fcn.00466649
add esp, 0x14
lea edx, [esp + 0x2c]
call fcn.00439c75
test eax, eax
jne 0x4175bc
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00439609
pop ecx
pop ecx
test eax, eax
je 0x4175bc
mov dword [esp + 0x20], 1
call fcn.0040237f
push eax
push edi
push edi
call fcn.0045531b
pop ecx
pop ecx
push eax
lea eax, [esp + 0x50]
push str._stemp_d.sls
push eax
call fcn.00401954
add esp, 0x10
cmp dword [esp + 0x20], edi
je 0x4175fd
cmp dword [ebp + 0x10], edi
je 0x4175fd
push 0x286
push str.GetSalesSa7.c
push 0x40
call fcn.0046b9b6
add esp, 0xc
call fcn.0041a877
mov ecx, dword [esp + 0x24]
push edi
lea edx, [esp + 0x4c]
mov dword [esp + 0x14], eax
call fcn.0048f099
pop ecx
test eax, eax
jne 0x417676
mov ecx, dword [esp + 0x24]
push 0x4e20
call fcn.0048e6b5
pop ecx
test eax, eax
jne 0x41764c
cmp dword [esp + 0x20], edi
je 0x41796e
cmp dword [ebp + 0x10], edi
je 0x41796e
push 0x40
call fcn.00467de9
pop ecx
jmp 0x41796e
call fcn.0041a877
sub eax, dword [esp + 0x10]
cmp eax, 0x1388
jae 0x417676
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x24]
push edi
lea edx, [esp + 0x4c]
call fcn.0048f099
pop ecx
cmp dword [esp + 0x20], edi
je 0x417689
cmp dword [ebp + 0x10], edi
je 0x417689
push 0x40
call fcn.00467de9
pop ecx
push 0x29c
push str.GetSalesSa7.c
mov edx, 0x4ae668
lea ecx, [esp + 0x50]
call fcn.0048d3dd
mov edi, eax
pop ecx
pop ecx
mov dword [esp + 0x10], edi
test edi, edi
je 0x41796e
push edi
push 1
lea eax, [esp + 0x1c]
push 4
push eax
call fcn.00402244
add esp, 0x10
cmp eax, 1
jne 0x417967
cmp dword [esp + 0x14], 0
je 0x417967
mov eax, 0x300c
cmp dword [esp + 0x14], eax
jbe 0x4176e6
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
push edi
add ecx, 0xfffffffc
push ecx
lea eax, [ebx + 4]
push 1
push eax
call fcn.00402244
and dword [ebx + 0x90], 0
lea edi, [eax + 4]
mov eax, dword [esp + 0x24]
add esp, 0x10
mov dword [ebx], eax
call fcn.00417116
mov eax, dword [ebx + 0x8c]
and dword [esp + 0x18], 0
test eax, eax
jle 0x4177e9
cmp eax, 0x1f4
jg 0x4177e9
shl eax, 6
push eax
call fcn.004028f8
pop ecx
mov dword [ebx + 0x90], eax
test eax, eax
je 0x4177e9
and dword [esp + 0x1c], 0
cmp dword [ebx + 0x8c], 0
mov dword [esp + 0x18], 1
jle 0x4177e9
and dword [esp + 0xc], 0
push dword [esp + 0x10]
lea eax, [esp + 0x18]
push 1
push 4
push eax
call fcn.00402244
add esp, 0x10
cmp eax, 1
jne 0x4177e4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4177e4
cmp eax, 0x40
ja 0x4177e4
push dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
add eax, 0xfffffffc
push 1
push eax
mov eax, dword [ebx + 0x90]
lea eax, [ecx + eax + 4]
push eax
call fcn.00402244
mov edx, dword [esp + 0x1c]
add esp, 0x10
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], 1
mov eax, dword [ebx + 0x90]
push 0x40
pop ecx
mov dword [edx + eax], ecx
jne 0x4177e4
add edi, dword [esp + 0x14]
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
add dword [esp + 0xc], ecx
cmp eax, dword [ebx + 0x8c]
jl 0x417767
jmp 0x4177e9
and dword [esp + 0x18], 0
mov ecx, dword [esp + 0x10]
call fcn.0048fcf9
xor edx, edx
cmp esi, edx
je 0x417803
lea eax, [esp + 0x48]
call fcn.0048e8b7
xor edx, edx
mov ecx, dword [ebx]
xor eax, eax
neg ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], eax
cmp edi, edx
jle 0x417873
mov dword [esp + 0x10], ebx
sub dword [esp + 0x10], ecx
cmp eax, 4
jb 0x417827
cmp eax, 8
jb 0x417866
cmp eax, 0x90
jl 0x417835
cmp eax, 0x94
jl 0x417866
add eax, ecx
cmp eax, edx
jl 0x41785a
cmp dword [esp + 0x18], edx
je 0x417866
mov esi, dword [ebx + 0x8c]
shl esi, 6
cmp eax, esi
jge 0x417866
mov esi, dword [ebx + 0x90]
movzx eax, byte [eax + esi]
jmp 0x417862
mov esi, dword [esp + 0x10]
movzx eax, byte [esi + eax]
add dword [esp + 0xc], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, edi
jl 0x41781d
mov esi, dword [esp + 0xc]
add esi, edi
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x20], edx
cmp dword [esp + 0x18], edx
jne 0x4178a7
mov eax, dword [ebx + 0x90]
mov dword [ebx + 0x8c], edx
cmp eax, edx
je 0x4178a1
push eax
call fcn.00401a00
pop ecx
xor edx, edx
mov dword [ebx + 0x90], edx
mov dword [ebx], 0x300c
cmp esi, dword [ebx + 4]
je 0x417951
mov eax, dword [ebx + 0x90]
mov dword [ebx + 0x8c], edx
cmp dword [0x5f621c], edx
jne 0x417936
cmp eax, edx
je 0x4178d7
push eax
call fcn.00401a00
pop ecx
xor edx, edx
mov dword [ebx + 0x90], edx
cmp dword [esp + 0x20], edx
je 0x417913
cmp dword [ebp + 0x10], edx
jne 0x417913
push edx
push 0x40
call fcn.00467c71
pop ecx
pop ecx
test eax, eax
je 0x417913
push 0x40
call fcn.00467de9
mov dword [esp], 0x36a
push str.GetSalesSa7.c
push 0x40
call fcn.0046b9b6
add esp, 0xc
push dword [ebp + 0x10]
mov dword [0x5f621c], 1
push dword [esp + 0x28]
push ebx
call fcn.004174cc
add esp, 0xc
and dword [0x5f621c], 0
jmp 0x417970
cmp eax, edx
je 0x417943
push eax
call fcn.00401a00
pop ecx
xor edx, edx
inc byte [0x4f978a]
mov dword [ebx + 0x90], edx
jmp 0x41796e
mov ebx, dword [ebx + 0x90]
cmp ebx, edx
je 0x417962
push ebx
call fcn.00417124
pop ecx
xor eax, eax
inc eax
jmp 0x417970
mov ecx, edi
call fcn.0048fcf9
xor eax, eax
mov ecx, dword [esp + 0x154]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00401317
mov esp, ebp
pop ebp
ret