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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x128
mov eax, dword [0x1016a000]
xor eax, esp
mov dword [esp + 0x124], eax
push esi
push edi
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0xb4], eax
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0xc4], eax
mov eax, dword [ebp + 0x58]
mov dword [esp + 0xb8], eax
mov eax, dword [ebp + 0x50]
mov dword [esp + 0xb0], eax
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x48]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x2c]
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x8c], eax
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0x54]
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0x60]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x64]
mov esi, dword [ebp + 0x78]
mov dword [esp + 0x48], edx
mov edx, dword [ebp + 0x38]
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x40], edx
mov edx, dword [ebp + 0x3c]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x6c], eax
mov edi, dword [ebp + 8]
mov dword [esp + 0xc], edi
test esi, esi
jne 0x5a04c4
mov esi, dword [0x1016c398]
test esi, esi
cmove esi, esi
test byte [ebp + 0x74], 1
je 0x5a0512
call fcn.00619c8c
sub eax, dword [0x1016c68c]
cmp eax, 0x12c
jge 0x5a0512
cmp esi, dword [0x1016c694]
jne 0x5a0512
mov dword [0x1016c68c], 0
call fcn.005a0371
mov ecx, dword [esp + 0x4c]
call fcn.005d8a21
pop edi
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.0060c402
mov esp, ebp
pop ebp
ret 0x74
call fcn.005a0371
cmp dword [ebp + 0x74], 0
mov dword [0x1016c694], esi
je 0x5a0988
lea eax, [esp + 0xf0]
xorps xmm0, xmm0
push eax
push dword [esi + 0x28]
movaps xmmword [esp + 0xf8], xmm0
call dword [0x101472b8]
lea eax, [esp + 0x104]
mov dword [esp + 0x104], 0x28
push eax
push 2
push 0x5f5e100
push 0x5f5e100
call dword [0x1014725c]
push eax
call dword [0x1014727c]
mov eax, dword [ebp + 0x74]
test al, 4
jne 0x5a06bc
movss xmm1, dword [esi + 0x10c]
ucomiss xmm1, dword [0x10156560]
movd xmm0, edi
lahf
test ah, 0x44
jp 0x5a0599
cvtdq2pd xmm0, xmm0
jmp 0x5a05bd
cvtdq2ps xmm0, xmm0
sub esp, 8
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0060fbc1
fstp qword [esp + 0x30]
movsd xmm0, qword [esp + 0x30]
add esp, 8
movss xmm1, dword [esi + 0x10c]
ucomiss xmm1, dword [0x10156560]
cvttsd2si eax, xmm0
movd xmm0, dword [esp + 0x10]
mov dword [esp + 0xc], eax
lahf
test ah, 0x44
jp 0x5a05e6
cvtdq2pd xmm0, xmm0
jmp 0x5a060a
cvtdq2ps xmm0, xmm0
sub esp, 8
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0060fbc1
fstp qword [esp + 0x30]
movsd xmm0, qword [esp + 0x30]
add esp, 8
movss xmm1, dword [esi + 0x10c]
ucomiss xmm1, dword [0x10156560]
cvttsd2si eax, xmm0
movd xmm0, dword [esp + 0x18]
mov dword [esp + 0x10], eax
lahf
test ah, 0x44
jp 0x5a0633
cvtdq2pd xmm0, xmm0
jmp 0x5a0657
cvtdq2ps xmm0, xmm0
sub esp, 8
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0060fbc1
fstp qword [esp + 0x30]
movsd xmm0, qword [esp + 0x30]
add esp, 8
movss xmm1, dword [esi + 0x10c]
ucomiss xmm1, dword [0x10156560]
cvttsd2si edi, xmm0
movd xmm0, dword [esp + 0x14]
lahf
mov dword [esp + 0x18], edi
test ah, 0x44
jp 0x5a068b
mov eax, dword [ebp + 0x74]
cvtdq2pd xmm0, xmm0
cvttsd2si ecx, xmm0
mov dword [esp + 0x14], ecx
jmp 0x5a06c4
cvtdq2ps xmm0, xmm0
sub esp, 8
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0060fbc1
mov eax, dword [ebp + 0x74]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm0, qword [esp + 0x28]
cvttsd2si ecx, xmm0
mov dword [esp + 0x14], ecx
jmp 0x5a06c4
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
test eax, 0x4000
je 0x5a06d2
add edi, dword [esi + 0x50]
mov dword [esp + 0x18], edi
test eax, 0x8000
je 0x5a06e0
add ecx, dword [esi + 0x54]
mov dword [esp + 0x14], ecx
mov edi, dword [0x101472a4]
test al, 0x10
je 0x5a0749
lea eax, [esp + 0xbc]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0xc0], xmm0
call edi
mov eax, dword [ebp + 0x74]
test al, 8
je 0x5a073a
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
add eax, edx
mov ecx, dword [esp + 0xbc]
add eax, ecx
cmp eax, dword [esp + 0x120]
mov eax, dword [ebp + 0x74]
jle 0x5a0732
mov edx, ecx
sub edx, dword [esp + 0x18]
mov dword [esp + 0xc], edx
jmp 0x5a0749
add edx, ecx
mov dword [esp + 0xc], edx
jmp 0x5a0749
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xbc]
mov dword [esp + 0xc], ecx
test al, 0x20
je 0x5a079b
lea eax, [esp + 0x28]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0x2c], xmm0
call edi
mov eax, dword [ebp + 0x74]
test al, 8
je 0x5a078f
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
lea eax, [edx + edi]
add eax, ecx
cmp eax, dword [esp + 0x124]
mov eax, dword [ebp + 0x74]
jle 0x5a0787
sub ecx, edx
sub ecx, edi
jmp 0x5a0797
add edi, ecx
mov dword [esp + 0x10], edi
jmp 0x5a079b
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0xc]
test al, 0x40
je 0x5a07b8
mov eax, dword [esi + 0x74]
add eax, edx
add ecx, eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0xf4]
test al, al
jns 0x5a07cf
mov eax, dword [esi + 0x78]
add eax, edi
add dword [esp + 0x10], eax
mov eax, dword [ebp + 0x74]
test eax, 0x100
je 0x5a07f2
mov eax, dword [esi + 0x74]
sub eax, dword [esp + 0x18]
add eax, dword [esi + 0x50]
mov edx, dword [esp + 0xf0]
add eax, edx
add ecx, eax
mov eax, dword [ebp + 0x74]
mov dword [esp + 0xc], ecx
test eax, 0x200
je 0x5a080c
mov eax, dword [esi + 0x54]
sub eax, dword [esp + 0x14]
add eax, dword [esi + 0x78]
add eax, edi
add dword [esp + 0x10], eax
mov eax, dword [ebp + 0x74]
test eax, 0x400
je 0x5a086b
mov ecx, dword [esi + 0x74]
mov edi, dword [esp + 0xf4]
test al, 8
je 0x5a0861
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 0x18]
add eax, ecx
add eax, edx
jns 0x5a085e
mov eax, dword [esi + 0x50]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x18]
add eax, dword [esp + 0x20]
add eax, edx
cmp eax, dword [esp + 0x120]
jge 0x5a085e
mov eax, dword [esp + 0x20]
add eax, edx
add dword [esp + 0xc], eax
mov eax, dword [ebp + 0x74]
jmp 0x5a086b
mov eax, dword [ebp + 0x74]
sub ecx, dword [esp + 0x18]
add ecx, edx
add dword [esp + 0xc], ecx
test eax, 0x800
je 0x5a08ca
mov ecx, dword [esi + 0x78]
test al, 8
je 0x5a08c0
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x14]
mov edx, dword [esp + 0xf0]
add eax, ecx
add eax, edi
jns 0x5a08bd
mov eax, dword [esi + 0x54]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x14]
add eax, dword [esp + 0x20]
add eax, edi
cmp eax, dword [esp + 0x124]
jge 0x5a08bd
mov eax, dword [esp + 0x20]
add eax, edi
add dword [esp + 0x10], eax
mov eax, dword [ebp + 0x74]
jmp 0x5a08ca
mov eax, dword [ebp + 0x74]
sub ecx, dword [esp + 0x14]
add ecx, edi
add dword [esp + 0x10], ecx
test eax, 0x1000
je 0x5a091e
mov ecx, dword [esi + 0x74]
test al, 8
je 0x5a0913
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 0x18]
mov edi, dword [esp + 0xf4]
add eax, ecx
add eax, edx
test eax, eax
jle 0x5a0913
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x18]
add eax, dword [esi + 0x50]
add eax, ecx
add eax, edx
cmp eax, dword [esp + 0x120]
jle 0x5a0913
sub ecx, dword [esp + 0x18]
add ecx, edx
add dword [esp + 0xc], ecx
jmp 0x5a091e
mov eax, dword [esi + 0x50]
add eax, ecx
add eax, edx
add dword [esp + 0xc], eax
mov edx, dword [ebp + 0x74]
test edx, 0x2000
je 0x5a0a3c
mov ecx, dword [esi + 0x78]
test dl, 8
mov edx, dword [esp + 0x10]
je 0x5a0972
mov eax, edx
sub eax, dword [esp + 0x14]
add eax, ecx
add eax, edi
test eax, eax
jle 0x5a0972
mov eax, dword [esp + 0x14]
add eax, edx
add eax, ecx
add eax, edi
add eax, dword [esi + 0x54]
cmp eax, dword [esp + 0x124]
jle 0x5a0972
sub ecx, dword [esp + 0x14]
add ecx, edi
mov edi, dword [esp + 0xc]
add edx, ecx
mov dword [esp + 0x10], edx
jmp 0x5a0a44
mov eax, dword [esi + 0x54]
add eax, ecx
add eax, edi
mov edi, dword [esp + 0xc]
add edx, eax
mov dword [esp + 0x10], edx
jmp 0x5a0a44
test esi, esi
je 0x5a0a40
movss xmm1, dword [esi + 0x10c]
ucomiss xmm1, dword [0x10156560]
movd xmm0, dword [esp + 0x18]
lahf
test ah, 0x44
jp 0x5a09b1
cvtdq2pd xmm0, xmm0
jmp 0x5a09d5
cvtdq2ps xmm0, xmm0
sub esp, 8
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0060fbc1
fstp qword [esp + 0x30]
movsd xmm0, qword [esp + 0x30]
add esp, 8
movss xmm1, dword [esi + 0x10c]
ucomiss xmm1, dword [0x10156560]
cvttsd2si eax, xmm0
movd xmm0, dword [esp + 0x14]
mov dword [esp + 0x18], eax
lahf
test ah, 0x44
jp 0x5a0a0a
mov edx, dword [esp + 0x10]
cvtdq2pd xmm0, xmm0
cvttsd2si ecx, xmm0
mov dword [esp + 0x14], ecx
jmp 0x5a0a48
cvtdq2ps xmm0, xmm0
sub esp, 8
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0060fbc1
mov edx, dword [esp + 0x18]
add esp, 8
fstp qword [esp + 0x28]
movsd xmm0, qword [esp + 0x28]
cvttsd2si ecx, xmm0
mov dword [esp + 0x14], ecx
jmp 0x5a0a48
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [0x1016c680]
test eax, eax
je 0x5a0a66
push 0x90
push ecx
push dword [esp + 0x20]
push edx
push edi
push 0xffffffffffffffff
push eax
call dword [0x101472c8]
mov edx, dword [esp + 0x4c]
xor edi, edi
mov dword [esp + 0x20], edi
test edx, edx
je 0x5a0abb
mov ecx, dword [edx + 4]
cmp ecx, 4
jl 0x5a0abb
mov eax, dword [edx]
cmp eax, 1
jge 0x5a0a8e
dec eax
mov edi, edx
mov dword [edx], eax
mov dword [esp + 0x20], edi
jmp 0x5a0abb
lea eax, [ecx + 8]
push eax
call fcn.0060c453
mov ecx, dword [esp + 0x50]
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
mov eax, dword [ecx + 4]
add eax, 8
push eax
push ecx
push edi
call fcn.0060f601
add esp, 0xc
mov dword [edi], 0xffffffff
mov edx, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], eax
test edx, edx
je 0x5a0b26
mov ecx, dword [edx + 4]
cmp ecx, 1
jl 0x5a0b20
mov eax, dword [edx]
cmp eax, 1
jge 0x5a0ae9
dec eax
mov dword [esp + 0x34], edx
mov dword [edx], eax
jmp 0x5a0b26
lea eax, [ecx + 8]
push eax
call fcn.0060c453
mov edx, dword [esp + 0x44]
add esp, 4
mov dword [esp + 0x34], eax
mov dword [eax], 0xffffffff
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
test ecx, ecx
jle 0x5a0b26
push ecx
lea ecx, [edx + 8]
add eax, 8
push ecx
push eax
call fcn.0060f601
add esp, 0xc
jmp 0x5a0b26
xor eax, eax
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x44]
test edx, edx
je 0x5a0b83
mov ecx, dword [edx + 4]
cmp ecx, 1
jl 0x5a0b7d
mov eax, dword [edx]
cmp eax, 1
jge 0x5a0b46
dec eax
mov dword [esp + 0x38], edx
mov dword [edx], eax
jmp 0x5a0b83
lea eax, [ecx + 8]
push eax
call fcn.0060c453
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [esp + 0x38], eax
mov dword [eax], 0xffffffff
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
test ecx, ecx
jle 0x5a0b83
push ecx
lea ecx, [edx + 8]
add eax, 8
push ecx
push eax
call fcn.0060f601
add esp, 0xc
jmp 0x5a0b83
xor eax, eax
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x48]
test edx, edx
je 0x5a0bda
mov ecx, dword [edx + 4]
cmp ecx, 4
jl 0x5a0bd4
mov eax, dword [edx]
cmp eax, 1
jge 0x5a0ba3
dec eax
mov dword [esp + 0x24], edx
mov dword [edx], eax
jmp 0x5a0bda
lea eax, [ecx + 8]
push eax
call fcn.0060c453
mov edx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x24], eax
mov ecx, dword [edx + 4]
add ecx, 8
push ecx
push edx
push eax
call fcn.0060f601
mov eax, dword [esp + 0x30]
add esp, 0xc
mov dword [eax], 0xffffffff
jmp 0x5a0bda
xor eax, eax
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x34]
test edx, edx
je 0x5a0bff
cmp dword [edx + 4], 0
jne 0x5a0c2a
mov eax, dword [edx]
cmp eax, 1
jge 0x5a0bff
add eax, 1
mov dword [edx], eax
jne 0x5a0bff
push edx
call fcn.0060c410
add esp, 4
push 0x10
call fcn.0060c453
mov edx, eax
add esp, 4
mov dword [esp + 0x34], edx
mov dword [edx], 0xffffffff
mov dword [edx + 4], 8
mov dword [edx + 8], 0x9c4
mov dword [edx + 0xc], 0x7e3
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x5a0c4f
cmp dword [ecx + 4], 4
jge 0x5a0c7a
mov eax, dword [ecx]
cmp eax, 1
jge 0x5a0c4f
add eax, 1
mov dword [ecx], eax
jne 0x5a0c4f
push ecx
call fcn.0060c410
add esp, 4
push 0x10
call fcn.0060c453
mov ecx, eax
add esp, 4
mov dword [esp + 0x38], ecx
mov dword [ecx], 0xffffffff
mov dword [ecx + 4], 8
mov dword [ecx + 8], 0xa27
mov dword [ecx + 0xc], 0x7e3
mov edx, dword [esp + 0x24]
test edx, edx
je 0x5a0ca3
cmp dword [edx + 4], 0
jne 0x5a0cc8
mov eax, dword [edx]
test eax, eax
jns 0x5a0ca3
add eax, 1
mov dword [edx], eax
jne 0x5a0ca3
push 0xac
push edx
call fcn.0060c445
add esp, 8
push 0xc
call fcn.0060c453
mov edx, eax
add esp, 4
mov dword [esp + 0x24], edx
mov dword [edx], 0xffffffff
mov dword [edx + 4], 4
mov eax, dword [0x1014e3ec]
mov dword [edx + 8], eax
mov ecx, dword [esp + 0x54]
or eax, 0xffffffff
mov edx, dword [esp + 0xb0]
test ecx, ecx
cmovne eax, ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x68], eax
test ecx, ecx
mov eax, 0xe60088ff
cmovne eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x64], eax
test ecx, ecx
mov eax, 0x64
cmovne eax, ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x40], eax
test ecx, ecx
mov eax, 0x23
cmovne eax, ecx
test edx, edx
mov dword [esp + 0x44], eax
mov ecx, 0xfe000000
mov eax, ecx
cmovne eax, edx
cmp dword [esp + 0x5c], 0
mov edx, 0xe60088ff
cmove eax, edx
cmp dword [esp + 0x58], 0
mov edx, dword [esp + 0xb4]
cmove eax, ecx
test edx, edx
mov dword [esp + 0x54], eax
mov eax, 0xff
cmovne eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x60]
test eax, eax
cmovne ecx, eax
mov eax, dword [0x1016c680]
mov dword [esp + 0x50], ecx
test eax, eax
je 0x5a0e1b
push 0x90
push dword [esp + 0x18]
push dword [esp + 0x20]
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push 0xffffffffffffffff
push eax
call dword [0x101472c8]
push dword [esp + 0x6c]
mov eax, dword [esp + 0x28]
push dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
push dword [esp + 0x60]
mov ecx, dword [0x1016c690]
push dword [esp + 0x68]
push dword [esp + 0x84]
push dword [esp + 0x58]
push dword [esp + 0x58]
push dword [esp + 0xa4]
push dword [esp + 0xac]
push dword [esp + 0x60]
push dword [esp + 0x8c]
push dword [esp + 0x94]
push dword [esp + 0x80]
push dword [esp + 0xa4]
push dword [esp + 0x8c]
push eax
push dword [esp + 0xb8]
mov eax, dword [esp + 0x78]
push dword [esp + 0xc0]
push dword [esp + 0xc8]
push edi
push eax
call fcn.005501c1
mov ecx, dword [0x1016c690]
jmp 0x5a0fff
cmp dword [0x1016d2f4], 0
jne 0x5a0ecc
push 0
call dword [0x101471b8]
push 0x1014e870
push eax
mov dword [0x1016d2f4], eax
mov dword [esp + 0xd0], 0xb
mov dword [esp + 0xd4], 0x100b6f20
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], eax
call dword [0x10147298]
push 0x7f00
push 0
mov dword [esp + 0xe4], eax
call dword [0x101472f8]
mov dword [esp + 0xe0], eax
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0x10152bfc
call dword [0x10147290]
test ax, ax
jne 0x5a0ecc
mov ecx, dword [esp + 0x4c]
call fcn.005d8a21
push 0
push dword [0x1016d2f4]
push 0
push 0
push dword [esp + 0x24]
push dword [esp + 0x2c]
push dword [esp + 0x28]
push dword [esp + 0x28]
push 0x80400000
push 0x10152bfc
push 0x10152bfc
push 0x88
call dword [0x10147288]
push 1
push 0x1014e838
push eax
mov dword [0x1016c680], eax
call dword [0x10147214]
push 0x93
push dword [esp + 0x18]
push dword [esp + 0x20]
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push 0xffffffffffffffff
push dword [0x1016c680]
call dword [0x101472c8]
push 0
push 0
push dword [esp + 0x74]
cmp dword [esp + 0x98], 0
push dword [esp + 0x54]
setne al
cmp dword [esp + 0x4c], 0
push dword [esp + 0x68]
movzx eax, al
push dword [esp + 0x70]
push dword [esp + 0x8c]
push dword [esp + 0x60]
push dword [esp + 0x60]
push dword [esp + 0xac]
push eax
setne al
movzx eax, al
push eax
push 0
push 0
push dword [esp + 0x9c]
mov eax, dword [esp + 0x60]
push dword [esp + 0xa4]
push dword [esp + 0x90]
push dword [esp + 0xb4]
push dword [esp + 0x9c]
push eax
push dword [esp + 0xc8]
mov eax, dword [esp + 0x88]
push dword [esp + 0xd0]
push dword [esp + 0xd8]
push edi
push eax
mov eax, dword [esp + 0x9c]
push 0
push eax
push 0
push 0
push 0xff
push 0
push 1
push 0
push 0
push 0
push 0
push 0
push 0
push dword [0x1016c680]
push 0
call fcn.0054d4f1
mov ecx, eax
mov dword [0x1016c690], ecx
test byte [ebp + 0x74], 2
jne 0x5a1020
test esi, esi
je 0x5a1020
movss xmm0, dword [esi + 0x10c]
mulss xmm0, dword [0x10156754]
cvttss2si eax, xmm0
push eax
jmp 0x5a1022
push 0x64
push ecx
call fcn.005371a1
mov eax, dword [0x1016c39c]
push dword [0x1016c690]
mov dword [esp + 0x64], eax
call fcn.005361a1
push 0x50
push dword [esp + 0x18]
push dword [esp + 0x20]
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push 0xffffffffffffffff
push dword [0x1016c680]
call dword [0x101472c8]
mov eax, dword [esp + 0x84]
test eax, eax
je 0x5a107c
push edi
push dword [0x1016c678]
push 0
push 0
push 1
push dword [0x1016c690]
call eax
call dword [0x10147294]
push 0
push 0x1014e898
mov esi, eax
call dword [0x1014729c]
cmp eax, esi
je 0x5a10a9
test esi, esi
je 0x5a10be
push 0x1014d1bc
push esi
call dword [0x101472b4]
test eax, eax
jne 0x5a10be
push dword [0x1016c680]
call dword [0x101472a0]
mov eax, dword [0x10147294]
call eax
mov esi, eax
mov byte [0x1016c4d5], 1
mov byte [0x1016c4d7], 1
mov byte [esp + 0x1f], 0
call fcn.00619c8c
push 0
push 0
mov dword [0x1016c68c], eax
xorps xmm0, xmm0
push 0
lea eax, [esp + 0x9c]
movaps xmmword [esp + 0x9c], xmm0
push eax
movq qword [esp + 0xb0], xmm0
mov dword [esp + 0xb8], 0
call dword [0x1014726c]
test eax, eax
je 0x5a1276
cmp eax, 0xffffffff
je 0x5a1276
cmp byte [0x1016c4d5], 0
je 0x5a1271
cmp dword [esp + 0x94], 0x3124
jne 0x5a114a
cmp dword [esp + 0x98], 0x3125
je 0x5a1276
call dword [0x10147294]
mov ecx, dword [0x1016c680]
cmp eax, esi
je 0x5a1162
cmp eax, ecx
jne 0x5a1259
mov eax, dword [esp + 0x94]
cmp eax, 0x20a
jne 0x5a11b0
cmp dword [esp + 0x3c], 0
je 0x5a1259
cmp ecx, dword [esp + 0x90]
je 0x5a121f
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov edx, dword [0x1016c690]
push ecx
push eax
push ecx
push eax
mov eax, dword [edx + 0x44]
push 0x29e
push edx
call eax
jmp 0x5a123b
cmp eax, 0x201
je 0x5a11df
cmp eax, 0x204
je 0x5a11df
cmp eax, 0xa1
je 0x5a11df
cmp eax, 0xa4
je 0x5a11df
cmp eax, 0x7b
je 0x5a11df
cmp eax, 0x206
je 0x5a11df
cmp eax, 0x203
jne 0x5a11e8
cmp ecx, dword [esp + 0x90]
jne 0x5a1259
cmp eax, 0x100
jne 0x5a121f
mov eax, dword [esp + 0x98]
cmp eax, 0xd
jne 0x5a1202
cmp dword [esp + 0x3c], 0
jmp 0x5a121d
cmp eax, 0x26
jne 0x5a120e
cmp dword [esp + 0x3c], 0
jmp 0x5a121d
cmp eax, 0x28
jne 0x5a121a
cmp dword [esp + 0x3c], 0
jmp 0x5a121d
cmp eax, 9
je 0x5a1260
lea eax, [esp + 0x90]
push eax
call dword [0x101472f4]
lea eax, [esp + 0x90]
push eax
call dword [0x101472e0]
push 0
push 0
push 0
lea eax, [esp + 0x9c]
push eax
call dword [0x1014726c]
test eax, eax
jne 0x5a1116
jmp 0x5a1276
mov byte [esp + 0x1f], 1
jmp 0x5a127c
cmp esi, ecx
je 0x5a127c
test esi, esi
je 0x5a127c
push esi
call dword [0x101472a0]
jmp 0x5a1276
mov byte [esp + 0x1f], 1
mov ecx, dword [0x1016c680]
push 0x93
push dword [esp + 0x18]
push dword [esp + 0x20]
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push 0xffffffffffffffff
push ecx
call dword [0x101472c8]
mov eax, dword [0x1016c690]
test eax, eax
je 0x5a12f6
cmp dword [eax + 0x2c], 0
jle 0x5a12f6
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], 9
push ecx
push eax
push 0x3fa
push dword [eax + 0x28]
mov dword [esp + 0x3c], 0
call dword [0x10147220]
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.005d8921
mov eax, dword [0x1016c690]
push 0
mov eax, dword [eax + 0x1bc]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call dword [eax + 0x38]
mov eax, dword [0x1016c690]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x5a1310
push edi
push 0x3124
push 0
push 0
push 2
push eax
call ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
cmp eax, 1
jge 0x5a132b
add eax, 1
mov dword [ecx], eax
jne 0x5a132b
push ecx
call fcn.0060c410
add esp, 4
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
cmp eax, 1
jge 0x5a1346
add eax, 1
mov dword [ecx], eax
jne 0x5a1346
push ecx
call fcn.0060c410
add esp, 4
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
cmp eax, 1
jge 0x5a1361
add eax, 1
mov dword [ecx], eax
jne 0x5a1361
push ecx
call fcn.0060c410
add esp, 4
cmp byte [esp + 0x1f], 0
mov byte [0x1016c4d5], 0
mov byte [0x1016c4d7], 0
je 0x5a13cd
mov eax, dword [esp + 0x90]
cmp eax, dword [0x1016c680]
je 0x5a13cd
push 0x1c
call fcn.0060c415
movups xmm0, xmmword [esp + 0x94]
add esp, 4
movups xmmword [eax], xmm0
movq xmm0, qword [esp + 0xa0]
push 0
push 0
push eax
push 0x100b5d80
movq qword [eax + 0x10], xmm0
mov ecx, dword [esp + 0xb8]
push 0
push 0
mov dword [eax + 0x18], ecx
call dword [0x10147064]
push eax
call dword [0x101471a4]
push dword [esp + 0x60]
call fcn.005361a1
test edi, edi
je 0x5a14c6
cmp dword [edi + 4], 1
jl 0x5a14c6
mov edx, dword [0x1016ce1c]
cmp edx, 0x9600000
jle 0x5a1455
mov ecx, dword [0x1016cbb0]
nop dword [eax + eax]
mov eax, dword [ecx*4 + 0x1016c950]
test eax, eax
je 0x5a143a
sub edx, dword [eax + 4]
add dword [eax], 1
mov dword [0x1016ce1c], edx
jne 0x5a142f
push eax
call fcn.0060c410
mov edx, dword [0x1016ce1c]
add esp, 4
mov ecx, dword [0x1016cbb0]
mov dword [ecx*4 + 0x1016c950], 0
inc ecx
xor esi, esi
mov eax, ecx
cmp eax, 0x96
cmovg ecx, esi
mov dword [0x1016cbb0], ecx
cmp edx, 0x9600000
jg 0x5a1401
mov esi, dword [0x1016c94c]
inc esi
mov dword [0x1016c94c], esi
cmp esi, 0x96
jle 0x5a1476
mov dword [0x1016c94c], 0
xor esi, esi
mov eax, dword [esi*4 + 0x1016c950]
test eax, eax
je 0x5a149e
sub edx, dword [eax + 4]
add dword [eax], 1
mov dword [0x1016ce1c], edx
jne 0x5a149e
push eax
call fcn.0060c410
mov edx, dword [0x1016ce1c]
add esp, 4
add edx, dword [edi + 4]
mov eax, edi
mov dword [esi*4 + 0x1016c950], edi
mov dword [0x1016ce1c], edx
pop edi
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.0060c402
mov esp, ebp
pop ebp
ret 0x74
mov ecx, dword [esp + 0x12c]
xor edi, edi
mov eax, edi
pop edi
pop esi
xor ecx, esp
call fcn.0060c402
mov esp, ebp
pop ebp
ret 0x74