Function at 0x417090
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4406ab
mov eax, dword fs:[0]
push eax
mov eax, 0x13ec
call fcn.0042bdf0
mov eax, dword [0x44d6b0]
xor eax, esp
mov dword [esp + 0x13e8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x44d6b0]
xor eax, esp
push eax
lea eax, [esp + 0x1400]
mov dword fs:[0], eax
push 0x3f
xor ebp, ebp
lea eax, [esp + 0x13c1]
mov ebx, ecx
push ebp
push eax
mov dword [esp + 0x40], ebx
mov byte [esp + 0x13c8], 0
call fcn.00429ed0
mov edi, dword [esp + 0x141c]
push edi
lea ecx, [esp + 0x13cc]
push str.Code_sav_02d.t1
push ecx
call fcn.0042bb13
lea edx, [esp + 0x13d4]
push 0x44146c
push edx
call fcn.0042aa8f
mov esi, eax
add esp, 0x20
cmp esi, ebp
je case.0x417163.552
push esi
push 1
lea eax, [esp + 0x30]
push 4
push eax
mov dword [ebx + 0x188c], edi
mov dword [esp + 0x38], ebp
call fcn.0042a9ae
mov eax, dword [esp + 0x38]
sub eax, dword [0x451ef4]
add esp, 0x10
add eax, 0xfffffdda
cmp eax, 0x19
ja case.0x417163.552
movzx ecx, byte [eax + 0x417570]
jmp dword [ecx*4 + 0x417564]
mov byte [ebx + 0x16c0], 0
push esi
push 1
lea edx, [ebx + 0x158c]
push 4
push edx
call fcn.0042a9ae
push esi
push 1
push 4
push 0x452250
call fcn.0042a9ae
add esp, 0x20
cmp dword [0x452250], ebp
jne 0x4171b6
push ebp
call fcn.0042bd12
add esp, 4
mov dword [0x452250], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add dword [0x452250], eax
push esi
push 1
lea eax, [esp + 0x34]
push 4
push eax
call fcn.0042a9ae
push esi
push 1
lea ecx, [ebx + 0x10]
push 4
push ecx
call fcn.0042a9ae
push esi
push 1
lea edx, [ebx + 0x1598]
push 4
push edx
call fcn.0042a9ae
push esi
push 1
push 0x14
push 0x450688
call fcn.0042a9ae
add esp, 0x40
push esi
push 1
push 0x14
push 0x44fae0
call fcn.0042a9ae
mov eax, dword [0x451f2c]
push eax
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
call fcn.0042bd63
push esi
push 1
lea ecx, [esp + 0x38]
push 4
push ecx
call fcn.0042a9ae
mov ecx, dword [esp + 0x40]
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
imul edx, edx, 0x2710
sub ecx, edx
mov eax, 0x51eb851f
mul ecx
mov eax, dword [0x44ed48]
shr edx, 5
mov dword [eax + 0x36c], edx
mov ecx, dword [esp + 0x40]
mov eax, 0xd1b71759
mul ecx
shr edx, 0xd
imul edx, edx, 0x2710
mov eax, ecx
sub eax, edx
xor edx, edx
mov ecx, 0x64
div ecx
mov eax, dword [0x44ed48]
push esi
push 1
push 4
mov dword [eax + 0x368], edx
mov ecx, dword [0x44ed48]
mov eax, 0xd1b71759
mul dword [esp + 0x4c]
shr edx, 0xd
imul edx, edx, 0x64
mov dword [ecx + 0x364], edx
mov eax, dword [0x44ed48]
mov ecx, dword [eax + 0x36c]
lea edx, [esp + 0x50]
push edx
mov dword [eax + 0x370], ecx
call fcn.0042a9ae
mov eax, dword [esp + 0x54]
add esp, 0x34
cmp eax, ebp
jle 0x4172d4
mov ecx, dword [0x44ed48]
push eax
call fcn.0040cec0
mov dword [esp + 0x20], ebp
push esi
push 1
lea eax, [esp + 0x38]
push 4
push eax
call fcn.0042a9ae
mov ecx, dword [0x451f2c]
mov edx, dword [ecx + 8]
mov eax, dword [0x44ed48]
add esp, 0x10
cmp edx, dword [eax + 0x36c]
jne 0x41730a
mov ecx, dword [ecx + 4]
sub ecx, dword [eax + 0x368]
cmp ecx, 0xf
jbe 0x417310
mov dword [eax + 0x364], ebp
push esi
push 1
lea edx, [esp + 0x20]
push 4
push edx
call fcn.0042a9ae
mov ecx, dword [esp + 0x28]
mov eax, 0x6b5fca6b
imul ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x989680
sub ecx, eax
imul ecx, ecx, 0x64
add esp, 0x10
cmp ecx, ebp
mov dword [0x452280], ecx
jge 0x417352
mov dword [0x452280], ebp
push esi
push 1
push 4
push 0x452274
call fcn.0042a9ae
mov edx, dword [0x452274]
add esp, 0x10
cmp edx, 0x7d0
jl 0x417382
mov ecx, dword [0x44ed58]
push 0x7d0
call fcn.00417010
mov ecx, dword [0x44ed48]
cmp dword [ecx + 0x364], 0x2710
jb 0x4173a4
cmp edx, 0x3e8
jge 0x4173a4
push ebp
push 1
call fcn.0040c430
push esi
push 1
push 4
push 0x452278
call fcn.0042a9ae
add esp, 0x10
cmp dword [0x452278], ebp
jle 0x4173c7
push ebp
call fcn.00425250
add esp, 4
push esi
push 1
lea ecx, [esp + 0x20]
push 4
push ecx
call fcn.0042a9ae
mov eax, dword [esp + 0x28]
add esp, 0x10
cmp eax, ebp
jle 0x4173ee
mov edx, dword [0x44ed48]
dec eax
mov dword [edx + 0x384], eax
push esi
push 1
lea eax, [esp + 0x20]
push 4
push eax
call fcn.0042a9ae
mov edi, dword [esp + 0x28]
add esp, 0x10
cmp edi, ebp
jle 0x417491
mov eax, 0x66666667
imul edi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [ecx + ecx*4]
add edx, edx
sub edi, edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x64
sub ecx, edx
mov ebx, edi
mov edi, eax
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
imul edx, edx, 0x64
mov ebp, eax
sub edi, edx
mov eax, 0x51eb851f
imul ebp
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
push ecx
mov dword [esp + 0x1c], ebp
sub ebp, eax
test ebx, ebx
setg cl
push edi
movzx edx, cl
mov ecx, dword [0x44ed48]
push ebp
push edx
call fcn.0040cbe0
mov ebx, dword [esp + 0x34]
xor ebp, ebp
push esi
push 1
lea eax, [esp + 0x1f]
push 1
push eax
mov byte [esp + 0x27], 0
call fcn.0042a9ae
push esi
call fcn.0042a692
add esp, 0x14
lea ecx, [esp + 0x38]
mov dword [esp + 0x24], ebp
call fcn.004298b0
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x24]
push ecx
push edx
push 1
mov ecx, ebx
mov dword [esp + 0x1414], ebp
call fcn.00417020
push eax
lea ecx, [esp + 0x44]
call fcn.00429420
mov ecx, dword [esp + 0x30]
mov esi, eax
lea eax, [esp + 0x24]
push eax
push ecx
push 2
mov ecx, ebx
call fcn.00417020
push eax
lea ecx, [esp + 0x44]
call fcn.00429420
imul esi, esi, 0x2710
add esi, eax
cmp byte [esp + 0x17], 0x59
mov dword [0x44d054], esi
mov byte [ebx + 0x159c], 0
mov dword [esp + 0x1408], 0xffffffff
lea ecx, [esp + 0x38]
je 0x41755a
call fcn.00429a10
xor al, al
mov ecx, dword [esp + 0x1400]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x13e8]
xor ecx, esp
call fcn.00429eb3
add esp, 0x13f8
ret 4
call fcn.00429a10
mov al, 1
jmp 0x417530