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

Disassembly:
push 0xffffffffffffffff
push 0x6a1ccc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x238
fld dword [esp + 0x24c]
fabs
fst qword [esp + 0x40]
fcomp qword [0x6cb4f8]
push esi
mov esi, ecx
mov dword [esp + 0x2c], esi
fnstsw ax
test ah, 1
je 0x49e7f6
fld dword [esp + 0x254]
fabs
fcomp qword [0x6cb4f8]
fnstsw ax
test ah, 1
jne 0x49efa9
mov al, byte [esi + 0xc1]
push ebx
push ebp
push edi
lea ecx, [esp + 0xf4]
mov byte [esp + 0x33], al
call fcn.004b0f30
xor edi, edi
lea ecx, [esp + 0xa0]
mov dword [esp + 0x250], edi
call fcn.00476ae0
mov al, byte [esp + 0x274]
mov byte [esp + 0x250], 1
test al, al
mov dword [esp + 0x4c], 0x40a00000
jne 0x49e847
mov dword [esp + 0x4c], 0x41a00000
fld qword [esp + 0x50]
fcomp qword [0x6cc7c8]
fnstsw ax
test ah, 1
jne 0x49e893
fld qword [esp + 0x50]
fcomp qword [0x6d1a68]
fnstsw ax
test ah, 1
je 0x49e893
fld dword [esp + 0x25c]
fcomp dword [0x6c8a88]
mov dword [esp + 0x25c], 0x3dcccccd
fnstsw ax
test ah, 0x41
je 0x49e893
mov dword [esp + 0x25c], 0xbdcccccd
fld dword [esp + 0x260]
fabs
fcom qword [0x6cc7c8]
fnstsw ax
test ah, 1
jne 0x49e8e4
fcomp qword [0x6d1a68]
fnstsw ax
test ah, 1
je 0x49e8e6
fld dword [esp + 0x260]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 0x41
jne 0x49e8d7
mov dword [esp + 0x260], 0x3dcccccd
jmp 0x49e8e6
mov dword [esp + 0x260], 0xbdcccccd
jmp 0x49e8e6
fstp st(0)
mov ebx, dword [esp + 0x258]
mov byte [esi + 0xc1], 1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], 0
cmp eax, edi
mov dword [esp + 0x20], 0
jle 0x49eaaa
jmp 0x49e925
mov esi, dword [esp + 0x38]
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + edi*4]
lea ecx, [esp + 0xf4]
push eax
call fcn.004b2150
test edi, edi
jne 0x49e95e
lea edx, [esp + 0x1c]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
lea ecx, [esp + 0x104]
call fcn.004b3370
jmp 0x49e9da
lea eax, [esp + 0x64]
lea ecx, [esp + 0x5c]
push eax
lea edx, [esp + 0x5c]
push ecx
lea eax, [esp + 0x68]
push edx
push eax
lea ecx, [esp + 0x104]
call fcn.004b3370
fld dword [esp + 0x60]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
je 0x49e995
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x20], ecx
fld dword [esp + 0x5c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x49e9ac
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x14], edx
fld dword [esp + 0x58]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x49e9c3
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], eax
fld dword [esp + 0x64]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x49e9da
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x1c], ecx
mov edx, dword [ebx + 8]
push 0
push 0
mov ecx, esi
mov eax, dword [edx + edi*4]
push eax
lea eax, [esp + 0x78]
push eax
call fcn.0049d630
mov ecx, dword [esp + 0xac]
push eax
push 1
push ecx
lea ecx, [esp + 0xb0]
mov byte [esp + 0x25c], 2
call fcn.004798f0
mov dword [esp + 0x6c], vtable.CContour.0
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x90]
cmp esi, eax
mov byte [esp + 0x250], 3
mov ebp, eax
je 0x49ea4a
mov edx, dword [esi]
push 0
mov ecx, esi
call dword [edx]
add esi, 0x18
cmp esi, ebp
jne 0x49ea34
mov esi, dword [esp + 0x90]
push esi
call fcn.00658bf0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
add esp, 4
xor esi, esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
push eax
push ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0xa0], esi
mov byte [esp + 0x258], 1
call fcn.0062e060
mov edx, dword [esp + 0x74]
push edx
call fcn.00658bf0
mov eax, dword [ebx + 4]
add esp, 4
inc edi
mov dword [esp + 0x74], esi
cmp edi, eax
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
jl 0x49e921
fld dword [esp + 0x14]
fadd dword [esp + 0x20]
lea ecx, [esp + 0xa0]
fmul dword [0x6c8ac0]
fst dword [esp + 0x3c]
fstp dword [esp + 0x68]
fld dword [esp + 0x1c]
fadd dword [esp + 0x18]
fmul dword [0x6c8ac0]
fst dword [esp + 0x40]
fstp dword [esp + 0x50]
call fcn.004771a0
mov esi, dword [esp + 0x270]
mov edi, dword [esp + 0x26c]
mov ebp, dword [esp + 0x268]
mov ebx, dword [esp + 0x264]
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x10], 0
mov al, byte [esp + 0x274]
mov dword [esp + 0x24], 0
test al, al
je 0x49eb44
fld dword [esp + 0x10]
fabs
fcomp dword [esp + 0x4c]
fnstsw ax
test ah, 1
jne 0x49eb53
jmp 0x49ebab
fld dword [esp + 0x10]
fcomp dword [esp + 0x4c]
fnstsw ax
test ah, 1
je 0x49ebc7
push esi
push edi
push ebp
lea eax, [esp + 0x28]
push ebx
lea ecx, [esp + 0x24]
push eax
lea edx, [esp + 0x2c]
push ecx
lea eax, [esp + 0x38]
push edx
lea ecx, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x27c]
lea edx, [esp + 0x5c]
push ecx
push edx
push 0
lea ecx, [esp + 0xcc]
push eax
push ecx
mov ecx, dword [esp + 0x6c]
call fcn.0049e650
test al, al
je 0x49ebab
fld dword [esp + 0x10]
fadd dword [esp + 0x25c]
mov dword [esp + 0x24], 1
fstp dword [esp + 0x10]
mov al, byte [esp + 0x274]
test al, al
je 0x49ebc7
fld dword [esp + 0x28]
fabs
fcomp dword [esp + 0x4c]
fnstsw ax
test ah, 1
je 0x49ec1b
push esi
push edi
push ebp
lea edx, [esp + 0x28]
push ebx
lea eax, [esp + 0x24]
push edx
lea ecx, [esp + 0x2c]
push eax
lea edx, [esp + 0x38]
push ecx
lea eax, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x280]
lea ecx, [esp + 0x5c]
push eax
push ecx
mov ecx, dword [esp + 0x60]
push edx
lea eax, [esp + 0xcc]
push 0
push eax
call fcn.0049e650
test al, al
je 0x49ec1b
fld dword [esp + 0x28]
fadd dword [esp + 0x260]
inc dword [esp + 0x24]
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x24]
test eax, eax
jg 0x49eb1e
fild dword [esp + 0x44]
mov ecx, dword [esp + 0x25c]
mov edx, dword [esp + 0x260]
mov dword [esp + 0x2c], ecx
push 0
fmul dword [0x6d1a70]
mov dword [esp + 0x38], edx
push 0
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x34]
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
push eax
push ecx
push edx
call fcn.004ae9a0
add esp, 0x14
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x18]
push esi
push edi
push ebp
push ebx
push eax
push ecx
lea eax, [esp + 0x38]
push edx
lea ecx, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x50]
push edx
push eax
lea edx, [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0x68]
push edx
call fcn.0049e650
test al, al
je 0x49ecce
fld dword [esp + 0x2c]
fadd dword [esp + 0x10]
mov eax, dword [esp + 0x44]
neg eax
mov dword [esp + 0x44], eax
fstp dword [esp + 0x10]
fld dword [esp + 0x34]
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
jmp 0x49ed67
mov ecx, dword [esp + 0x25c]
mov edx, dword [esp + 0x260]
fld dword [esp + 0x24]
push 0
push 0
push ecx
mov dword [esp + 0x38], ecx
fchs
fstp dword [esp]
lea eax, [esp + 0x40]
lea ecx, [esp + 0x38]
push eax
push ecx
mov dword [esp + 0x48], edx
call fcn.004ae9a0
add esp, 0x14
lea edx, [esp + 0x1c]
lea eax, [esp + 0x14]
lea ecx, [esp + 0x18]
push esi
push edi
push ebp
push ebx
push edx
push eax
lea edx, [esp + 0x38]
push ecx
lea eax, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x50]
push ecx
push edx
lea ecx, [esp + 0xcc]
push eax
push ecx
mov ecx, dword [esp + 0x6c]
call fcn.0049e650
test al, al
je 0x49ed7e
fld dword [esp + 0x2c]
fadd dword [esp + 0x10]
mov edx, dword [esp + 0x44]
neg edx
mov dword [esp + 0x44], edx
fstp dword [esp + 0x10]
fld dword [esp + 0x34]
fadd dword [esp + 0x28]
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x48]
inc eax
cmp eax, 0xa
mov dword [esp + 0x48], eax
jge 0x49ee88
jmp 0x49ee54
fld dword [esp + 0x25c]
fmul dword [0x6c8ac0]
mov dword [esp + 0x48], 0
fstp dword [esp + 0x25c]
fld dword [esp + 0x260]
fmul dword [0x6c8ac0]
fstp dword [esp + 0x260]
fld dword [esp + 0x25c]
fabs
fcom qword [0x6cc7c8]
fnstsw ax
test ah, 1
jne 0x49edff
fcomp qword [0x6c8ab0]
fnstsw ax
test ah, 1
je 0x49ee01
fld dword [esp + 0x25c]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 0x41
jne 0x49edf2
mov dword [esp + 0x25c], 0x3c23d70a
jmp 0x49ee01
mov dword [esp + 0x25c], 0xbc23d70a
jmp 0x49ee01
fstp st(0)
fld dword [esp + 0x260]
fabs
fcom qword [0x6cc7c8]
fnstsw ax
test ah, 1
jne 0x49ee52
fcomp qword [0x6c8ab0]
fnstsw ax
test ah, 1
je 0x49ee54
fld dword [esp + 0x260]
fcomp dword [0x6c8a88]
fnstsw ax
test ah, 0x41
jne 0x49ee45
mov dword [esp + 0x260], 0x3c23d70a
jmp 0x49ee54
mov dword [esp + 0x260], 0xbc23d70a
jmp 0x49ee54
fstp st(0)
fld dword [esp + 0x25c]
fabs
fcomp qword [0x6c8ab0]
fnstsw ax
test ah, 0x41
je 0x49eb1e
fld dword [esp + 0x260]
fabs
fcomp qword [0x6c8ab0]
fnstsw ax
test ah, 0x41
je 0x49eb1e
fld dword [esp + 0x3c]
fsub dword [esp + 0x68]
mov edi, dword [esp + 0x258]
xor esi, esi
mov eax, dword [edi + 4]
fstp dword [esp + 0x25c]
fld dword [esp + 0x40]
fsub dword [esp + 0x50]
test eax, eax
fstp dword [esp + 0x260]
jle 0x49eed9
mov ebx, dword [esp + 0x260]
mov ebp, dword [esp + 0x25c]
mov eax, dword [edi + 8]
push ebx
push ebp
mov ecx, dword [eax + esi*4]
call fcn.004bae00
mov eax, dword [edi + 4]
inc esi
cmp esi, eax
jl 0x49eec4
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xac]
cmp esi, edi
mov ebx, esi
je 0x49eefc
mov edx, dword [esi]
push 0
mov ecx, esi
call dword [edx]
add esi, 0x30
cmp esi, edi
jne 0x49eeed
mov esi, dword [esp + 0xb8]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x50], esi
cmp esi, ebx
je 0x49ef62
add esi, 0x10
mov eax, dword [esi + 4]
mov ecx, dword [esi]
lea edi, [esi - 4]
push eax
push ecx
mov ecx, edi
call fcn.0062e060
mov ebp, dword [esi]
mov ecx, dword [esi + 8]
sub ecx, ebp
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
mov ecx, edi
shr eax, 0x1f
add edx, eax
push edx
push ebp
call fcn.004ade90
xor eax, eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
add esi, 0x38
lea ecx, [esi - 0x10]
cmp ecx, ebx
jne 0x49ef1c
mov ecx, dword [esp + 0x38]
mov al, byte [esp + 0x33]
mov edx, dword [esp + 0x50]
mov byte [esp + 0x250], 0
mov byte [ecx + 0xc1], al
lea ecx, [esp + 0xa0]
mov dword [esp + 0xbc], edx
call fcn.00476bc0
lea ecx, [esp + 0xf4]
mov dword [esp + 0x250], 0xffffffff
call fcn.004b1310
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x23c]
pop esi
mov dword fs:[0], ecx
add esp, 0x244
ret 0x20