Function at 0x497a0c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x164
mov esi, eax
mov eax, dword [0x5ed01c]
mov edi, edx
shl eax, 3
xor edx, edx
mov dword [esp + 0x3c], eax
mov ebx, ecx
mov eax, dword [0x5ed070]
test eax, eax
mov dword [0x5ed0cc], edx
cmovle eax, edx
test eax, eax
jle 0x497b59
mov edx, ebx
and edx, 0xf
mov dword [esp], edx
je 0x497a62
test byte [esp], 7
jne 0x498973
mov dword [esp], 1
mov edx, dword [esp]
lea ecx, [edx + 8]
cmp eax, ecx
jl 0x498973
mov ecx, eax
sub ecx, edx
and ecx, 7
neg ecx
add ecx, eax
test edx, edx
jbe 0x497a9d
mov dword [esp + 0x30], edi
xor edx, edx
mov edi, dword [esp]
pxor xmm0, xmm0
movsd qword [ebx + edx*8], xmm0
inc edx
cmp edx, edi
jb 0x497a8c
mov dword [esp], edi
mov edi, dword [esp + 0x30]
mov edx, dword [esp]
pxor xmm0, xmm0
movaps xmmword [ebx + edx*8], xmm0
movaps xmmword [ebx + edx*8 + 0x10], xmm0
movaps xmmword [ebx + edx*8 + 0x20], xmm0
movaps xmmword [ebx + edx*8 + 0x30], xmm0
add edx, 8
cmp edx, ecx
jb 0x497aa4
cmp ecx, eax
jae 0x497ad0
pxor xmm0, xmm0
movsd qword [ebx + ecx*8], xmm0
inc ecx
cmp ecx, eax
jb 0x497ac6
mov edx, edi
and edx, 0xf
mov dword [esp], edx
je 0x497aeb
test byte [esp], 7
jne 0x49896c
mov dword [esp], 1
mov edx, dword [esp]
lea ecx, [edx + 8]
cmp eax, ecx
jl 0x49896c
mov ecx, eax
sub ecx, edx
and ecx, 7
neg ecx
add ecx, eax
test edx, edx
jbe 0x497b26
mov dword [esp + 0x38], ebx
xor edx, edx
mov ebx, dword [esp]
pxor xmm0, xmm0
movsd qword [edi + edx*8], xmm0
inc edx
cmp edx, ebx
jb 0x497b15
mov dword [esp], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp]
pxor xmm0, xmm0
movaps xmmword [edi + edx*8], xmm0
movaps xmmword [edi + edx*8 + 0x10], xmm0
movaps xmmword [edi + edx*8 + 0x20], xmm0
movaps xmmword [edi + edx*8 + 0x30], xmm0
add edx, 8
cmp edx, ecx
jb 0x497b2d
cmp ecx, eax
jae 0x497b59
pxor xmm0, xmm0
movsd qword [edi + ecx*8], xmm0
inc ecx
cmp ecx, eax
jb 0x497b4f
mov dword [esp + 0x5c], esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], ebx
cmp dword [0x5ed0cc], 0
jne 0x497c75
movsd xmm0, qword [0x5ecfd8]
pxor xmm1, xmm1
mov ebx, dword [0x5ecfd0]
ucomisd xmm0, xmm1
jp 0x497b8c
je 0x497ba7
test bl, 1
je 0x497b9e
cmp dword [0x5ed03c], 1
je 0x49897a
and ebx, 0xfffffffe
mov dword [0x5ecfd0], ebx
movsd qword [0x5ed0b8], xmm1
test bl, 1
movsd qword [0x5ed0c0], xmm1
jne 0x497bc5
push dword [esp + 0x5c]
call fcn.0053b350
cmp dword [0x5ecfc8], 0
jg 0x4989d6
cmp dword [0x5ecfcc], 0
jg 0x4989bd
call fcn.00462220
fstp st(0)
call fcn.004621d0
fstp dword [esp + 0x54]
mov eax, dword [0x5ed0d4]
cmp eax, dword [0x5ed070]
je 0x49891e
mov eax, dword [0x5eca18]
xor edx, edx
mov dword [0x5ed0cc], 1
mov dword [0x5ed0d0], eax
mov dword [0x5ed0e4], edx
mov dword [0x5ed0c8], edx
cmp dword [0x5ed084], 0
jne 0x497c35
mov dword [0x5ed098], 0x3e8
push 0x5ed01c
push 0x5ed09c
push 0x5ed078
push 0x5ed0d4
push dword [ebp + 0x24]
push dword [ebp + 0x30]
mov dword [0x5ed08c], 0
call fcn.004777a0
movss xmm0, dword [0x5ed0d0]
lea edi, [esp + 0x60]
movss dword [esp + 0x48], xmm0
jmp 0x497f3a
mov ecx, dword [0x5ed0d4]
mov ebx, ecx
mov edx, ecx
test ecx, ecx
jle 0x497cac
mov esi, dword [esp + 0x30]
xor eax, eax
movsd xmm0, qword [0x5ed0b8]
lea edi, [esi + ecx*8]
xor esi, esi
movsd xmm1, qword [edi + esi*8 - 8]
comisd xmm1, xmm0
jbe 0x497cac
inc eax
lea ecx, [esi + edx - 1]
dec esi
cmp eax, ebx
jb 0x497c96
mov eax, dword [0x5ecfcc]
cmp eax, ecx
jl 0x498a0f
jne 0x497cea
mov ebx, dword [0x5ed0dc]
lea esi, [esp + 0x24]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
mov eax, dword [0x5ed08c]
sub eax, ebx
lea edi, [ecx + ebx*8]
mov dword [esp + 0x24], eax
lea eax, [edx + ebx*8]
push esi
push dword [esp + 0x34]
push edi
push eax
call fcn.00486b80
jmp 0x497cf3
push dword [esp + 0x30]
call fcn.00486db0
fstp qword [esp + 0x150]
movsd xmm1, qword [esp + 0x150]
movsd xmm0, qword [0x5ed0b8]
movsd qword [esp], xmm0
ucomisd xmm1, xmm0
jp 0x497d1c
je 0x4982d4
movsd xmm2, qword [0x5ed0c0]
lea edi, [esp + 0x60]
movsd qword [0x5ed0b8], xmm1
xor esi, esi
mov dword [0x5ecfc8], 1
subsd xmm2, xmm1
mulsd xmm2, qword [0x5c3e08]
movsd xmm1, qword [0x5c3e10]
movsd xmm0, qword [0x5c3e18]
movsd qword [esp + 0x10], xmm2
mov ebx, dword [esp + 0x5c]
push ebx
call fcn.0053b350
cmp dword [0x5ecfc8], 0
jle 0x498a06
movsd xmm1, qword [0x5ed0b8]
inc esi
movsd xmm0, qword [0x5c3e10]
addsd xmm1, qword [esp + 0x10]
movsd qword [esp + 0x18], xmm1
comisd xmm0, xmm1
jb 0x497db0
movsd xmm0, qword [0x5c3e18]
movsd qword [0x5ed0b8], xmm0
movsd qword [esp + 0x18], xmm0
jmp 0x497dbe
movsd xmm0, qword [esp + 0x18]
movsd qword [0x5ed0b8], xmm0
movsd xmm0, qword [0x5ed0c0]
lea eax, [esp + 0x90]
mov dword [esp + 0x60], 0
movsd qword [esp + 8], xmm0
movsd qword [esp + 0x90], xmm0
push 0x20
push 0x5dbc9c
push eax
push 0x5c3c94
push 0x8384ff00
push 6
push edi
call fcn.00545ab0
movsd xmm0, qword [esp + 0x34]
lea eax, [esp + 0xb4]
movsd qword [esp + 0xb4], xmm0
push eax
push 0x5c3c9c
push edi
call fcn.00547300
movsd xmm0, qword [esp + 0x38]
lea eax, [esp + 0xc8]
movsd qword [esp + 0xc8], xmm0
push eax
push 0x5c3ca4
push edi
call fcn.00547300
mov dword [esp + 0x174], esi
lea eax, [esp + 0x174]
push eax
push 0x5c3cac
push edi
call fcn.00547300
movsd xmm0, qword [esp + 0x48]
lea eax, [esp + 0xe8]
mov dword [esp + 0xa0], 0
movsd qword [esp + 0xe8], xmm0
push 0x20
push 0x5dbc9c
push eax
push 0x5c3cb4
push 0x8384ff00
push 0x3c
push edi
call fcn.00545ab0
movsd xmm0, qword [esp + 0x74]
lea eax, [esp + 0x10c]
movsd qword [esp + 0x10c], xmm0
push eax
push 0x5c3cbc
push edi
call fcn.00547300
movsd xmm0, qword [esp + 0x78]
lea eax, [esp + 0x120]
movsd qword [esp + 0x120], xmm0
push eax
push 0x5c3cc4
push edi
call fcn.00547300
add esp, 0x74
mov dword [esp + 0x148], esi
lea eax, [esp + 0x148]
push eax
push 0x5c3ccc
push edi
call fcn.00547300
add esp, 0xc
cmp esi, 0xa
jl 0x497d62
mov dword [esp + 0x5c], ebx
je 0x4989ef
call fcn.00462220
fstp st(0)
call fcn.004621d0
fstp dword [esp + 0x54]
movss xmm0, dword [0x5ed0d0]
addss xmm0, dword [esp + 0x54]
movss dword [esp + 0x48], xmm0
movss dword [0x5ed0d0], xmm0
xor eax, eax
mov dword [esp + 0x60], eax
push 0x20
push 0x5dbdec
push eax
push 0x5c3cd4
push 0x8384ff00
push 0x3c
push edi
call fcn.00545ab0
mov ebx, dword [0x5ecfcc]
lea eax, [esp + 0xdc]
add ebx, dword [0x5ecfc8]
mov dword [esp + 0x7c], 0
mov dword [esp + 0xdc], ebx
push 0x20
push 0x5dbd9c
push eax
push 0x5c3cd8
push 0x8384ff00
push 0x3c
push edi
call fcn.00545ab0
movsd xmm0, qword [0x5ed0b8]
lea eax, [esp + 0xb8]
movsd qword [esp + 0x38], xmm0
movsd qword [esp + 0xb8], xmm0
push eax
push 0x5c3ce0
push edi
call fcn.00547300
movss xmm0, dword [esp + 0x98]
lea eax, [esp + 0x10c]
movss dword [esp + 0x10c], xmm0
push eax
push 0x5c3ce8
push edi
call fcn.00547300
movss xmm0, dword [0x5eca3c]
lea eax, [esp + 0x120]
movss xmm1, dword [0x5eca20]
movss dword [esp + 0xa0], xmm0
subss xmm0, xmm1
movss dword [esp + 0x94], xmm1
movss dword [esp + 0x9c], xmm0
movss dword [esp + 0x120], xmm0
push eax
push 0x5c3cf0
push edi
call fcn.00547300
xor eax, eax
mov dword [esp + 0xbc], eax
push 0x20
push 0x5dbdec
push eax
push 0x5c3cf8
push 0x8384ff00
push 6
push edi
call fcn.00545ab0
add esp, 0x78
mov dword [esp + 0x60], 0
lea eax, [esp + 0xd8]
mov dword [esp + 0xd8], ebx
push 0x20
push 0x5dbd9c
push eax
push 0x5c3cfc
push 0x8384ff00
push 6
push edi
call fcn.00545ab0
movsd xmm0, qword [esp + 0x1c]
lea eax, [esp + 0xa4]
movsd qword [esp + 0xa4], xmm0
push eax
push 0x5c3d04
push edi
call fcn.00547300
movss xmm0, dword [esp + 0x7c]
lea eax, [esp + 0x108]
movss dword [esp + 0x108], xmm0
push eax
push 0x5c3d0c
push edi
call fcn.00547300
movss xmm0, dword [esp + 0x80]
lea eax, [esp + 0x11c]
movss dword [esp + 0x11c], xmm0
push eax
push 0x5c3d14
push edi
call fcn.00547300
mov ebx, dword [0x5ed0cc]
lea eax, [esp + 0x130]
mov dword [esp + 0xa0], 0
mov dword [esp + 0x130], ebx
push 0x20
push 0x5dbbf8
push eax
push 0x5c3d1c
push 0x8384ff00
push 0x3c
push edi
call fcn.00545ab0
movss xmm0, dword [esp + 0xa8]
lea eax, [esp + 0x154]
movss dword [esp + 0x154], xmm0
push eax
push 0x5c3d24
push edi
call fcn.00547300
movss xmm0, dword [0x5eca2c]
lea eax, [esp + 0x168]
subss xmm0, dword [0x5eca24]
movss dword [esp + 0xa8], xmm0
movss dword [esp + 0x168], xmm0
push eax
push 0x5c3d2c
push edi
call fcn.00547300
add esp, 0x74
movss xmm0, dword [esp + 0x48]
lea eax, [esp + 0x108]
mov dword [esp + 0x60], 0
movss dword [esp + 0x108], xmm0
push 0x20
push 0x5dbba0
push eax
push 0x5c3d34
push 0x8384ff00
push 0x3c
push edi
call fcn.00545ab0
movss xmm0, dword [esp + 0x6c]
lea eax, [esp + 0x12c]
subss xmm0, dword [esp + 0x64]
subss xmm0, dword [esp + 0x60]
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x12c], xmm0
push eax
push 0x5c3d3c
push edi
call fcn.00547300
mov dword [esp + 0x88], 0
lea eax, [esp + 0x140]
mov dword [esp + 0x140], ebx
push 0x20
push 0x5dbbf8
push eax
push 0x5c3d44
push 0x8384ff00
push 6
push edi
call fcn.00545ab0
movss xmm0, dword [esp + 0x90]
lea eax, [esp + 0x164]
movss dword [esp + 0x164], xmm0
push eax
push 0x5c3d4c
push edi
call fcn.00547300
movss xmm0, dword [esp + 0x90]
lea eax, [esp + 0x178]
movss dword [esp + 0x178], xmm0
push eax
push 0x5c3d54
push edi
call fcn.00547300
movss xmm0, dword [esp + 0xa4]
lea eax, [esp + 0x18c]
mov dword [esp + 0xbc], 0
movss dword [esp + 0x18c], xmm0
push 0x20
push 0x5dbba0
push eax
push 0x5c3d5c
push 0x8384ff00
push 6
push edi
call fcn.00545ab0
add esp, 0x78
movss xmm0, dword [esp + 0x50]
lea eax, [esp + 0x138]
movss dword [esp + 0x138], xmm0
push eax
push 0x5c3d64
push edi
call fcn.00547300
add esp, 0xc
movsd xmm0, qword [esp]
mov edi, dword [0x5ed098]
test edi, edi
movsd qword [0x5ed0c0], xmm0
jle 0x497b65
mov esi, 1
mov dword [esp + 0x28], esi
mov ecx, dword [0x5ed0d4]
mov edx, dword [0x5ed0c8]
mov dword [esp + 0x20], edi
mov esi, dword [ebp + 0x20]
mov eax, dword [0x5ed09c]
inc edx
sub eax, ecx
mov ebx, dword [0x5ed090]
cmp ebx, eax
mov dword [0x5ed0c8], edx
jle 0x49835f
cmp eax, 0xa
jle 0x49834e
mov ecx, 2
cmp dword [0x5ed078], 2
cdq
cmovle ecx, dword [0x5ed078]
idiv ecx
imul eax, ecx
mov dword [0x5ed078], ecx
mov dword [0x5ed08c], eax
jmp 0x498365
mov dword [0x5ed08c], eax
mov dword [0x5ed078], 1
jmp 0x498365
mov dword [0x5ed08c], ebx
mov eax, dword [0x5ed094]
lea edx, [esp + 0x2c]
imul eax, ebx
mov dword [esp + 0x2c], eax
push edx
push esi
call fcn.00460db0
add esp, 0xffffffd4
mov ebx, dword [ebp + 0x2c]
mov edi, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0xc], ebx
mov ebx, 0x5c3d6c
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov eax, esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov edx, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x30]
mov dword [esp + 0x28], 0x5e1c78
call fcn.00498a3c
mov ebx, dword [0x5ed094]
mov ecx, dword [0x5ed090]
mov dword [0x5e1dc4], ebx
imul ebx, ecx
mov eax, dword [0x5ed07c]
mov dword [0x5e1dcc], eax
lea eax, [esp + 0x34]
mov dword [esp + 0x34], ebx
push eax
mov edi, dword [0x5ed01c]
mov edx, dword [0x5ed070]
push esi
mov dword [0x5e1dc0], ecx
mov dword [0x5e1dc8], edi
mov dword [0x5e1dd0], edx
shl edi, 3
call fcn.00460db0
mov ebx, dword [0x5ed078]
mov ecx, dword [0x5ed08c]
pxor xmm0, xmm0
movsd qword [0x5e1c70], xmm0
mov dword [esp + 0x58], ebx
mov dword [0x5e1dd4], 0
lea eax, [ecx + ebx]
lea eax, [eax + ebx - 1]
cdq
idiv ebx
test eax, eax
jle 0x498963
mov dword [esp + 0xcc], edi
mov edx, ebx
mov esi, dword [ebp + 0x30]
mov ebx, eax
mov edi, dword [esp + 0x5c]
mov dword [0x5e1dd8], 1
mov eax, 1
test edx, edx
jle 0x4984d5
mov dword [esp + 0x5c], edi
mov dword [esp + 0xc4], ebx
mov ebx, edx
mov edi, dword [esp + 0xcc]
imul eax, edi
add eax, esi
push 0x5ed01c
sub eax, edi
push eax
push eax
call fcn.00473d60
fstp qword [esp + 0x150]
movsd xmm1, qword [esp + 0x150]
movsd xmm0, qword [0x5e1c70]
mov eax, dword [0x5e1dd8]
addsd xmm0, xmm1
inc eax
movsd qword [0x5e1c70], xmm0
cmp eax, ebx
mov dword [0x5e1dd8], eax
jle 0x498484
mov ebx, dword [esp + 0xc4]
mov edi, dword [esp + 0x5c]
push edi
push 0x5ed078
push esi
push 0x5c3d70
call fcn.004916a0
cmp dword [edi], 0
jle 0x4984f1
mov dword [edi], 0
add esp, 0xffffffd4
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 0x28]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x14], ecx
mov ecx, esi
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 0x1c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], 0x5c3d74
mov dword [esp + 0x24], 0x5e1dd4
mov edx, dword [ebp + 0x34]
mov dword [esp + 0x28], 0x5e1ddc
call fcn.00498a3c
mov ecx, dword [0x5e1dd4]
cmp dword [0x5e1ddc], 1
je 0x498941
dec ebx
add ecx, dword [esp + 0x58]
mov dword [0x5e1dd4], ecx
test ebx, ebx
jle 0x498569
mov edx, dword [0x5ed078]
jmp 0x49845d
mov dword [esp + 0x5c], edi
mov esi, dword [ebp + 0x20]
mov ecx, dword [0x5ed08c]
movsd xmm1, qword [0x5e1c70]
cvtsi2sd xmm0, ecx
divsd xmm1, xmm0
sqrtsd xmm1, xmm1
add esp, 0xffffffcc
mov ebx, dword [esp + 0x6c]
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
mov ebx, dword [ebp + 0x34]
mov edi, dword [ebp + 0x30]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov edx, 0x5e1c70
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x64]
movsd qword [0x5e1c70], xmm1
call fcn.00499adc
mov eax, dword [0x5ed070]
mov ecx, dword [0x5ed0d4]
cmp ecx, eax
jge 0x49892d
mov ebx, dword [ebp + 0x38]
mov edx, dword [0x5ed0c8]
cmp edx, dword [ebx]
je 0x49892d
cmp dword [0x5ed080], 0
je 0x498633
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x20]
jle 0x49830b
jmp 0x497b65
mov dword [esp], ecx
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov edx, dword [0x5ed074]
sub eax, edx
cmp eax, ecx
mov dword [esp + 4], edx
lea edx, [esp + 0x60]
cmovl ecx, eax
mov eax, dword [0x5ed0cc]
mov dword [esp], ecx
mov dword [esp + 0x60], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push 0x20
push 0x5dbbf8
push eax
push 0x5c3d78
push 0x8384ff00
push 0x3c
push edx
mov dword [0x5ed070], ecx
call fcn.00545ab0
movss xmm0, dword [0x5eca3c]
lea eax, [esp + 0x44]
subss xmm0, dword [0x5eca20]
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x44], xmm0
push eax
push 0x5c3d80
lea edx, [esp + 0x84]
push edx
call fcn.00547300
movss xmm0, dword [0x5eca2c]
lea eax, [esp + 0x58]
subss xmm0, dword [0x5eca24]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x58], xmm0
push eax
push 0x5c3d88
lea edx, [esp + 0x90]
push edx
call fcn.00547300
movss xmm0, dword [0x5ed0d0]
lea edx, [esp + 0x6c]
mov eax, dword [0x5ed0d0]
mov dword [esp + 0x94], 0
movss dword [esp + 0x50], xmm0
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], eax
push 0x20
push 0x5dbba0
push edx
push 0x5c3d90
push 0x8384ff00
push 0x3c
lea ecx, [esp + 0xac]
push ecx
call fcn.00545ab0
movss xmm0, dword [esp + 0x64]
lea eax, [esp + 0x90]
subss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x90], xmm0
push eax
push 0x5c3d98
lea edx, [esp + 0xb8]
push edx
call fcn.00547300
mov eax, dword [esp + 0x74]
lea edx, [esp + 0xa4]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xa4], eax
push 0x20
push 0x5dbbf8
push edx
push 0x5c3da0
push 0x8384ff00
push 6
lea ecx, [esp + 0xd4]
push ecx
call fcn.00545ab0
add esp, 0x78
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x18]
movss dword [esp + 0x18], xmm0
push eax
push 0x5c3da8
lea edx, [esp + 0x68]
push edx
call fcn.00547300
movss xmm0, dword [esp + 0x1c]
lea eax, [esp + 0x5c]
movss dword [esp + 0x5c], xmm0
push eax
push 0x5c3db0
lea edx, [esp + 0x74]
push edx
call fcn.00547300
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x28]
mov dword [esp + 0x78], 0
mov dword [esp + 0x28], eax
push 0x20
push 0x5dbba0
push edx
push 0x5c3db8
push 0x8384ff00
push 6
lea ecx, [esp + 0x90]
push ecx
call fcn.00545ab0
movss xmm0, dword [esp + 0x3c]
lea eax, [esp + 0x8c]
movss dword [esp + 0x8c], xmm0
push eax
push 0x5c3dc0
lea edx, [esp + 0x9c]
push edx
call fcn.00547300
add esp, 0x40
mov ecx, dword [0x5ed090]
mov eax, dword [esp]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ecx
mov dword [0x5e1c7c], 1
lea eax, [eax + ecx - 1]
cdq
idiv ecx
mov edx, 1
test eax, eax
jle 0x498902
mov dword [esp + 0x5c], esi
mov ecx, 1
mov esi, eax
mov eax, dword [esp + 8]
lea ecx, [eax + ecx - 1]
mov eax, dword [0x5ed070]
cmp ecx, eax
cmovl eax, ecx
mov dword [0x5e1c80], eax
mov ecx, dword [esp + 0x3c]
imul edx, ecx
push dword [esp + 0x5c]
push 0x5e1c80
push 0x5e1c7c
push ebx
add edx, dword [ebp + 0x28]
push edi
push dword [ebp + 0x2c]
sub edx, ecx
push edx
push 0x5c3dc8
call fcn.004322c0
mov ecx, dword [0x5e1c7c]
dec esi
add ecx, dword [esp + 0xc]
mov dword [0x5e1c7c], ecx
mov edx, ecx
test esi, esi
jle 0x4988f0
mov eax, dword [0x5ed090]
jmp 0x498895
mov eax, dword [0x5ed070]
mov edx, dword [0x5ed074]
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp]
lea edx, [esp + 8]
sub eax, dword [esp + 4]
mov dword [esp + 8], eax
push 0x5ed0d8
push edx
push ebx
push edi
call fcn.00478080
add esp, 0x164
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x34
mov dword [esp], ecx
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
jmp 0x498642
test ecx, ecx
jle 0x49854f
mov dword [esp + 0x5c], edi
mov esi, dword [ebp + 0x20]
mov dword [0x5ed08c], ecx
movsd xmm1, qword [0x5e1c70]
jmp 0x49857e
pxor xmm1, xmm1
jmp 0x49857e
xor ecx, ecx
jmp 0x497b47
xor ecx, ecx
jmp 0x497abe
mov eax, dword [0x5ed044]
mov edx, dword [0x5ecfbc]
mov ecx, dword [0x5ecfc0]
movsd qword [0x5ecfd8], xmm1
mov dword [0x5eca40], 0x39
mov dword [0x5eca44], eax
mov dword [0x5eca48], 2
mov dword [0x5ecfc8], edx
mov dword [0x5ecfcc], ecx
jmp 0x497ba7
mov esi, dword [esp + 0x5c]
mov dword [esi], 0xffffffdd
add esp, 0x164
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x34
mov esi, dword [esp + 0x5c]
mov dword [esi], 0xffffffde
add esp, 0x164
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x34
mov esi, ebx
mov dword [esi], 0xffffffda
add esp, 0x164
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x34
mov dword [esp + 0x5c], ebx
jmp 0x497f0e
mov esi, dword [esp + 0x5c]
mov dword [esi], 0xffffffe4
add esp, 0x164
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x34