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

Disassembly:
push 0xffffffffffffffff
push 0x7289e9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x114
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
lea ecx, [esp + 0x88]
mov dword [esp + 0x2c], ebx
call fcn.005b3190
cmp dword [esi + 0x2bc], ebx
mov dword [esp + 0x12c], ebx
jne 0x624425
mov eax, dword [0x7a39fc]
mov edi, dword [0x8338f0]
mov ecx, dword [eax + 4]
mov dword [esp + 0x48], edi
call fcn.005ed700
test byte [eax + 8], 2
je 0x622860
mov eax, dword [esi + 0x9c]
cmp eax, 2
je 0x622860
cmp eax, 3
je 0x622860
xor ecx, ecx
cmp edi, ebx
sete cl
mov edi, ecx
mov dword [esp + 0x48], edi
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 4]
call fcn.005ed480
test eax, eax
je 0x62287e
mov ecx, esi
call fcn.006224e0
jmp 0x624425
mov ecx, dword [esi + 0x2c]
call fcn.004adc80
mov ecx, dword [0x7a39e4]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul dword [0x7439bc]
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
push eax
call fcn.005df620
mov ecx, dword [0x7a39e4]
call fcn.005df510
test eax, eax
je 0x623718
mov ecx, dword [esi + 0x9c]
push ecx
mov ecx, dword [0x7a39e4]
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x6c]
push eax
call fcn.005df6b0
mov ecx, dword [esi + 0x40]
cmp dword [ecx + 0x34], 1
mov byte [esp + 0x12c], 1
je 0x6228fc
mov eax, dword [esi + 0x9c]
cmp eax, 2
je 0x6228fc
cmp eax, 3
jne 0x622b0f
cmp dword [esp + 0x28], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
jle 0x622b0f
xor edi, edi
mov dword [esp + 0x14], 0x10
jmp 0x622920
mov edx, dword [esp + 0x64]
cmp dword [edi + edx], 0
je 0x622aea
mov cl, byte [esi + 0x414]
cmp cl, 0xa
jae 0x622954
mov eax, edx
mov eax, dword [edi + eax + 0xc]
mov eax, dword [eax + 0x10]
movzx ecx, cl
mov dword [esi + ecx*4 + 0x3ec], eax
inc byte [esi + 0x414]
jmp 0x6229d1
mov edx, dword [esi + 0x3f0]
mov eax, dword [esi + 0x3f4]
mov ecx, dword [esi + 0x3f8]
mov dword [esi + 0x3ec], edx
mov edx, dword [esi + 0x3fc]
mov dword [esi + 0x3f0], eax
mov eax, dword [esi + 0x400]
mov dword [esi + 0x3f4], ecx
mov ecx, dword [esi + 0x404]
mov dword [esi + 0x3f8], edx
mov edx, dword [esi + 0x408]
mov dword [esi + 0x3fc], eax
mov eax, dword [esi + 0x40c]
mov dword [esi + 0x400], ecx
mov ecx, dword [esi + 0x410]
mov dword [esi + 0x404], edx
mov edx, dword [esp + 0x64]
mov dword [esi + 0x408], eax
mov dword [esi + 0x40c], ecx
mov eax, dword [edi + edx + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esi + 0x410], eax
mov ecx, dword [esp + 0x64]
lea ebp, [edi + ecx]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
dec eax
cmp eax, 0x35
ja case.0x6229eb.3
movzx edx, byte [eax + 0x624460]
jmp dword [edx*4 + 0x624458]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x622a29
mov ebx, dword [esp + 0x10]
push ebx
lea ecx, [esp + 0x68]
call fcn.0061fb50
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
dec ebx
sub edx, 0x10
sub edi, 0x10
dec eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], eax
jmp 0x622aea
mov dword [esp + 0x20], 1
mov ecx, dword [ecx + 0x10]
cmp ecx, 0x31
jb 0x622aea
cmp ecx, 0x32
ja 0x622aea
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
or ebx, 0xffffffff
inc edx
cmp edx, eax
jge 0x622aea
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x64]
add eax, ecx
cmp dword [eax], 0
je 0x622a7c
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x10]
cmp ecx, 0x2f
jb 0x622a7c
cmp ecx, 0x30
ja 0x622a7c
lea ebx, [edx + 1]
mov ecx, dword [esp + 0x28]
inc edx
add eax, 0x10
cmp edx, ecx
jl 0x622a64
cmp ebx, 0xffffffff
je 0x622aea
mov eax, dword [esp + 0x68]
mov ecx, dword [ebp + 4]
cmp ebx, eax
mov eax, dword [ebp]
jl 0x622abc
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov dword [edx + 4], ecx
mov ecx, dword [ebp + 0xc]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea ecx, [esp + 0x74]
call fcn.005e0a30
jmp 0x622adc
push ebx
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov dword [edx + 4], ecx
mov ecx, dword [ebp + 0xc]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
lea ecx, [esp + 0x78]
call fcn.00620480
mov edx, dword [esp + 0x10]
push edx
lea ecx, [esp + 0x68]
call fcn.0061fb50
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
inc eax
add ebx, 0x10
add edi, 0x10
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jl 0x622920
xor ebx, ebx
cmp dword [esp + 0x28], ebx
mov dword [esp + 0x10], ebx
jle 0x622cdc
xor ebx, ebx
nop
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 4]
call fcn.005ed470
test eax, eax
je 0x622b81
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 4]
call fcn.005ed460
test eax, eax
je 0x622b81
mov edx, dword [0x7a39fc]
mov edi, dword [edx + 4]
mov ecx, edi
call fcn.005ed460
push eax
mov eax, dword [esp + 0x14]
push eax
mov ecx, edi
call fcn.005ed4f0
mov ecx, eax
call fcn.004adc70
push 0
push 0x3e8
push edx
push eax
call fcn.006fb030
mov ecx, dword [0x7a39e4]
push eax
call fcn.005df4f0
mov eax, dword [esp + 0x64]
mov ecx, dword [ebx + eax + 0xc]
mov edi, dword [ecx + 0x10]
cmp edi, 0x27
mov ebp, dword [ebx + eax]
jl 0x622b99
cmp edi, 0x40
jle 0x622bf1
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 4]
call fcn.005ed690
cmp dword [eax + 0x34], 1
je 0x622c63
cmp edi, 0xb4
jl 0x622bc1
cmp edi, 0xbb
jle 0x622bf1
cmp edi, 0xce
je 0x622bf1
cmp edi, 0xdf
je 0x622bf1
cmp edi, 0xf3
je 0x622bf1
cmp edi, 0xf4
je 0x622bf1
cmp edi, 0xfe
jl 0x622c63
cmp edi, 0x106
jg 0x622c63
test ebp, ebp
je 0x622c3b
mov eax, dword [esi + 4]
cmp byte [eax + 0x6d], 5
jne 0x622c3b
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 4]
call fcn.005ed690
mov ecx, dword [eax + 0xdc]
test ecx, ecx
jne 0x622c3b
mov ecx, esi
mov dword [0x7a2288], 1
call fcn.00644760
mov ecx, eax
call fcn.00641dc0
push 1
push 0
mov ecx, esi
call fcn.006200e0
jmp 0x622c70
mov eax, dword [esi + 0x40]
cmp dword [eax + 0x34], 1
je 0x622c54
mov eax, dword [esi + 0x9c]
cmp eax, 2
je 0x622c54
cmp eax, 3
jne 0x622c70
mov ecx, dword [esi + 0x274]
push ebp
push edi
call fcn.0040c8e0
jmp 0x622c70
push ebp
push edi
mov ecx, esi
call fcn.00621210
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x622c81
cmp dword [esi + 0x9c], 2
jne 0x622cad
cmp dword [esi + 0x9c], 4
je 0x622cad
mov ecx, dword [esi + 0x3cc]
mov edx, dword [esi + 0x3c8]
push ecx
mov ecx, dword [esi + 0x274]
push edx
mov dword [esp + 0x34], 0
call fcn.0040c1e0
jmp 0x622cc4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x622cc4
mov ecx, dword [0x7a39f4]
test ecx, ecx
je 0x622cc4
call fcn.0040b4d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
inc eax
add ebx, 0x10
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x622b20
mov ecx, esi
call fcn.00644760
test eax, eax
je 0x6236ae
mov ecx, esi
call fcn.00644760
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x6236ae
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x6236ae
mov eax, dword [esi + 0x274]
mov eax, dword [eax + 8]
test eax, eax
je 0x622d88
mov ecx, dword [esi + 0x40]
mov ecx, dword [ecx + 0x90]
push eax
add ecx, 0xbc
call fcn.00684ed0
test al, al
je 0x622d88
cmp al, 1
mov ecx, esi
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
jne 0x622d5d
mov eax, dword [esi + 0x2b4]
push 1
lea edx, [esp + 0x34]
push edx
push eax
jmp 0x622d69
push 0
lea eax, [esp + 0x34]
push eax
push 0x7f000000
call fcn.006222f0
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x2b4]
mov ecx, dword [ecx + 0x90]
mov dword [ecx + 0x5cac], eax
jmp 0x6236fd
push 0
push 0xbfffffff
push 0
lea ecx, [esp + 0xcc]
call fcn.004578f0
mov eax, dword [0x7a39f4]
mov byte [esp + 0x120], 1
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
movsx ebx, word [eax + 0x6e]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
sub ebx, ecx
mov ecx, esi
mov byte [esp + 0x12c], 2
mov dword [esp + 0x1c], edx
call fcn.005f6410
mov eax, dword [esi + 0x20]
push eax
mov ecx, esi
call fcn.005f6340
jmp 0x622df0
lea eax, [esp + 0xc8]
push eax
mov ecx, esi
mov dword [esp + 0x28], 0
call fcn.005f94d0
mov ecx, esi
call fcn.00644760
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0x24]
push ebx
push eax
call dword [edx + 0x30]
mov ecx, dword [esp + 0xf8]
test ecx, ecx
je case.0x622e5d.8
mov edx, dword [ecx]
call dword [edx + 0x70]
test eax, eax
je case.0x622e5d.8
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx]
call dword [eax + 0x78]
add eax, 0xfffffffb
cmp eax, 5
ja case.0x622e5d.8
jmp dword [eax*4 + 0x624498]
mov ecx, dword [esp + 0xf8]
mov edx, dword [ecx]
call dword [edx + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edi, eax
test edi, edi
je case.0x622e5d.8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x4c]
test eax, eax
je 0x623249
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x4c]
mov ebp, eax
mov ecx, ebp
call fcn.00682e00
test eax, eax
je case.0x622e5d.8
mov ecx, dword [ebp + 0x128]
test ecx, ecx
je 0x622ebc
mov ecx, dword [eax + 0x398]
test ecx, ecx
je 0x623249
mov al, byte [ebp + 0x10c]
mov ecx, dword [0x7a3a28]
lea edx, [esp + 0x20]
push edx
mov edx, dword [0x7a225c]
mov dword [esp + 0x24], 0
mov ecx, dword [ecx + 0xb8]
mov ecx, dword [ecx + 0x2c]
movzx eax, al
push edx
push eax
call fcn.00413510
mov eax, dword [esp + 0x20]
test eax, eax
je 0x622f08
mov ebp, dword [ebp + 4]
push ebp
mov ecx, esi
mov edi, 1
call fcn.005f6340
jmp 0x622f0c
mov edi, dword [esp + 0x24]
test edi, edi
jne 0x622df0
mov ecx, esi
call fcn.00644760
mov ecx, eax
call fcn.00641980
test eax, eax
jne 0x62364f
mov ecx, esi
call fcn.005f1420
test eax, eax
je 0x62364f
mov eax, dword [0x7a39f4]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
mov dword [esp + 0x24], edx
xor edi, edi
mov ecx, esi
fstp dword [esp + 0x4c]
mov dword [esp + 0x10], edi
fild dword [esp + 0x24]
mov dword [esp + 0x24], 0x7f7fffff
fstp dword [esp + 0x50]
call fcn.005f1420
mov dword [esp + 0x20], eax
cmp dword [esi + 0x2ac], edi
mov dword [esp + 0x1c], edi
jle 0x6235da
xor ebx, ebx
mov edi, edi
mov ecx, dword [esi + 0x2a8]
mov edx, dword [ebx + ecx]
push edx
mov ecx, esi
call fcn.005f10f0
mov edi, eax
test edi, edi
je 0x623544
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
test eax, eax
je 0x623544
mov ecx, dword [esi + 0x2a8]
mov al, byte [ebx + ecx + 4]
cmp al, 0xff
lea ebp, [ebx + ecx]
jne 0x622fef
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0xc]
mov ecx, dword [esp + 0x20]
push eax
call fcn.00617ad0
mov byte [ebp + 4], al
mov eax, dword [esi + 0x2a8]
mov cl, byte [ebx + eax + 4]
test cl, cl
je 0x623544
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0xc]
mov edx, dword [eax]
lea ecx, [esp + 0x58]
push ecx
mov ecx, eax
call dword [edx + 0x13c]
fld dword [esp + 0x60]
fld dword [esp + 0x5c]
mov ecx, esi
fsub dword [esp + 0x50]
fld dword [esp + 0x58]
fsub dword [esp + 0x4c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp dword [esp + 0x2c]
fstp st(0)
fstp st(0)
fstp st(0)
call fcn.00644760
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
lea eax, [esp + 0x30]
push eax
call dword [edx + 0x20]
mov ecx, dword [esp + 0x20]
add ecx, 0x24
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x7c], edx
mov edx, dword [edi]
mov dword [esp + 0x84], ecx
mov ecx, edi
mov dword [esp + 0x80], eax
call dword [edx + 0xc]
fld dword [esp + 0x80]
fsub dword [esp + 0x34]
add eax, 0x24
mov ecx, dword [eax]
mov edx, dword [eax + 4]
fstp dword [esp + 0x18]
mov eax, dword [eax + 8]
fld dword [esp + 0x7c]
mov dword [esp + 0x40], edx
fsub dword [esp + 0x30]
mov edx, dword [edi]
mov dword [esp + 0x3c], ecx
mov ecx, edi
fstp dword [esp + 0xa8]
mov dword [esp + 0x44], eax
fld dword [esp + 0x40]
fsub dword [esp + 0x34]
fstp dword [esp + 0x90]
fld dword [esp + 0x3c]
fsub dword [esp + 0x30]
fstp dword [esp + 0xb4]
fld dword [esp + 0x40]
fsub dword [esp + 0x80]
fstp dword [esp + 0x14]
fld dword [esp + 0x3c]
fsub dword [esp + 0x7c]
fstp dword [esp + 0x9c]
call dword [edx + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x138]
fld dword [esp + 0x9c]
fmul dword [esp + 0x9c]
fld dword [esp + 0x14]
fmul dword [esp + 0x14]
faddp st(1)
fcomp dword [0x7455bc]
fnstsw ax
test ah, 0x41
mov dword [esp + 0x14], 1
je 0x623138
mov dword [esp + 0x14], 0
fld dword [esp + 0xb4]
fmul dword [esp + 0xa8]
fld dword [esp + 0x90]
fmul dword [esp + 0x18]
faddp st(1)
fcomp dword [0x73d700]
fnstsw ax
test ah, 1
jne 0x6234f8
mov ebp, 1
jmp 0x6234fa
mov ecx, dword [esp + 0xf8]
mov edx, dword [ecx]
call dword [edx + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edi, eax
jmp 0x623249
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx]
call dword [eax + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edi, eax
test edi, edi
je case.0x622e5d.8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
test eax, eax
je 0x623249
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x14]
mov ecx, dword [eax + 0x138]
test ecx, ecx
jne case.0x622e5d.8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x14]
mov ecx, eax
call fcn.0061f790
test eax, eax
je 0x623249
jmp case.0x622e5d.8
mov ecx, dword [esp + 0xf8]
mov edx, dword [ecx]
call dword [edx + 0x70]
lea ecx, [eax + 0x10]
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edi, eax
jmp 0x623249
mov ecx, dword [esp + 0xf8]
mov edx, dword [ecx]
call dword [edx + 0x70]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edi, eax
test edi, edi
je case.0x622e5d.8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c]
test eax, eax
je 0x623249
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x3c]
mov ecx, dword [eax + 0x108]
test ecx, ecx
je 0x623249
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x3c]
mov ecx, eax
call fcn.0063c060
cmp ax, 0x27a0
jne case.0x622e5d.8
test edi, edi
je case.0x622e5d.8
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x2c]
test eax, eax
je 0x623325
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x2c]
mov ecx, dword [eax + 0x3dc]
mov edx, dword [edi]
cmp ecx, 0x7f000000
mov ecx, edi
je 0x6232b3
call dword [edx + 0x2c]
mov eax, dword [eax + 0x3dc]
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 4]
push eax
call fcn.005ed580
mov ebp, eax
test ebp, ebp
je 0x623325
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0xc]
test eax, eax
je 0x623325
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0xc]
mov edi, eax
jmp 0x623325
call dword [edx + 0x2c]
test eax, eax
je 0x623325
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x2c]
mov ecx, eax
call fcn.0060fb20
test eax, eax
je 0x623301
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x2c]
mov ecx, eax
call fcn.0060fb20
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x94]
test eax, eax
jne 0x623301
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x2c]
mov ecx, eax
call fcn.0060fb20
mov ecx, eax
call fcn.004ef890
test eax, eax
je 0x623325
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x2c]
mov ebp, dword [eax + 4]
mov ecx, esi
call fcn.00644760
mov eax, dword [eax + 0x48]
push ebp
mov ecx, eax
call fcn.00604bc0
test eax, eax
jne case.0x622e5d.8
test edi, edi
je case.0x622e5d.8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x34]
test eax, eax
je 0x623353
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x34]
mov ecx, eax
call fcn.00646630
test eax, eax
je 0x623353
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edi, eax
test edi, edi
je case.0x622e5d.8
mov ecx, esi
call fcn.005f1420
test eax, eax
je case.0x622e5d.8
mov ecx, esi
call fcn.00644760
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx]
lea edx, [esp + 0x7c]
push edx
call dword [eax + 0x20]
mov ecx, esi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
call fcn.005f1420
test eax, eax
je 0x6233a2
mov ecx, esi
call fcn.005f1420
jmp 0x6233c4
mov ecx, dword [esi + 0x270]
test ecx, ecx
je 0x6233db
push 0
call fcn.006346c0
test eax, eax
je 0x6233db
mov ecx, dword [esi + 0x270]
push 0
call fcn.006346c0
add eax, 0x24
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0xc]
fld dword [esp + 0x40]
fsub dword [esp + 0x80]
add eax, 0x24
mov ecx, dword [eax]
mov edx, dword [eax + 4]
fstp dword [esp + 0x24]
mov eax, dword [eax + 8]
fld dword [esp + 0x3c]
mov dword [esp + 0x5c], edx
fsub dword [esp + 0x7c]
mov edx, dword [edi]
mov dword [esp + 0x58], ecx
mov ecx, edi
fstp dword [esp + 0x30]
mov dword [esp + 0x60], eax
fld dword [esp + 0x5c]
fsub dword [esp + 0x80]
fstp dword [esp + 0x1c]
fld dword [esp + 0x58]
fsub dword [esp + 0x7c]
fstp dword [esp + 0x9c]
fld dword [esp + 0x5c]
fsub dword [esp + 0x40]
fstp dword [esp + 0x20]
fld dword [esp + 0x58]
fsub dword [esp + 0x3c]
fstp dword [esp + 0x4c]
call dword [edx + 0x138]
fld dword [esp + 0x4c]
fmul dword [esp + 0x4c]
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fcomp dword [0x7455bc]
fnstsw ax
test ah, 0x41
jne 0x62347a
mov ecx, 1
jmp 0x62347c
xor ecx, ecx
fld dword [esp + 0x9c]
fmul dword [esp + 0x30]
fld dword [esp + 0x1c]
fmul dword [esp + 0x24]
faddp st(1)
fcomp dword [0x73d700]
fnstsw ax
test ah, 1
jne 0x6234ce
test ecx, ecx
jne 0x6234ce
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x6234ba
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + 0x90]
jmp 0x6234d7
mov edx, dword [esi + 0x40]
mov eax, dword [edi + 4]
mov ecx, dword [edx + 0x90]
mov dword [ecx + 0x5cac], eax
jmp 0x6234e1
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 0x90]
mov dword [eax + 0x5cac], 0x7f000000
mov edi, dword [edi + 4]
push 0
lea ecx, [esp + 0x74]
push ecx
push edi
mov ecx, esi
call fcn.006222f0
jmp 0x623675
xor ebp, ebp
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x144]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 1
jne 0x623544
fld dword [esp + 0x2c]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 5
jp 0x623544
test ebp, ebp
je 0x623544
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x623544
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 0x2ac]
inc eax
add ebx, 0xc
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x622fa0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x6235da
mov eax, dword [eax + 4]
cmp eax, dword [esi + 0x2b4]
jne 0x6235da
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 4]
call fcn.005ed690
mov eax, dword [eax + 0x90]
mov ecx, dword [eax + 0x78]
test ecx, ecx
jle 0x6235c5
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 4]
call fcn.005ed690
mov eax, dword [eax + 0x90]
mov ecx, dword [eax + 0x74]
test ecx, ecx
je 0x6235c5
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx + 8]
test eax, eax
jne 0x6235c5
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 0x40]
mov eax, dword [edx + 4]
mov ecx, dword [ecx + 0x90]
jmp 0x623617
mov edx, dword [esi + 0x40]
mov eax, dword [edx + 0x90]
mov dword [eax + 0x5cac], 0x7f000000
jmp 0x62361d
mov eax, dword [esi + 0x274]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x6235fc
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + 0x90]
mov dword [eax + 0x5cac], 0x7f000000
jmp 0x62361d
mov eax, dword [esp + 0x10]
test eax, eax
je 0x623609
mov eax, dword [eax + 4]
jmp 0x62360e
mov eax, 0x7f000000
mov edx, dword [esi + 0x40]
mov ecx, dword [edx + 0x90]
mov dword [ecx + 0x5cac], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x623639
mov eax, dword [eax + 4]
push 0
lea ecx, [esp + 0x74]
push ecx
push eax
mov ecx, esi
call fcn.006222f0
jmp 0x623675
push 0
lea ecx, [esp + 0x74]
push ecx
mov eax, 0x7f000000
push eax
mov ecx, esi
call fcn.006222f0
jmp 0x623675
push 0
lea edx, [esp + 0x74]
push edx
push 0x7f000000
mov ecx, esi
call fcn.006222f0
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 0x90]
mov dword [eax + 0x5cac], 0x7f000000
mov eax, dword [esp + 0xf8]
test eax, eax
mov byte [esp + 0x12c], 1
je 0x623698
lea edx, [esp + 0xf8]
lea ecx, [eax + 4]
push edx
call fcn.00445080
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x6236fd
push eax
call fcn.006fa390
add esp, 4
jmp 0x6236fd
mov eax, dword [esi + 0x40]
test eax, eax
je 0x6236fd
mov ecx, dword [eax + 0x90]
test ecx, ecx
je 0x6236fd
push 0
lea eax, [esp + 0x50]
push eax
push 0x7f000000
mov ecx, esi
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
call fcn.006222f0
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx + 0x90]
mov dword [eax + 0x5cac], 0x7f000000
mov edx, dword [esp + 0x64]
push edx
mov byte [esp + 0x130], 0
call fcn.006fa390
mov edi, dword [esp + 0x4c]
add esp, 4
xor ebx, ebx
cmp edi, ebx
je 0x62376b
mov eax, dword [esi + 0x274]
mov edi, dword [eax + 8]
cmp edi, ebx
je 0x62376b
mov ecx, edi
call fcn.00418a50
mov edx, dword [edi]
push 0
mov ecx, edi
mov ebp, eax
call dword [edx + 0xc]
mov eax, dword [edi]
push 0
mov ecx, edi
call dword [eax + 0x7c]
test ebp, ebp
je 0x62375c
mov edx, dword [ebp]
push 0
mov ecx, ebp
call dword [edx + 0xc]
mov eax, dword [ebp]
push 0
mov ecx, ebp
call dword [eax + 0x7c]
mov eax, dword [esi + 0x274]
mov dword [eax + 8], 0
xor ebx, ebx
lea ecx, [esp + 0x94]
call fcn.005b3190
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 4]
mov byte [esp + 0x12c], 3
call fcn.005ed540
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 4]
call fcn.005ed460
test eax, eax
je 0x623851
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 4]
call fcn.005ed540
cmp eax, ebx
je 0x623851
add eax, 0x24
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
sub esp, 0x18
mov dword [esp + 0x90], eax
fld dword [esp + 0x90]
fstp qword [esp + 0x10]
mov dword [esp + 0x8c], edx
fld dword [esp + 0x8c]
mov dword [esp + 0x88], ecx
mov ecx, dword [0x7a39fc]
fstp qword [esp + 8]
fld dword [esp + 0x88]
mov ecx, dword [ecx + 4]
fstp qword [esp]
push 0x58
call fcn.005ed4f0
mov ecx, eax
call fcn.004adc70
push ebx
push 0x3e8
push edx
push eax
call fcn.006fb030
push eax
lea edx, [esp + 0xb4]
push str._d__c__f__f__f_n
push edx
call fcn.005e5680
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 4]
add esp, 0x28
lea edx, [esp + 0x94]
push edx
call fcn.005ed460
mov ecx, eax
call fcn.005e6a70
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 4]
push ebx
call fcn.005ed8b0
mov ecx, eax
call fcn.006346c0
mov ecx, esi
mov edi, eax
call fcn.005f2ed0
test eax, eax
mov ebx, 8
jne 0x623f23
mov eax, dword [esi + 0x2a0]
test eax, eax
je 0x623f23
mov eax, dword [eax + 0xc]
test eax, eax
je 0x623d1e
mov eax, dword [esi + 0x9c]
test eax, eax
jne 0x623d1e
mov eax, dword [esi + 0x288]
test eax, eax
jne 0x623d1e
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 4]
call fcn.005ed700
cmp byte [eax + 0x6d], 7
je 0x623d1e
mov ecx, dword [0x7a39e4]
push 0
push 7
call fcn.005df4d0
fstp dword [esp + 0x14]
mov ecx, dword [0x7a39e4]
push 0
push ebx
call fcn.005df4d0
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x44
jp 0x623a2e
fld dword [esp + 0x10]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x44
jp 0x623a2e
mov ecx, dword [0x7a39e4]
push 0
push 0x119
call fcn.005df4d0
fcomp dword [0x740cbc]
fnstsw ax
test ah, 5
jnp 0x623964
mov ecx, dword [0x7a39e4]
push 0
push 0x119
call fcn.005df4d0
fld dword [0x73d764]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x623964
mov dword [esp + 0x10], 0x3f800000
jmp 0x6239a3
mov ecx, dword [0x7a39e4]
push 0
push 0x119
call fcn.005df4d0
fcomp dword [0x740cbc]
fnstsw ax
test ah, 5
jp 0x62398d
mov dword [esp + 0x10], 0xbf800000
jmp 0x6239a3
mov ecx, dword [0x7a39e4]
push 0
push 0x119
call fcn.005df4d0
fstp dword [esp + 0x10]
mov ecx, dword [0x7a39e4]
push 0
push 0x118
call fcn.005df4d0
fcomp dword [0x740cbc]
fnstsw ax
test ah, 5
jnp 0x6239ef
mov ecx, dword [0x7a39e4]
push 0
push 0x118
call fcn.005df4d0
fld dword [0x73d764]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x6239ef
mov dword [esp + 0x14], 0x3f800000
jmp 0x623a2e
mov ecx, dword [0x7a39e4]
push 0
push 0x118
call fcn.005df4d0
fcomp dword [0x740cbc]
fnstsw ax
test ah, 5
jp 0x623a18
mov dword [esp + 0x14], 0xbf800000
jmp 0x623a2e
mov ecx, dword [0x7a39e4]
push 0
push 0x118
call fcn.005df4d0
fstp dword [esp + 0x14]
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 4]
mov ebp, dword [0x8338f0]
call fcn.005ed700
test byte [eax + 8], 2
je 0x623a51
xor eax, eax
test ebp, ebp
sete al
mov ebp, eax
test ebp, ebp
je 0x623a77
mov eax, dword [0x8338f4]
test eax, eax
je 0x623a77
fld dword [esp + 0x14]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x41
jp 0x623a77
mov dword [esp + 0x14], 0xbf800000
mov ecx, dword [0x7a39e4]
push 0
push 0x109
call fcn.005df4d0
fcomp dword [0x73d700]
mov ecx, dword [esi + 0x2a0]
fnstsw ax
test ah, 0x44
jnp 0x623aa5
mov edx, dword [ecx]
push 1
call dword [edx + 0x10]
jmp 0x623aac
mov eax, dword [ecx]
push 0
call dword [eax + 0x10]
test edi, edi
je 0x623c93
mov ecx, edi
call fcn.0060f0f0
cmp eax, 1
jne 0x623c2c
test byte [edi + 0x440], 1
je 0x623af2
mov eax, dword [esi + 4]
test byte [eax + 8], 0x10
jne 0x623af2
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esi + 0x2a4], 0xbf800000
jmp 0x623b3d
fld dword [esp + 0x14]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x44
jp 0x623b20
fld dword [esp + 0x10]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x44
jp 0x623b20
mov dword [esi + 0x2a4], 0xbf800000
jmp 0x623b3d
fld dword [esi + 0x2a4]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x41
jp 0x623b3d
mov dword [esi + 0x2a4], 0x3e99999a
fld dword [esi + 0x2a4]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x41
jne 0x623c2c
fld dword [esi + 0x2a4]
mov ecx, edi
fsub dword [esp + 0x134]
fstp dword [esi + 0x2a4]
call fcn.0060fb20
test eax, eax
mov ecx, 1
je 0x623b7d
mov ecx, dword [eax + 0xe8]
fld dword [esi + 0x2a4]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x41
jp 0x623c1c
test ecx, ecx
je 0x623c2c
mov ecx, dword [esi + 0x2a0]
mov edx, dword [ecx]
call dword [edx + 0x1c]
fcomp dword [0x73edf0]
fnstsw ax
test ah, 0x41
jne 0x623c10
mov ecx, edi
call fcn.0063d470
push 0
mov ecx, edi
call fcn.0063cad0
push 0
push 0x7f000000
mov ecx, edi
call fcn.00610950
push 0
mov ecx, edi
call fcn.0060f140
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 4]
call fcn.005ed530
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
push 0x106a
call dword [edx + 0x80]
test eax, eax
je 0x623c03
mov ecx, eax
call fcn.0063a360
push 0
push 0
mov ecx, edi
call fcn.0060c790
jmp 0x623c2c
mov dword [esi + 0x2a4], 0x3dcccccd
jmp 0x623c2c
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov eax, dword [edi + 4]
mov ecx, dword [esi + 0x270]
push eax
call fcn.006349c0
test eax, eax
jl 0x623c93
mov ecx, dword [esi + 0x270]
imul eax, eax, 0x88
lea ebp, [eax + ecx + 0x24]
test ebp, ebp
je 0x623c93
test byte [edi + 0x440], 1
je 0x623c93
mov ecx, dword [esi + 0x2a0]
mov edx, dword [ecx]
call dword [edx + 0x1c]
fcomp dword [0x73edf0]
fnstsw ax
test ah, 5
jp 0x623c87
cmp dword [ebp + 0x84], 0xa5ec
jne 0x623c93
push 0xbc50
jmp 0x623c8c
push 0xa5ec
mov ecx, ebp
call fcn.006345e0
mov eax, dword [esi + 0x320]
xor ebp, ebp
cmp eax, ebp
jne 0x623cff
fld dword [esi + 0x390]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x41
jp 0x623cff
mov eax, dword [esi + 0x2b4]
mov edi, 0x7f000000
cmp eax, edi
je 0x623cff
mov ecx, dword [esi + 0x2a0]
mov eax, dword [ecx]
call dword [eax + 0x1c]
fcomp dword [0x73edf0]
fnstsw ax
test ah, 1
jne 0x623cff
fld dword [esp + 0x134]
fadd dword [esi + 0x36c]
fst dword [esi + 0x36c]
fcomp dword [0x73e9ac]
fnstsw ax
test ah, 1
jne 0x623d05
mov dword [esi + 0x2b4], edi
mov dword [esi + 0x36c], ebp
mov ecx, dword [esi + 0x2a0]
mov eax, dword [esp + 0x14]
mov edx, dword [ecx]
push eax
call dword [edx]
mov eax, dword [esp + 0x10]
push eax
jmp 0x623f18
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 4]
call fcn.005ed700
mov al, byte [eax + 0x6d]
cmp al, 7
jne 0x623e44
mov ecx, dword [0x7a39e4]
push 0
push 7
call fcn.005df4d0
fstp dword [esp + 0x14]
mov ecx, dword [0x7a39e4]
push 0
push ebx
call fcn.005df4d0
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x44
jp 0x623daa
fld dword [esp + 0x10]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x44
jp 0x623daa
mov ecx, dword [0x7a39e4]
push 0
push 0x119
call fcn.005df4d0
fstp dword [esp + 0x10]
mov ecx, dword [0x7a39e4]
push 0
push 0x118
call fcn.005df4d0
fstp dword [esp + 0x14]
mov ecx, dword [0x7a39e4]
push 0
push 0xc
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 0
push 0xd
call fcn.005df4d0
fstp dword [esp + 0x1c]
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 4]
call fcn.005ed530
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx]
push 0xffffffffffffffff
call dword [eax + 0x80]
mov edi, eax
test edi, edi
je 0x623e44
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x10]
cmp eax, 0x1071
jne 0x623e44
fld dword [esp + 0x14]
fmul dword [0x7455c8]
fstp dword [edi + 0x1c]
fld dword [esp + 0x10]
fmul dword [0x7455c8]
fstp dword [edi + 0x24]
fld dword [esp + 0x18]
fmul dword [0x74fc4c]
fstp dword [edi + 0x18]
fld dword [esp + 0x1c]
fmul dword [0x74fc48]
fstp dword [edi + 0x14]
fld dword [esp + 0x1c]
fmul dword [esp + 0x14]
fmul dword [0x74fc44]
fstp dword [edi + 0x28]
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 4]
call fcn.005ed700
cmp byte [eax + 0x6d], 5
jne 0x623f0a
mov ecx, dword [0x7a39e4]
push 0
push 7
call fcn.005df4d0
fstp dword [esp + 0x14]
mov ecx, dword [0x7a39e4]
push 0
push ebx
call fcn.005df4d0
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x44
jp 0x623ef0
fld dword [esp + 0x10]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x44
jp 0x623ece
mov ecx, dword [0x7a39e4]
push 4
push 0x119
call fcn.005df4d0
fstp dword [esp + 0x10]
mov ecx, dword [0x7a39e4]
push 4
push 0x118
call fcn.005df4d0
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x44
jp 0x623ef0
fld dword [esp + 0x10]
fcomp dword [0x73d700]
fnstsw ax
test ah, 0x44
jnp 0x623f0a
mov ecx, dword [0x7a39fc]
mov edx, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
push edx
call fcn.005ed530
mov ecx, eax
call fcn.0063fdb0
mov ecx, dword [esi + 0x2a0]
mov eax, dword [ecx]
push 0
call dword [eax]
push 0
mov ecx, dword [esi + 0x2a0]
mov edx, dword [ecx]
call dword [edx + 8]
mov ecx, esi
call fcn.005f1420
test eax, eax
je 0x623f6b
mov ecx, dword [esi + 0x2a0]
mov edi, dword [esp + 0x134]
mov eax, dword [ecx]
push edi
call dword [eax + 0x28]
mov esi, dword [esi + 0x18]
test esi, esi
je 0x624411
mov esi, dword [esi + 0x48]
test esi, esi
je 0x624411
mov ecx, dword [esi + 0x264]
test ecx, ecx
je 0x624411
push edi
jmp 0x62440c
mov eax, dword [esi + 0x18]
test eax, eax
je 0x624411
mov eax, dword [eax + 0x48]
test eax, eax
je 0x624411
mov edi, dword [eax + 0x264]
test edi, edi
je 0x624411
mov eax, dword [edi + 0x80]
dec eax
mov ebp, dword [esp + 0x134]
je 0x6242fd
dec eax
jne 0x624409
mov ecx, dword [0x7a39e4]
push 1
push 0x11e
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 1
push 0x11b
call fcn.005df4d0
fadd dword [esp + 0x18]
fcomp dword [0x740cbc]
fnstsw ax
test ah, 5
jnp 0x62402a
mov ecx, dword [0x7a39e4]
push 1
push 0x11e
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 1
push 0x11b
call fcn.005df4d0
fadd dword [esp + 0x18]
fld dword [0x73d764]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x62402a
mov dword [esp + 0x14], 0x3f800000
jmp 0x62409d
mov ecx, dword [0x7a39e4]
push 1
push 0x11e
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 1
push 0x11b
call fcn.005df4d0
fadd dword [esp + 0x18]
fcomp dword [0x740cbc]
fnstsw ax
test ah, 5
jp 0x62406d
mov dword [esp + 0x14], 0xbf800000
jmp 0x62409d
mov ecx, dword [0x7a39e4]
push 1
push 0x11e
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 1
push 0x11b
call fcn.005df4d0
fadd dword [esp + 0x18]
fstp dword [esp + 0x14]
mov ecx, dword [0x7a39e4]
push 1
push 0x11d
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 1
push 0x11a
call fcn.005df4d0
fadd dword [esp + 0x18]
fcomp dword [0x740cbc]
fnstsw ax
test ah, 5
jnp 0x62411d
mov ecx, dword [0x7a39e4]
push 1
push 0x11d
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 1
push 0x11a
call fcn.005df4d0
fadd dword [esp + 0x18]
fld dword [0x73d764]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x62411d
mov dword [esp + 0x10], 0x3f800000
jmp 0x624190
mov ecx, dword [0x7a39e4]
push 1
push 0x11d
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 1
push 0x11a
call fcn.005df4d0
fadd dword [esp + 0x18]
fcomp dword [0x740cbc]
fnstsw ax
test ah, 5
jp 0x624160
mov dword [esp + 0x10], 0xbf800000
jmp 0x624190
mov ecx, dword [0x7a39e4]
push 1
push 0x11d
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 1
push 0x11a
call fcn.005df4d0
fadd dword [esp + 0x18]
fstp dword [esp + 0x10]
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 4]
call fcn.005ed700
test eax, eax
je 0x6241bd
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 4]
call fcn.005ed700
test byte [eax + 8], bl
je 0x6241bd
fld dword [esp + 0x10]
fchs
jmp 0x6241c1
fld dword [esp + 0x10]
mov eax, dword [esp + 0x14]
fstp dword [esp + 0x54]
push ebp
lea ecx, [esp + 0x50]
push ecx
mov ecx, edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0
call fcn.00670fb0
mov ecx, dword [0x7a39e4]
push 1
push 0x17
call fcn.005df4d0
fdiv dword [0x7a232c]
mov ecx, dword [0x7a39e4]
push 1
push 0x18
fstp dword [esp + 0x1c]
call fcn.005df4d0
fld dword [0x740cbc]
fdiv dword [0x7a232c]
fmulp st(1)
fstp dword [esp + 0x10]
fld dword [0x740cbc]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
je 0x624248
fld dword [0x73d764]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x624250
mov dword [esp + 0x14], 0x3f800000
jmp 0x624250
mov dword [esp + 0x14], 0xbf800000
fld dword [0x740cbc]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
je 0x62427c
fld dword [0x73d764]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x624284
mov dword [esp + 0x10], 0x3f800000
jmp 0x624284
mov dword [esp + 0x10], 0xbf800000
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 4]
call fcn.005ed700
test eax, eax
je 0x6242b2
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 4]
call fcn.005ed700
test byte [eax + 8], bl
je 0x6242b2
fld dword [esp + 0x10]
fchs
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push ebp
push ecx
push edx
mov ecx, edi
call fcn.00671020
mov ecx, esi
call fcn.005f2df0
test eax, eax
jne 0x624409
mov esi, dword [esi + 0x274]
movsx eax, word [esi + 0x6e]
mov ecx, dword [0x7a39e4]
cdq
sub eax, edx
sar eax, 1
push eax
movsx eax, word [esi + 0x6c]
cdq
sub eax, edx
sar eax, 1
push eax
call fcn.005df5d0
jmp 0x624409
mov ecx, dword [0x7a39e4]
push 1
push 0x11e
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 1
push 0x11b
call fcn.005df4d0
fadd dword [esp + 0x18]
fcomp dword [0x740cbc]
fnstsw ax
test ah, 5
jnp 0x62437b
mov ecx, dword [0x7a39e4]
push 1
push 0x11e
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 1
push 0x11b
call fcn.005df4d0
fadd dword [esp + 0x18]
fld dword [0x73d764]
fcomp st(1)
fnstsw ax
fstp st(0)
test ah, 5
jp 0x62437b
fld dword [0x73d764]
jmp 0x6243e8
mov ecx, dword [0x7a39e4]
push 1
push 0x11e
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 1
push 0x11b
call fcn.005df4d0
fadd dword [esp + 0x18]
fcomp dword [0x740cbc]
fnstsw ax
test ah, 5
jp 0x6243bc
fld dword [0x740cbc]
jmp 0x6243e8
mov ecx, dword [0x7a39e4]
push 1
push 0x11e
call fcn.005df4d0
fstp dword [esp + 0x18]
mov ecx, dword [0x7a39e4]
push 1
push 0x11b
call fcn.005df4d0
fadd dword [esp + 0x18]
push ebp
fstp dword [esp + 0x34]
lea eax, [esp + 0x34]
push eax
mov ecx, edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
call fcn.00670fb0
push ebp
mov ecx, edi
call fcn.006710e0
lea ecx, [esp + 0x94]
mov byte [esp + 0x12c], 0
call fcn.005e5c20
lea ecx, [esp + 0x88]
mov dword [esp + 0x12c], 0xffffffff
call fcn.005e5c20
mov ecx, dword [esp + 0x124]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x120
ret 4