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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x406e4b
sub esp, 0x70
mov eax, dword [esp + 0x74]
test eax, eax
je 0x406e26
mov ecx, dword [eax + 8]
cmp ecx, 0xb31a546d
ja 0x406aea
cmp ecx, 0x7925028c
ja 0x406948
cmp ecx, 0x2ea27ffb
ja 0x406871
cmp ecx, 0x13ff06c5
jne 0x406862
lea edx, [0x7d17a0]
cmp edx, eax
jne 0x406854
mov edx, dword [esp + 0x78]
movzx ebx, byte [edx]
je 0x406837
cmp ecx, 0x2ea27ffb
jne 0x40678f
lea ecx, [0x7d1e20]
cmp ecx, eax
jne 0x40682f
movsd xmm0, qword [edx]
je 0x40680d
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004066c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x6c], ecx
call fcn.0042a7b0
lea eax, [0x84994b]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0042b030
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.0042b030
lea eax, [0x8499b1]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.0042b030
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
call fcn.0042b170
call fcn.0042a820
add esp, 0x70
ret
movsd qword [esp + 0x60], xmm0
call fcn.0042a7b0
movsd xmm0, qword [esp + 0x60]
movsd qword [esp], xmm0
call fcn.0042aa60
call fcn.0042a820
jmp 0x406809
xorps xmm0, xmm0
jmp 0x40678d
mov byte [esp + 0x13], bl
call fcn.0042a7b0
movzx eax, byte [esp + 0x13]
mov byte [esp], al
call fcn.0042aa00
call fcn.0042a820
jmp 0x406809
mov edx, dword [esp + 0x78]
mov ebx, 0
jmp 0x40676d
cmp ecx, 0x2ea27ffb
mov edx, dword [esp + 0x78]
jmp 0x406779
cmp ecx, 0x663e425f
jne 0x406939
lea edx, [0x7d68a0]
cmp edx, eax
jne 0x40692b
mov edx, dword [esp + 0x78]
movzx ebx, byte [edx]
je 0x406900
cmp ecx, 0x7925028c
jne 0x40678f
lea ecx, [0x7d1860]
cmp ecx, eax
jne 0x4068f8
movss xmm0, dword [edx + 4]
movss xmm1, dword [edx]
jne 0x40678f
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x28], xmm0
call fcn.0042a7b0
movss xmm0, dword [esp + 0x18]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x28]
cvtss2sd xmm0, xmm0
movsd qword [esp + 8], xmm0
call fcn.0042acd0
call fcn.0042a820
jmp 0x406809
xorps xmm1, xmm1
xorps xmm0, xmm0
jmp 0x4068b3
mov byte [esp + 0x11], bl
call fcn.0042a7b0
movzx eax, byte [esp + 0x11]
movzx eax, al
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0042ad50
call fcn.0042a820
jmp 0x406809
mov edx, dword [esp + 0x78]
mov ebx, 0
jmp 0x406892
cmp ecx, 0x7925028c
mov edx, dword [esp + 0x78]
jmp 0x40689a
cmp ecx, 0x963f9bff
ja 0x406a1e
cmp ecx, 0x86318d2e
jne 0x406a0f
lea edx, [0x7d6860]
cmp edx, eax
jne 0x4069fc
mov edx, dword [esp + 0x78]
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
je 0x4069d1
cmp ecx, 0x963f9bff
jne 0x40678f
lea ecx, [0x7d5ca0]
cmp ecx, eax
jne 0x4069c5
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
jne 0x40678f
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], ecx
call fcn.0042a7b0
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call fcn.0042ae80
call fcn.0042a820
jmp 0x406809
mov ebx, 0
mov ecx, 0
jmp 0x406994
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], ebp
call fcn.0042a7b0
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.0042ad50
call fcn.0042a820
jmp 0x406809
mov edx, dword [esp + 0x78]
mov ebx, 0
mov ebp, 0
jmp 0x406977
cmp ecx, 0x963f9bff
mov edx, dword [esp + 0x78]
jmp 0x40697f
cmp ecx, 0xb0c23ed3
jne 0x406adb
lea edx, [0x7d1de0]
cmp edx, eax
jne 0x406acf
mov edx, dword [esp + 0x78]
movss xmm0, dword [edx]
je 0x406aa6
cmp ecx, 0xb31a546d
jne 0x40678f
lea ecx, [0x7d1820]
cmp ecx, eax
jne 0x406a9e
movsd xmm0, qword [edx + 8]
movsd xmm1, qword [edx]
jne 0x40678f
movsd qword [esp + 0x58], xmm0
movsd qword [esp + 0x50], xmm1
call fcn.0042a7b0
movsd xmm0, qword [esp + 0x50]
movsd qword [esp], xmm0
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 8], xmm0
call fcn.0042acd0
call fcn.0042a820
jmp 0x406809
xorps xmm0, xmm0
xorps xmm1, xmm1
jmp 0x406a61
movss dword [esp + 0x34], xmm0
call fcn.0042a7b0
movss xmm0, dword [esp + 0x34]
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.0042aa60
call fcn.0042a820
jmp 0x406809
mov edx, dword [esp + 0x78]
xorps xmm0, xmm0
jmp 0x406a40
cmp ecx, 0xb31a546d
mov edx, dword [esp + 0x78]
jmp 0x406a48
cmp ecx, 0xd04ae83d
ja 0x406c5e
cmp ecx, 0xbd4ad792
ja 0x406bac
cmp ecx, 0xbbad4102
jne 0x406b9d
lea edx, [0x7d5c60]
cmp edx, eax
jne 0x406b92
mov edx, dword [esp + 0x78]
mov ebx, dword [edx]
je 0x406b6c
cmp ecx, 0xbd4ad792
jne 0x40678f
lea ecx, [0x7d68e0]
cmp ecx, eax
jne 0x406b65
mov ecx, dword [edx]
jne 0x40678f
mov dword [esp + 0x40], ecx
call fcn.0042a7b0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0042ad50
call fcn.0042a820
jmp 0x406809
mov ecx, 0
jmp 0x406b38
mov dword [esp + 0x44], ebx
call fcn.0042a7b0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.0042ae80
call fcn.0042a820
jmp 0x406809
mov edx, dword [esp + 0x78]
mov ebx, 0
jmp 0x406b1e
cmp ecx, 0xbd4ad792
mov edx, dword [esp + 0x78]
jmp 0x406b26
cmp ecx, 0xcc06c027
jne 0x406c4f
lea edx, [0x7d5ce0]
cmp edx, eax
jne 0x406c41
mov edx, dword [esp + 0x78]
movzx ebx, byte [edx]
je 0x406c17
cmp ecx, 0xd04ae83d
jne 0x40678f
lea ecx, [0x7d6820]
cmp ecx, eax
jne 0x406c10
mov ecx, dword [edx]
jne 0x40678f
mov dword [esp + 0x38], ecx
call fcn.0042a7b0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0042ad50
call fcn.0042a820
jmp 0x406809
mov ecx, 0
jmp 0x406be3
mov byte [esp + 0x12], bl
call fcn.0042a7b0
movzx eax, byte [esp + 0x12]
movsx eax, al
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.0042ae80
call fcn.0042a820
jmp 0x406809
mov edx, dword [esp + 0x78]
mov ebx, 0
jmp 0x406bc9
cmp ecx, 0xd04ae83d
mov edx, dword [esp + 0x78]
jmp 0x406bd1
cmp ecx, 0xe0ff5cb4
ja 0x406d28
cmp ecx, 0xd5b87712
jne 0x406d19
lea edx, [0x7d67a0]
cmp edx, eax
jne 0x406d0b
mov edx, dword [esp + 0x78]
mov ebx, dword [edx]
je 0x406ce4
cmp ecx, 0xe0ff5cb4
jne 0x40678f
lea ecx, [0x7d65e0]
cmp ecx, eax
jne 0x406cd8
mov ecx, dword [edx + 4]
mov ebx, dword [edx]
jne 0x40678f
mov dword [esp + 0x68], ebx
mov dword [esp + 0x24], ecx
call fcn.0042a7b0
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
call fcn.0042b030
call fcn.0042a820
jmp 0x406809
mov ebx, 0
mov ecx, 0
jmp 0x406ca7
mov dword [esp + 0x48], ebx
call fcn.0042a7b0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0042ad50
call fcn.0042a820
jmp 0x406809
mov edx, dword [esp + 0x78]
mov ebx, 0
jmp 0x406c8a
cmp ecx, 0xe0ff5cb4
mov edx, dword [esp + 0x78]
jmp 0x406c92
cmp ecx, 0xecd580ce
jne 0x406e1d
lea edx, [0x7d5c20]
cmp edx, eax
jne 0x406e0f
mov edx, dword [esp + 0x78]
movzx ebx, word [edx]
je 0x406de4
cmp ecx, 0xeff20ea0
jne 0x406d66
lea ebx, [0x7d67e0]
cmp ebx, eax
jne 0x406ddd
movzx ebx, word [edx]
je 0x406db1
cmp ecx, 0xf75371fa
jne 0x40678f
lea ecx, [0x7d5be0]
cmp ecx, eax
jne 0x406daa
mov ecx, dword [edx]
jne 0x40678f
mov dword [esp + 0x3c], ecx
call fcn.0042a7b0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.0042ae80
call fcn.0042a820
jmp 0x406809
mov ecx, 0
jmp 0x406d7e
mov word [esp + 0x16], bx
call fcn.0042a7b0
movzx eax, word [esp + 0x16]
movzx eax, ax
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0042ad50
call fcn.0042a820
jmp 0x406809
mov ebx, 0
jmp 0x406d64
mov word [esp + 0x14], bx
call fcn.0042a7b0
movzx eax, word [esp + 0x14]
movsx eax, ax
mov dword [esp], eax
sar eax, 0x1f
mov dword [esp + 4], eax
call fcn.0042ae80
call fcn.0042a820
jmp 0x406809
mov edx, dword [esp + 0x78]
mov ebx, 0
jmp 0x406d49
mov edx, dword [esp + 0x78]
jmp 0x406d4f
call fcn.0042a7b0
lea eax, [0x849feb]
mov dword [esp], eax
mov dword [esp + 4], 3
call fcn.0042b030
call fcn.0042a820
jmp 0x406809
call fcn.00451680
jmp fcn.00406700