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

Disassembly:
push 0xffffffffffffffff
push 0x847ea8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe0
push ebp
push esi
push edi
mov edi, ecx
mov cx, word [edi + 0x22]
xor esi, esi
cmp cx, 0x1bb
mov dword [esp + 0x10], esi
je 0x6a14b4
cmp cx, 0x1e6
je 0x6a14b4
cmp cx, 0x196
je 0x6a14b4
cmp cx, 0x20c
je 0x6a14b4
cmp cx, 0x250
je 0x6a14b4
cmp cx, 0x212
jne 0x6a14c2
mov ax, word [edi + 0x86c]
mov word [edi + 0x86e], ax
test byte [edi + 0x36], 0xf8
je 0x6a1523
cmp byte [edi + 0x4a4], 2
jne 0x6a1eab
fld dword [esp + 0xfc]
fcomp dword [0x858b50]
fnstsw ax
test ah, 5
jnp 0x6a1eab
cmp cx, 0x1bb
je 0x6a155c
cmp cx, 0x1e6
je 0x6a155c
cmp cx, 0x196
je 0x6a155c
cmp cx, 0x20c
je 0x6a155c
cmp cx, 0x250
je 0x6a155c
cmp cx, 0x220
je 0x6a155c
cmp cx, 0x212
je 0x6a155c
jmp 0x6a1eab
mov ecx, dword [edi + 0x460]
test ecx, ecx
je 0x6a1eab
call fcn.005df8f0
test al, al
je 0x6a1eab
mov al, byte [0x96a8b0]
test al, al
jne 0x6a1eab
mov ecx, dword [edi + 0x460]
call fcn.00609560
mov esi, eax
mov dword [esp + 0x10], esi
mov ax, word [edi + 0x22]
cmp ax, 0x20c
je 0x6a1d75
cmp ax, 0x220
je 0x6a1d75
movsx ecx, ax
mov eax, dword [ecx*4 + 0xa9b0c8]
mov eax, dword [eax + 0x14]
mov ebp, dword [eax + 0x2c]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.006df3d0
test al, al
je 0x6a1eab
movsx eax, byte [edi + 0x48b]
fld dword [esp + 0xfc]
fcomp dword [0x858b50]
lea eax, [eax + eax*2]
shl eax, 4
add eax, 0xc1cc78
mov esi, dword [eax + 0x2c]
mov dword [esp + 0x40], eax
push ebx
fnstsw ax
xor bl, bl
test ah, 1
je 0x6a1606
mov eax, dword [esp + 0x14]
test eax, eax
je 0x6a15f0
mov ecx, eax
call fcn.0053fc10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fabs
fcomp dword [0x85862c]
fnstsw ax
test ah, 0x41
je 0x6a1606
mov ax, word [edi + 0x86c]
mov word [edi + 0x86e], ax
mov al, bl
pop ebx
jmp 0x6a1ead
fld dword [esp + 0x100]
mov cx, word [edi + 0x86c]
fcomp dword [0x858b50]
mov word [edi + 0x86e], cx
fnstsw ax
test ah, 1
jne 0x6a1648
movsx edx, word [0x8d314c]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [esp + 0x100]
call fcn.00821b40
jmp 0x6a1724
cmp word [edi + 0x22], 0x212
mov eax, dword [0x871008]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
jne 0x6a1691
mov ecx, ebx
call fcn.0053fc10
movsx ecx, ax
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fcomp dword [0x858b50]
fnstsw ax
test ah, 5
jp 0x6a1688
mov edx, dword [0x871018]
mov dword [esp + 0x1c], edx
jmp 0x6a1691
mov eax, dword [0x87101c]
mov dword [esp + 0x1c], eax
mov ecx, dword [0xb7cb5c]
mov dword [esp + 0x14], ecx
mov ecx, ebx
call fcn.0053fc10
movsx edx, ax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [esp + 0x14]
fmul dword [esp + 0x1c]
fmul dword [0x858b88]
call fcn.00821b40
movzx ecx, word [edi + 0x86c]
movsx eax, ax
add eax, ecx
jns 0x6a16d2
xor eax, eax
jmp 0x6a170d
mov edx, dword [0xb7cb5c]
mov ecx, ebx
mov dword [esp + 0x14], edx
call fcn.0053fc10
movsx eax, ax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul dword [esp + 0x14]
fmul dword [esp + 0x1c]
fmul dword [0x858b88]
call fcn.00821b40
movzx ecx, word [edi + 0x86c]
movsx eax, ax
add eax, ecx
movzx edx, ax
mov word [edi + 0x86c], ax
mov ax, word [0x8d314c]
movsx ecx, ax
cmp edx, ecx
jle 0x6a172b
mov word [edi + 0x86c], ax
xor ebx, ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov ax, word [edi + 0x22]
cmp ax, 0x1e6
mov dword [esp + 0xf8], ebx
jne 0x6a179c
cmp dword [edi + 0x698], ebx
je 0x6a179c
movzx edx, word [edi + 0x86c]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x871010]
push ecx
lea ecx, [esp + 0x88]
fstp dword [esp]
call fcn.0059b060
mov edi, dword [edi + 0x698]
mov eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x44]
mov edx, dword [edi + 0x48]
add edi, 0x40
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
jmp 0x6a18d2
cmp ax, 0x196
jne 0x6a17ef
cmp dword [edi + 0x594], 1
jne 0x6a17ef
cmp dword [edi + 0x6a0], ebx
je 0x6a17ef
movzx eax, word [edi + 0x86c]
mov dword [esp + 0x10], eax
push ecx
lea ecx, [esp + 0x88]
fild dword [esp + 0x14]
fmul dword [0x8d33a8]
fstp dword [esp]
call fcn.0059b060
mov edi, dword [edi + 0x6a0]
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
mov eax, dword [edi + 0x48]
add edi, 0x40
jmp 0x6a18c6
cmp ax, 0x250
jne 0x6a1845
cmp dword [edi + 0x6a8], ebx
je 0x6a1845
movzx ecx, word [edi + 0x86c]
mov dword [esp + 0x10], ecx
push ecx
lea ecx, [esp + 0x88]
fild dword [esp + 0x14]
fmul dword [0x8d33c0]
fstp dword [esp]
call fcn.0059b060
mov edi, dword [edi + 0x6a8]
mov edx, dword [edi + 0x40]
mov eax, dword [edi + 0x44]
mov ecx, dword [edi + 0x48]
add edi, 0x40
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
jmp 0x6a18d2
cmp ax, 0x1bb
jne 0x6a186d
cmp dword [edi + 0x698], ebx
je 0x6a186d
movzx edx, word [edi + 0x86c]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x87100c]
jmp 0x6a1769
cmp ax, 0x212
jne 0x6a18d2
cmp dword [edi + 0x698], ebx
je 0x6a18d2
movzx eax, word [edi + 0x86c]
mov dword [esp + 0x10], eax
push ecx
lea ecx, [esp + 0x88]
fild dword [esp + 0x14]
fmul dword [0x871014]
fstp dword [esp]
push ebx
push ebx
call fcn.0059af40
mov dword [esp + 0x2c], 0
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], 0
mov edx, dword [esp + 0x30]
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
xor edi, edi
cmp word [esi + 4], bx
mov dword [esp + 0x1c], 0xc47a0000
mov dword [esp + 0x14], 0x447a0000
jle 0x6a1bcd
mov edi, edi
mov ecx, dword [esi + 0x18]
cmp byte [ecx + edi*8 + 6], 0x41
jne 0x6a1bc0
mov edx, dword [ebp + 0x18]
movzx eax, word [edx + edi*8]
mov ecx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*2]
push edx
lea eax, [esp + 0x30]
push eax
call fcn.00411590
lea ecx, [esp + 0x74]
fld dword [esp + 0x3c]
push ecx
fsub dword [esp + 0x34]
lea edx, [esp + 0x90]
fld dword [esp + 0x3c]
push edx
fsub dword [esp + 0x34]
lea eax, [esp + 0xe8]
fld dword [esp + 0x3c]
push eax
fsub dword [esp + 0x34]
fstp dword [esp + 0x80]
fstp dword [esp + 0x84]
fstp dword [esp + 0x88]
call fcn.0059c890
fld dword [esp + 0x3c]
fadd dword [eax + 8]
fst dword [esp + 0x24]
fld dword [esp + 0x38]
fadd dword [eax + 4]
fld dword [esp + 0x34]
fadd dword [eax]
fstp dword [esp + 0x74]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x40], ecx
fstp dword [esp + 0x78]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x44], edx
mov edx, dword [esi + 0x18]
fstp dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x48], eax
movzx eax, word [edx + edi*8]
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*2]
push edx
call fcn.00536e90
add esp, 0x1c
fld dword [esp + 0x10]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x6a19d3
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
jmp 0x6a19ea
fld dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x6a19ea
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov edx, dword [ebp + 0x18]
movzx eax, word [edx + edi*8 + 2]
mov ecx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*2]
push edx
lea eax, [esp + 0x30]
push eax
call fcn.00411590
lea ecx, [esp + 0x80]
fld dword [esp + 0x3c]
push ecx
fsub dword [esp + 0x34]
lea edx, [esp + 0x90]
fld dword [esp + 0x3c]
push edx
fsub dword [esp + 0x34]
lea eax, [esp + 0xf4]
fld dword [esp + 0x3c]
push eax
fsub dword [esp + 0x34]
fstp dword [esp + 0x8c]
fstp dword [esp + 0x90]
fstp dword [esp + 0x94]
call fcn.0059c890
fld dword [esp + 0x3c]
fadd dword [eax + 8]
fst dword [esp + 0x24]
fld dword [esp + 0x38]
fadd dword [eax + 4]
fld dword [esp + 0x34]
fadd dword [eax]
fstp dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x40], ecx
fstp dword [esp + 0x6c]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x44], edx
mov edx, dword [esi + 0x18]
fstp dword [esp + 0x70]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], eax
movzx eax, word [edx + edi*8 + 2]
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*2]
push edx
call fcn.00536e90
add esp, 0x1c
fld dword [esp + 0x10]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x6a1ac4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
jmp 0x6a1adb
fld dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x6a1adb
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov edx, dword [ebp + 0x18]
movzx eax, word [edx + edi*8 + 4]
mov ecx, dword [ebp + 0x14]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*2]
push edx
lea eax, [esp + 0x30]
push eax
call fcn.00411590
lea ecx, [esp + 0x50]
fld dword [esp + 0x3c]
push ecx
fsub dword [esp + 0x34]
lea edx, [esp + 0x90]
fld dword [esp + 0x3c]
push edx
fsub dword [esp + 0x34]
lea eax, [esp + 0xdc]
fld dword [esp + 0x3c]
push eax
fsub dword [esp + 0x34]
fstp dword [esp + 0x5c]
fstp dword [esp + 0x60]
fstp dword [esp + 0x64]
call fcn.0059c890
fld dword [esp + 0x3c]
fadd dword [eax + 8]
fst dword [esp + 0x24]
fld dword [esp + 0x38]
fadd dword [eax + 4]
fld dword [esp + 0x34]
fadd dword [eax]
fstp dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x40], ecx
fstp dword [esp + 0x50]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x44], edx
mov edx, dword [esi + 0x18]
fstp dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x48], eax
movzx eax, word [edx + edi*8 + 4]
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esi + 0x14]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*2]
push edx
call fcn.00536e90
add esp, 0x1c
fld dword [esp + 0x10]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x6a1ba9
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
jmp 0x6a1bc0
fld dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x6a1bc0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movsx edx, word [esi + 4]
inc edi
cmp edi, edx
jl 0x6a18f0
cmp dword [esi + 0x1c], ebx
je 0x6a1c01
xor edi, edi
cmp word [esi + 4], di
jle 0x6a1c01
xor ebx, ebx
lea esp, [esp]
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0x14]
lea ecx, [eax + edi*8]
push ecx
mov ecx, dword [esi + 0x1c]
push edx
add ecx, ebx
call fcn.00411660
movsx eax, word [esi + 4]
inc edi
add ebx, 0xa
cmp edi, eax
jl 0x6a1be0
xor ebx, ebx
cmp word [esi], bx
jle 0x6a1ce0
mov ecx, dword [esi + 8]
xor edi, edi
cmp byte [edi + ecx + 0x10], 0x41
jne 0x6a1cd1
mov eax, dword [ebp + 8]
fld dword [eax + edi + 8]
add eax, edi
fsub dword [esp + 0x28]
lea ecx, [esp + 0x48]
fld dword [eax + 4]
push ecx
fsub dword [esp + 0x28]
lea edx, [esp + 0x88]
fld dword [eax]
push edx
fsub dword [esp + 0x28]
lea eax, [esp + 0xd4]
push eax
fstp dword [esp + 0x54]
fstp dword [esp + 0x58]
fstp dword [esp + 0x5c]
call fcn.0059c890
fld dword [esp + 0x34]
mov ecx, dword [esi + 8]
fadd dword [eax + 8]
add ecx, edi
fld dword [esp + 0x30]
add esp, 0xc
fadd dword [eax + 4]
fld dword [esp + 0x20]
fadd dword [eax]
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov dword [ecx], edx
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
mov dword [ecx + 4], eax
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
mov dword [ecx + 8], edx
mov ecx, dword [esi + 8]
fld dword [edi + ecx + 8]
fadd dword [edi + ecx + 0xc]
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x6a1cb4
fstp dword [esp + 0x1c]
jmp 0x6a1cd1
fstp st(0)
fld dword [edi + ecx + 8]
fsub dword [edi + ecx + 0xc]
fcom dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x6a1ccf
fstp dword [esp + 0x14]
jmp 0x6a1cd1
fstp st(0)
movsx eax, word [esi]
inc ebx
add edi, 0x14
cmp ebx, eax
jl 0x6a1c11
fld dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
fcomp dword [edx + 0x14]
mov ecx, dword [esp + 0x44]
fnstsw ax
test ah, 0x41
jne 0x6a1d21
mov eax, dword [ecx + 0xc]
fld dword [ecx + 0x10]
mov dword [esp + 0x38], eax
fstp dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 0x14], eax
fld dword [esp + 0x14]
fcomp dword [edx + 8]
fnstsw ax
test ah, 5
jp 0x6a1d54
fld dword [ecx + 4]
mov edx, dword [ecx]
mov eax, dword [esp + 0x14]
fstp dword [esp + 0x3c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx], edx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
lea ecx, [esp + 0x84]
mov bl, 1
mov dword [esp + 0xf8], 0xffffffff
call fcn.0059acd0
mov al, bl
pop ebx
jmp 0x6a1ead
fld dword [esp + 0xfc]
mov ax, word [edi + 0x86c]
fcomp dword [0x858b50]
mov word [edi + 0x86e], ax
fnstsw ax
test ah, 1
jne 0x6a1db2
movsx ecx, word [0x8d314c]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esp + 0xfc]
jmp 0x6a1e9f
test esi, esi
je 0x6a1eab
mov ecx, esi
call fcn.0053fc10
movsx edx, ax
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fcomp dword [0x859004]
fnstsw ax
test ah, 5
jp 0x6a1e3f
mov eax, dword [0xb7cb5c]
mov ecx, esi
mov dword [esp + 0x40], eax
call fcn.0053fc10
movsx ecx, ax
shl ecx, 1
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esp + 0x40]
fmul dword [0x871008]
fmul dword [0x858b88]
call fcn.00821b40
movsx ecx, word [0x8d314c]
movsx edx, ax
movzx eax, word [edi + 0x86c]
sub eax, edx
mov dword [esp + 0x14], eax
sub esp, 8
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
fstp dword [esp + 4]
fild dword [esp + 0x1c]
fstp dword [esp]
call fcn.00404330
jmp 0x6a1e9c
cmp word [edi + 0x86c], 0
jbe 0x6a1eab
mov edx, dword [0xb7cb5c]
mov ecx, esi
mov dword [esp + 0x40], edx
call fcn.0053fc10
movsx eax, ax
add eax, 0x64
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esp + 0x40]
fmul dword [0x871008]
fmul dword [0x858b88]
call fcn.00821b40
movzx edx, word [edi + 0x86c]
movsx ecx, ax
sub edx, ecx
mov dword [esp + 0x14], edx
push ecx
fild dword [esp + 0x18]
fstp dword [esp]
push 0
call fcn.00420800
add esp, 8
call fcn.00821b40
mov word [edi + 0x86c], ax
xor al, al
mov ecx, dword [esp + 0xec]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0xec
ret 4