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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x7c
mov eax, dword [0x21e9fa0]
push 0x4fa478
lea edx, [eax*8 + 0x5e4e230]
push edx
call fcn.004188d0
fstp st(0)
mov eax, dword [0x21e9fa0]
push 0x4fa480
lea edx, [eax*8 + 0x5e4e230]
push edx
call fcn.004188d0
fstp qword [esp + 0x74]
add esp, 0x10
fld qword [esp + 0x64]
mov ebp, dword [0x21e9fa0]
mov esi, dword [esp + 0xb4]
mov dword [esp + 0xc], 0x21ea790
mov edi, dword [esp + 0xb8]
lea ecx, [ebp*8 + 0x5e4e230]
mov dword [esp + 0x10], 0x21ea798
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x14], 0x21ea7a0
mov dword [esp + 0x18], 0x21ea7a8
mov dword [esp + 0x1c], 0x21ea7b0
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
fstp qword [0x21ea7b8]
mov dword [esp + 0x2c], 0xc
call fcn.0042e18c
mov eax, dword [esp + 0xb0]
mov edi, 0x2020
movq xmm0, qword [0x4fa948]
movq xmm1, qword [0x4fa9a8]
movq xmm2, qword [0x4fa950]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], str.SUBCRITICAL
movq qword [esp + 0x10], xmm1
mov esi, dword [esp + 0xa0]
mov dword [0x21ea810], 0xffffffff
mov word [0x21ea814], di
mov edi, 0x20
mov byte [0x21ea816], 0x20
mov dword [ebx], 0
movq qword [esp + 0x18], xmm2
call fcn.00449e00
movq xmm1, qword [0x4fa960]
mov ebp, eax
mov eax, dword [esp + 0xb0]
movq xmm0, qword [0x4fa948]
movq xmm2, qword [0x4fa950]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4fab7c
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm2
call fcn.00449e00
test ebp, ebp
jne 0x42eba8
test eax, eax
je 0x42ec34
movsd xmm0, qword [esi]
comisd xmm0, xmmword [0x4fa968]
jbe 0x42ebcf
mov eax, 0x6176
mov edi, 0x70
mov word [0x21ea814], ax
mov byte [0x21ea816], 0x70
jmp 0x42ec34
pxor xmm1, xmm1
comisd xmm0, xmm1
jb 0x42ebf2
mov eax, 0x7032
mov edi, 0x68
mov word [0x21ea814], ax
mov byte [0x21ea816], 0x68
jmp 0x42ec34
push 0x4fa478
push dword [esp + 0x94]
call fcn.004163e0
push 0x4fa478
push 0x21ea7c0
fstp qword [0x21ea7c0]
call fcn.004181e0
fstp st(0)
add esp, 0x10
mov eax, 0x696c
mov edi, 0x71
mov word [0x21ea814], ax
mov byte [0x21ea816], 0x71
movzx edx, byte [0x21ea814]
movzx eax, byte [0x21ea815]
shl edx, 0x10
shl eax, 8
or edx, eax
or edx, edi
mov ebp, dword [esp + 0x98]
cmp edx, 0x766170
jne 0x42ef00
mov eax, dword [esp + 0x90]
movsd xmm0, qword [esp + 0x64]
comisd xmm0, xmmword [eax]
jae 0x42ec8a
mov eax, dword [0x21e9fa0]
movsd xmm1, qword [eax*8 + 0x5e4e230]
movsd qword [0x21ea7c8], xmm1
jmp 0x42ecb0
push 0x4fa480
push dword [esp + 0x94]
call fcn.004163e0
fstp qword [esp + 0x6c]
movsd xmm1, qword [esp + 0x6c]
add esp, 8
movsd qword [0x21ea7c8], xmm1
divsd xmm1, qword [0x4fa998]
movsd qword [0x21ea7d0], xmm1
addsd xmm1, xmm1
push esi
movsd xmm0, qword [0x4fa940]
push 0x21ea7d0
movsd qword [0x21ea7d8], xmm0
movsd qword [0x21ea7e0], xmm1
call fcn.004188d0
fstp qword [esp + 0x74]
push esi
push 0x21ea7e0
movsd xmm0, qword [esp + 0x7c]
movsd qword [0x21ea7e8], xmm0
call fcn.004188d0
fstp qword [esp + 0x84]
movsd xmm0, qword [esp + 0x84]
push 0x4fa480
push 0x21ea7d0
movsd qword [0x21ea7f0], xmm0
call fcn.004188d0
fstp st(0)
push 0x4fa480
push 0x21ea7e0
call fcn.004188d0
fstp st(0)
movsd xmm3, qword [0x21ea7d0]
lea edx, [esp + 0x84]
movsd xmm4, qword [0x21ea7e0]
movsd xmm1, qword [edx + 8]
subsd xmm4, xmm3
movsd xmm0, qword [edx + 0x10]
mov eax, dword [esp + 0xb0]
subsd xmm0, xmm1
divsd xmm4, xmm0
movsd xmm2, qword [eax]
mov dword [ebx], 5
subsd xmm2, xmm1
mulsd xmm4, xmm2
addsd xmm4, xmm3
movsd qword [edx], xmm4
push 0x21ea7c8
push 0x21ea7d8
push edx
call fcn.004489e0
add esp, 0x2c
fstp qword [ebp]
movq xmm0, qword [0x4fa958]
mov edi, 0xffffffff
mov ebx, dword [esp + 0xb4]
push esi
push ebp
call fcn.004188d0
add esp, 8
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x90]
mov dword [esp], ebp
mov dword [esp + 4], ecx
lea ecx, [esp + 0x74]
mov dword [esp + 8], 0x21ea7f8
mov edx, dword [eax]
mov eax, 0x4fa488
mov dword [esp + 0xc], 0x4fa490
dec edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x21ea7c8
mov dword [esp + 0x18], 0x21ea7d8
mov dword [ecx], edx
mov edx, 0x4fa498
mov dword [esp + 0x1c], 0x4fa49c
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0x52516c
mov dword [esp + 0x38], 0x21ea800
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 0x4fab80
mov dword [esp + 0x44], 0x4fab88
mov dword [esp + 0x48], 0x4fab98
mov dword [esp + 0x4c], 0x21ea6a0
mov dword [esp + 0x50], 0xc
mov dword [esp + 0x54], 6
mov dword [esp + 0x58], 0xc
mov dword [esp + 0x5c], 6
fstp qword [0x21ea7f8]
mov dword [esp + 0x60], 0x50
call fcn.004415b0
cmp eax, 1
je 0x42edb6
movq xmm0, qword [0x4fa958]
movq xmm1, qword [0x4fa960]
mov dword [esp], 0x21ea6a0
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4faba0
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm1
call fcn.00449e00
test eax, eax
je 0x42f3ab
test edi, 1
je 0x42f41a
movsd xmm0, qword [0x21ea7d8]
xor edi, edi
movsd qword [ebp], xmm0
mov dword [0x21ea810], 0
jmp 0x42edb6
cmp edx, 0x327068
je 0x42f398
cmp edx, 0x6c6971
jne 0x42f0d6
mov eax, dword [0x21e9fa0]
movsd xmm0, qword [0x21ea7c0]
movsd qword [0x21ea7d8], xmm0
movsd xmm1, qword [eax*8 + 0x5e4e230]
lea edx, [eax*8 + 0x5e4e230]
movsd qword [0x21ea7c8], xmm1
subsd xmm1, xmm0
divsd xmm1, qword [0x21ea798]
mulsd xmm1, qword [esi]
push edx
push 0x21ea7c0
push ebp
addsd xmm1, xmm0
movsd qword [ebp], xmm1
call fcn.004489e0
add esp, 0xc
fstp qword [ebp]
mov ebx, dword [esp + 0xb8]
mov edi, dword [esp + 0x90]
push esi
push ebp
call fcn.004188d0
add esp, 8
mov dword [esp], ebp
mov edx, 0x4fa488
mov dword [esp + 4], edi
mov ecx, 0x4fa498
mov dword [esp + 8], 0x21ea7f8
mov dword [esp + 0xc], 0x4fa490
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0x21ea7c8
mov dword [esp + 0x18], 0x21ea7d8
mov dword [esp + 0x1c], 0x4fa49c
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov eax, dword [ebx]
mov dword [esp + 0x28], edx
dec eax
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0x52516c
mov dword [esp + 0x38], 0x21ea800
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], 0x4faba4
mov dword [esp + 0x44], 0x4fabac
mov dword [esp + 0x48], 0x4fabbc
mov dword [esp + 0x4c], 0x21ea6a0
mov dword [esp + 0x50], 0xc
mov dword [esp + 0x54], 6
mov dword [esp + 0x58], 0xc
mov dword [esp + 0x5c], 6
fstp qword [0x21ea7f8]
mov dword [esp + 0x60], 0x50
call fcn.004415b0
cmp eax, 1
je 0x42ef7e
movq xmm0, qword [0x4fa958]
movq xmm1, qword [0x4fa960]
mov dword [esp], 0x21ea6a0
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4fabc4
movq qword [esp + 0x10], xmm1
mov ebx, dword [esp + 0xbc]
movq qword [esp + 0x18], xmm1
call fcn.00449e00
test eax, eax
je 0x42f3ab
movsd xmm1, qword [ebp]
movsd xmm0, qword [0x21ea7d8]
comisd xmm0, xmm1
ja 0x42f0bd
comisd xmm1, xmmword [0x21ea7c8]
jbe 0x42f0cb
mov dword [ebx], 1
add esp, 0x7c
pop ebp
pop ebx
pop edi
pop esi
ret
mov dword [ebx], 2
jmp 0x42f3ab
mov eax, dword [esp + 0xb0]
movq xmm0, qword [0x4fa948]
movq xmm1, qword [0x4fa950]
mov dword [esp], eax
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4fabc8
movq qword [esp + 0x10], xmm0
movq qword [esp + 0x18], xmm1
call fcn.00449e00
test eax, eax
je 0x42f3ab
mov eax, dword [0x21e9fa0]
movsd xmm1, qword [0x4fa9a0]
movsd xmm0, qword [eax*8 + 0x5e4e170]
mulsd xmm1, xmm0
movsd xmm2, qword [eax*8 + 0x5e4e230]
movsd xmm3, qword [eax*8 + 0x5e4e188]
movsd qword [esp + 0x6c], xmm0
movsd qword [esp + 0x74], xmm2
movsd qword [esp], xmm3
movsd qword [0x21ea7c8], xmm1
movsd qword [0x21ea7d8], xmm2
mov dword [esp + 8], 0xa
call fcn.004c1220
push esi
push 0x21ea7e0
fstp qword [esp + 0x6c]
movsd xmm0, qword [esp + 0x6c]
movsd xmm1, qword [esp + 0x7c]
mulsd xmm1, xmm0
minsd xmm1, qword [esp + 0x74]
movsd qword [0x21ea7e0], xmm1
call fcn.004188d0
fstp qword [esp + 0x74]
mov eax, dword [0x21e9fa0]
push esi
movsd xmm0, qword [esp + 0x78]
movsd qword [0x21ea7f0], xmm0
lea edx, [eax*8 + 0x5e4e230]
push edx
call fcn.004188d0
fstp qword [esp + 0x74]
movsd xmm1, qword [esp + 0x74]
push 0x21ea7c8
mov eax, dword [0x21e9fa0]
push 0x21ea7d8
push ebp
movsd xmm3, qword [eax*8 + 0x5e4e230]
movsd xmm4, qword [0x21ea7e0]
movsd xmm0, qword [esp + 0x88]
subsd xmm4, xmm3
subsd xmm0, xmm1
divsd xmm4, xmm0
mov edx, dword [esp + 0xac]
movsd qword [0x21ea808], xmm1
movsd xmm2, qword [edx]
subsd xmm2, xmm1
mulsd xmm4, xmm2
addsd xmm4, xmm3
movsd qword [ebp], xmm4
call fcn.004489e0
add esp, 0x1c
mov dword [ebx], 6
mov edi, 0xffffffff
fstp qword [ebp]
movq xmm0, qword [0x4fa958]
mov ebx, dword [esp + 0xb4]
push esi
push ebp
call fcn.004188d0
add esp, 8
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x90]
mov dword [esp], ebp
mov dword [esp + 4], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 8], 0x21ea7f8
mov edx, dword [eax]
mov eax, 0x4fa488
mov dword [esp + 0xc], 0x4fa490
dec edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x21ea7c8
mov dword [esp + 0x18], 0x21ea7d8
mov dword [ecx], edx
mov edx, 0x4fa498
mov dword [esp + 0x1c], 0x4fa49c
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 0x52516c
mov dword [esp + 0x38], 0x21ea800
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 0x4fabd8
mov dword [esp + 0x44], str.state_idx15
mov dword [esp + 0x48], 0x4fabf0
mov dword [esp + 0x4c], 0x21ea6a0
mov dword [esp + 0x50], 0xc
mov dword [esp + 0x54], 6
mov dword [esp + 0x58], 0xc
mov dword [esp + 0x5c], 6
fstp qword [0x21ea7f8]
mov dword [esp + 0x60], 0x50
call fcn.004415b0
cmp eax, 1
je 0x42f24c
movq xmm0, qword [0x4fa958]
movq xmm1, qword [0x4fa960]
mov dword [esp], 0x21ea6a0
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4fabf8
movq qword [esp + 0x10], xmm1
movq qword [esp + 0x18], xmm1
call fcn.00449e00
test eax, eax
je 0x42f3ab
test edi, 1
je 0x42f44b
mov eax, dword [0x21e9fa0]
xor edi, edi
mov dword [0x21ea810], 0
movsd xmm0, qword [eax*8 + 0x5e4e170]
movsd qword [ebp], xmm0
jmp 0x42f24c
push esi
push dword [esp + 0x94]
call fcn.004163e0
add esp, 8
fstp qword [ebp]
mov edx, 0x4fa4a0
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
mov ebx, dword [esp + 0x9c]
mov edi, dword [esp + 0xa4]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], eax
mov eax, 0x4fa498
mov dword [esp + 0x34], ecx
mov ecx, edx
call fcn.0042deec
add esp, 0x7c
pop ebp
pop ebx
pop edi
pop esi
ret
movsd xmm1, qword [ebp]
movsd xmm0, qword [0x21ea7d8]
mov ebx, dword [esp + 0xbc]
comisd xmm0, xmm1
ja 0x42f0bd
comisd xmm1, xmmword [0x21ea7c8]
ja 0x42f0bd
jmp 0x42f0cb
movsd xmm1, qword [ebp]
movsd xmm0, qword [0x21ea7d8]
mov ebx, dword [esp + 0xbc]
comisd xmm0, xmm1
ja 0x42f0bd
comisd xmm1, xmmword [0x21ea7c8]
ja 0x42f0bd
jmp 0x42f0cb