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

Disassembly:
sub esp, 0xb0
push esi
mov esi, ecx
cmp byte [esi + 0x48], 0
je 0x518d02
mov ecx, dword [esi + 0x4c]
test ecx, ecx
je 0x518d02
call fcn.0052b170
mov dword [esp + 0x24], eax
test eax, eax
je 0x518d02
fld dword [esi + 0x3c]
fstp dword [esp + 0x10]
fld dword [esi + 0x40]
fadd qword [0x622160]
fstp dword [esp + 0x3c]
call fcn.0051a230
mov dword [esp + 0x2c], eax
cmp eax, 0x4e8
movzx eax, byte [esi + 0x10]
jne 0x51808b
sub eax, 1
je 0x518079
sub eax, 1
jne 0x5180c3
mov ax, word [esi + 0xc]
fld dword [esp + 0x10]
shr ax, 1
movzx ecx, ax
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
jmp 0x5180bd
movzx edx, word [esi + 0xc]
fld dword [esp + 0x10]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
jmp 0x5180bd
sub eax, 2
je 0x5180a7
sub eax, 1
jne 0x5180c3
movzx eax, word [esi + 0xc]
fld dword [esp + 0x10]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
jmp 0x5180bd
mov cx, word [esi + 0xc]
fld dword [esp + 0x10]
shr cx, 1
movzx edx, cx
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fsubp st(1)
fstp dword [esp + 0x10]
mov al, byte [esi + 0x11]
cmp al, 0x20
je 0x5180e0
cmp al, 0x30
jne 0x5180fc
movzx eax, word [esi + 0xe]
fld dword [esp + 0x3c]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
jmp 0x5180f6
movzx ecx, word [esi + 0xe]
fld dword [esp + 0x3c]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fmul qword [0x6221e0]
fsubp st(1)
fstp dword [esp + 0x3c]
mov ecx, dword [0x6b1ff8]
push ebx
push ebp
push edi
push 5
push 0x13
call fcn.0050f050
mov ecx, dword [0x6b1ff8]
push 6
push 0x14
call fcn.0050f050
mov ecx, dword [0x6b1ff8]
push 0x1c
call fcn.0050e900
mov ecx, dword [0x6b1ff8]
push 0x89
mov dword [esp + 0xb8], eax
call fcn.0050e900
mov ecx, dword [0x6b1ff8]
push 0
push 0x1c
mov dword [esp + 0x54], eax
call fcn.0050e910
mov ecx, dword [0x6b1ff8]
push 0
push 0x89
call fcn.0050e910
mov ecx, dword [0x6b1ff8]
push 0x142
call fcn.0050e9e0
mov ecx, dword [0x6b1ff8]
push 2
push 2
push 0
call fcn.0050e990
mov ecx, dword [0x6b1ff8]
push 0
push 3
push 0
call fcn.0050e990
mov ecx, dword [0x6b1ff8]
push 4
push 1
push 0
call fcn.0050e990
mov ecx, dword [0x6b1ff8]
push 2
push 5
push 0
call fcn.0050e990
mov ecx, dword [0x6b1ff8]
push 0
push 6
push 0
call fcn.0050e990
mov ecx, dword [0x6b1ff8]
push 4
push 4
push 0
call fcn.0050e990
fld dword [esi + 0x44]
cmp byte [esi + 0x1b], 0
fstp dword [esp + 0x5c]
fld dword [esi + 0x44]
fstp dword [esp + 0x74]
fld dword [esi + 0x44]
fstp dword [esp + 0x8c]
fld dword [esi + 0x44]
fstp dword [esp + 0xa4]
je 0x5185e3
fld dword [esp + 0x1c]
lea edx, [esp + 0x24]
fstp dword [esp + 0x10]
lea ecx, [esi + 0x50]
fld dword [esp + 0x48]
push edx
fstp dword [esp + 0x24]
call fcn.00583ce0
mov ebp, dword [eax]
mov ebx, dword [eax + 4]
mov edi, dword [esi + 0x60]
mov dword [esp + 0xbc], ebx
cmp dword [esi + 0x5c], edi
jbe 0x51823e
call fcn.005c5aaf
mov eax, dword [esi + 0x50]
test ebp, ebp
je 0x518249
cmp ebp, eax
je 0x51824e
call fcn.005c5aaf
cmp ebx, edi
je 0x5185e3
test ebp, ebp
jne 0x518305
call fcn.005c5aaf
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x51826f
call fcn.005c5aaf
mov edi, dword [ebx]
movsx eax, word [edi + 2]
movsx ecx, word [edi + 4]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
mov dword [esp + 0x18], ecx
fstp dword [esp + 0x3c]
fild dword [esp + 0x18]
fstp dword [esp + 0x34]
fld dword [edi + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x3c]
fld st(0)
fld dword [esp + 0x10]
fld st(0)
faddp st(2)
fld dword [esi + 0x3c]
fsubp st(2)
fld dword [esi + 0x14]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5182df
cmp byte [esi + 0x1a], 0
fstp st(0)
je 0x5185e1
fld dword [esp + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x20]
fadd qword [0x622178]
fstp dword [esp + 0x20]
fld dword [esp + 0x10]
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x51830d
fld dword [esp + 0x20]
fild dword [eax + 4]
fcompp
fnstsw ax
test ah, 1
jne 0x51830d
fstp st(1)
fadd dword [esp + 0x18]
jmp 0x5185bb
mov eax, dword [ebp]
jmp 0x518265
fld qword [0x6221e0]
movsx edx, word [edi]
fsub st(1), st(0)
mov ecx, dword [esp + 0x30]
fxch st(1)
push edx
fstp dword [esp + 0x44]
fsubr dword [esp + 0x24]
fstp dword [esp + 0x48]
fadd dword [esp + 0x44]
fstp dword [esp + 0x40]
fld dword [esp + 0x48]
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
call fcn.00536150
mov ecx, dword [esp + 0x30]
mov ebx, dword [0x6b1ff8]
call fcn.004e59a0
push eax
push 0
mov ecx, ebx
call fcn.0050e950
fld dword [edi + 8]
fstp dword [esp + 0x64]
mov eax, dword [esi + 8]
fld dword [edi + 0xc]
push 4
fstp dword [esp + 0x6c]
fld dword [edi + 8]
fstp dword [esp + 0x80]
fld dword [edi + 0x14]
fstp dword [esp + 0x84]
fld dword [edi + 0x10]
fstp dword [esp + 0x98]
fld dword [edi + 0xc]
fstp dword [esp + 0x9c]
fld dword [edi + 0x10]
fstp dword [esp + 0xb0]
fld dword [edi + 0x14]
mov dword [esp + 0x64], eax
fstp dword [esp + 0xb4]
mov dword [esp + 0x7c], eax
fld dword [esp + 0x48]
mov dword [esp + 0x94], eax
fldz
mov dword [esp + 0xac], eax
fsub st(1), st(0)
lea eax, [esp + 0x58]
fxch st(1)
push eax
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x60]
fld dword [esp + 0x3c]
fadd st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x78]
fstp dword [esp + 0xa8]
fstp dword [esp + 0x90]
fld dword [esp + 0x48]
fld1
fsub st(1), st(0)
fxch st(1)
fsub st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x5c]
fstp dword [esp + 0x74]
fsubr dword [esp + 0x44]
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x8c]
fstp dword [esp + 0xa4]
call fcn.00513cd0
add esp, 8
test al, al
je 0x518452
mov ecx, dword [0x6b1ff8]
push 2
push 0
push 5
call fcn.0050ebc0
fld dword [esp + 0x40]
lea ecx, [esp + 0x54]
fld1
push 4
fadd st(1), st(0)
push ecx
fldz
fsub st(2), st(0)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x5c]
fstp dword [esp + 0x74]
fadd dword [esp + 0x44]
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x8c]
fstp dword [esp + 0xa4]
call fcn.00513cd0
add esp, 8
test al, al
je 0x5184b0
mov ecx, dword [0x6b1ff8]
push 2
push 0
push 5
call fcn.0050ebc0
fld dword [esp + 0x40]
lea edx, [esp + 0x54]
fldz
push 4
fsub st(1), st(0)
push edx
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x5c]
fstp dword [esp + 0x74]
fld dword [esp + 0x44]
fadd st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x8c]
fstp dword [esp + 0xa4]
fld dword [esp + 0x4c]
fld1
fsub st(1), st(0)
fxch st(1)
fsub st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x60]
fld dword [esp + 0x3c]
fsubrp st(2)
fxch st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x78]
fstp dword [esp + 0xa8]
fstp dword [esp + 0x90]
call fcn.00513cd0
add esp, 8
test al, al
je 0x518548
mov ecx, dword [0x6b1ff8]
push 2
push 0
push 5
call fcn.0050ebc0
fld dword [esp + 0x44]
lea eax, [esp + 0x54]
fld1
push 4
fadd st(1), st(0)
push eax
fldz
fsub st(2), st(0)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x60]
fld dword [esp + 0x3c]
faddp st(2)
fxch st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x78]
fstp dword [esp + 0xa8]
fstp dword [esp + 0x90]
call fcn.00513cd0
add esp, 8
test al, al
je 0x5185ac
mov ecx, dword [0x6b1ff8]
push 2
push 0
push 5
call fcn.0050ebc0
fld dword [esp + 0x18]
mov ebx, dword [esp + 0xbc]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
test ebp, ebp
jne 0x5185dc
call fcn.005c5aaf
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x5185d4
call fcn.005c5aaf
add ebx, 4
jmp 0x51822a
mov eax, dword [ebp]
jmp 0x5185ca
fstp st(0)
mov ecx, dword [esi + 0x60]
fld dword [esp + 0x1c]
sub ecx, dword [esi + 0x5c]
fstp dword [esp + 0x10]
fld dword [esp + 0x48]
xor ebx, ebx
sar ecx, 2
fstp dword [esp + 0x20]
test ecx, ecx
jbe 0x518831
mov ebp, dword [esp + 0xc4]
lea ecx, [ecx]
mov edx, dword [esi + 0x60]
sub edx, dword [esi + 0x5c]
sar edx, 2
cmp ebx, edx
jb 0x518622
call fcn.005c5aaf
mov eax, dword [esi + 0x5c]
mov edi, dword [eax + ebx*4]
movsx ecx, word [edi + 2]
movsx edx, word [edi + 4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
fild dword [esp + 0x14]
fstp dword [esp + 0x3c]
fild dword [esp + 0x18]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fild dword [esp + 0x18]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x51865f
fst dword [esp + 0x34]
jmp 0x51866f
movsx eax, word [edi + 4]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fstp dword [esp + 0x34]
fld dword [edi + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x3c]
fld st(0)
fld dword [esp + 0x10]
fld st(0)
faddp st(2)
fld dword [esi + 0x3c]
fsubp st(2)
fld dword [esi + 0x14]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5186bb
cmp byte [esi + 0x1a], 0
fstp st(0)
je 0x51882d
fld dword [esp + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x34]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x10]
test ebp, ebp
je 0x5186dc
fld dword [esp + 0x20]
fild dword [ebp + 4]
fcompp
fnstsw ax
test ah, 1
jne 0x5186dc
fstp st(1)
fstp st(1)
fadd dword [esp + 0x18]
jmp 0x518815
fld qword [0x6221e0]
movsx ecx, word [edi]
fsub st(1), st(0)
push ecx
mov ecx, dword [esp + 0x34]
fxch st(1)
fstp dword [esp + 0x44]
fsubr dword [esp + 0x24]
fstp dword [esp + 0x48]
fadd dword [esp + 0x44]
fstp dword [esp + 0x40]
fadd dword [esp + 0x48]
fstp dword [esp + 0x38]
call fcn.00536150
mov ecx, dword [esp + 0x30]
mov ebp, dword [0x6b1ff8]
call fcn.004e59a0
push eax
push 0
mov ecx, ebp
call fcn.0050e950
fld dword [esp + 0x40]
fst dword [esp + 0x54]
mov edx, dword [esi + 0x78]
fld dword [esp + 0x44]
sub edx, dword [esi + 0x74]
fst dword [esp + 0x58]
fld dword [edi + 8]
sar edx, 2
fstp dword [esp + 0x64]
fld dword [edi + 0xc]
fstp dword [esp + 0x68]
fxch st(1)
fstp dword [esp + 0x6c]
fld dword [esp + 0x34]
fst dword [esp + 0x70]
fld dword [edi + 8]
fstp dword [esp + 0x7c]
fld dword [edi + 0x14]
fstp dword [esp + 0x80]
fld dword [esp + 0x3c]
fst dword [esp + 0x84]
fxch st(2)
fstp dword [esp + 0x88]
fld dword [edi + 0x10]
fstp dword [esp + 0x94]
fld dword [edi + 0xc]
fstp dword [esp + 0x98]
fxch st(1)
fstp dword [esp + 0x9c]
fstp dword [esp + 0xa0]
fld dword [edi + 0x10]
fstp dword [esp + 0xac]
fld dword [edi + 0x14]
fstp dword [esp + 0xb0]
cmp ebx, edx
jb 0x5187c3
call fcn.005c5aaf
mov eax, dword [esi + 0x74]
mov eax, dword [eax + ebx*4]
lea ecx, [esp + 0x54]
push 4
push ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x68], eax
call fcn.00513cd0
add esp, 8
test al, al
je 0x518806
mov ecx, dword [0x6b1ff8]
push 2
push 0
push 5
call fcn.0050ebc0
fld dword [esp + 0x18]
mov ebp, dword [esp + 0xc4]
fadd dword [esp + 0x10]
mov edx, dword [esi + 0x60]
fstp dword [esp + 0x10]
sub edx, dword [esi + 0x5c]
inc ebx
sar edx, 2
cmp ebx, edx
jb 0x518610
jmp 0x518831
fstp st(0)
fstp st(0)
cmp byte [esi + 0x18], 0
je 0x518bbf
call fcn.00524130
mov ebx, eax
call fcn.00523fe0
mov ebp, eax
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x24]
push ecx
push ebx
mov ecx, esi
add ebp, ebx
call fcn.005171d0
fld dword [esp + 0x20]
cmp ebx, ebp
jge 0x518884
lea edx, [esp + 0x10]
fstp st(0)
push edx
lea eax, [esp + 0x20]
push eax
push ebp
mov ecx, esi
mov edi, 0x7fffffff
call fcn.005171d0
fld dword [esp + 0x20]
jmp 0x518893
fld qword [0x6224b8]
or edi, 0xffffffff
fadd st(1)
fstp dword [esp + 0x1c]
cmp dword [esp + 0x38], 0x4e8
jne 0x5188d7
movzx ecx, word [esi + 0xc]
fld dword [esi + 0x3c]
movzx edx, word [esi + 0xe]
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
mov dword [esp + 0x38], edx
fsubp st(1)
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x20]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fadd dword [esi + 0x40]
fstp dword [esp + 0x10]
fild dword [esp + 0x38]
jmp 0x518900
fadd dword [esi + 0x3c]
movzx eax, word [esi + 0xe]
mov dword [esp + 0x38], eax
fstp dword [esp + 0x20]
fld dword [esp + 0x10]
fadd dword [esi + 0x40]
fstp dword [esp + 0x10]
fld dword [esi + 0x3c]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fild dword [esp + 0x38]
fld dword [esp + 0x10]
mov al, byte [esi + 0x11]
fld st(0)
fadd st(2)
fstp dword [esp + 0x30]
cmp al, 0x20
je 0x518923
cmp al, 0x30
jne 0x518937
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
jmp 0x518939
fxch st(1)
fmul qword [0x6221e0]
fsubp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
jmp 0x518939
fstp st(1)
fld dword [esp + 0x20]
push 0
fst dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
fxch st(1)
mov dword [esp + 0x58], ecx
fst dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
fldz
mov dword [esp + 0x5c], edx
fst dword [esp + 0x30]
push 0
fld dword [esp + 0x24]
mov eax, dword [esp + 0x34]
fst dword [esp + 0x2c]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x2c]
fxch st(2)
fstp dword [esp + 0x30]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x78], edx
fst dword [esp + 0x34]
mov eax, dword [esp + 0x34]
fxch st(2)
mov dword [esp + 0x7c], eax
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
fld dword [esp + 0x38]
mov dword [esp + 0x8c], ecx
fst dword [esp + 0x30]
mov edx, dword [esp + 0x30]
fxch st(2)
mov dword [esp + 0x90], edx
fst dword [esp + 0x34]
mov eax, dword [esp + 0x34]
fxch st(1)
mov dword [esp + 0x94], eax
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
fxch st(1)
mov dword [esp + 0xa4], ecx
mov ecx, dword [0x6b1ff8]
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], eax
call fcn.0050e950
push 5
call fcn.00513a50
lea ecx, [esp + 0x58]
push 4
push ecx
call fcn.00513cd0
add esp, 0xc
test al, al
je 0x518a4c
mov ecx, dword [0x6b1ff8]
push 2
push 0
push 4
push 0
push 4
call fcn.0050ec30
call fcn.00523ff0
mov edi, eax
call fcn.00524000
mov ebp, eax
cmp edi, ebp
jge 0x518bbf
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x24]
push eax
add edi, ebx
push edi
mov ecx, esi
call fcn.005171d0
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push edx
add ebp, ebx
push ebp
mov ecx, esi
call fcn.005171d0
fld dword [esi + 0x3c]
fadd dword [esp + 0x20]
movzx eax, word [esi + 0xe]
mov dword [esp + 0x38], eax
mov eax, 0xffff0000
fstp dword [esp + 0x20]
mov dword [esp + 0x60], eax
fild dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0xa8], eax
fadd dword [esi + 0x40]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esi + 0x3c]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fld qword [0x6224b8]
fadd st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x20]
fst dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
fxch st(1)
mov dword [esp + 0x54], ecx
fst dword [esp + 0x28]
mov edx, dword [esp + 0x28]
fldz
mov dword [esp + 0x58], edx
fst dword [esp + 0x2c]
fld dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
fst dword [esp + 0x24]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x24]
fxch st(2)
fstp dword [esp + 0x28]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x70], edx
fst dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
fxch st(2)
mov dword [esp + 0x74], eax
fstp dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
fld dword [esp + 0x30]
mov dword [esp + 0x84], ecx
fst dword [esp + 0x28]
mov edx, dword [esp + 0x28]
fxch st(2)
mov dword [esp + 0x88], edx
fst dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
fxch st(1)
mov dword [esp + 0x8c], eax
fstp dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
fxch st(1)
mov dword [esp + 0x9c], ecx
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xa0], edx
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
push 0x18
lea ecx, [esp + 0x58]
push ecx
mov ecx, dword [0x6b1ff8]
push 0x65
push 0x6356d4
push 2
push 4
push 0
push 4
mov dword [esp + 0xc4], eax
call fcn.0050ec60
mov ecx, dword [0x6b1ff8]
push 0x13
call fcn.0050f070
mov ecx, dword [0x6b1ff8]
push 0x14
call fcn.0050f070
mov edx, dword [esp + 0xb4]
mov ecx, dword [0x6b1ff8]
push edx
push 0x1c
call fcn.0050e910
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x6b1ff8]
push eax
push 0x89
call fcn.0050e910
mov ecx, dword [esi + 0x90]
sub ecx, dword [esi + 0x8c]
lea ebp, [esi + 0x80]
test ecx, 0xffffffe0
je 0x518cff
fild dword [0x6ed30c]
fsub dword [esi + 0x3c]
call fcn.005c5ec0
fild dword [0x6ed310]
mov edi, eax
mov dword [esp + 0x30], edi
fsub dword [esi + 0x40]
call fcn.005c5ec0
test edi, edi
jl 0x518cff
test eax, eax
jl 0x518cff
movzx edx, word [esi + 0xc]
cmp edi, edx
jge 0x518cff
movzx ecx, word [esi + 0xe]
cmp eax, ecx
jge 0x518cff
lea edx, [esp + 0x4c]
push edx
mov ecx, ebp
call fcn.00583ce0
mov edi, dword [esp + 0x4c]
jmp 0x518c80
mov esi, dword [ebp + 0x10]
cmp dword [ebp + 0xc], esi
jbe 0x518c8d
call fcn.005c5aaf
mov eax, dword [ebp]
test edi, edi
je 0x518c98
cmp edi, eax
je 0x518c9d
call fcn.005c5aaf
cmp dword [esp + 0x50], esi
je 0x518cff
mov ebx, dword [esp + 0x50]
mov esi, edi
test edi, edi
jne 0x518d0c
call fcn.005c5aaf
xor eax, eax
mov ecx, dword [esp + 0x50]
cmp ecx, dword [eax + 0x10]
jb 0x518cc2
call fcn.005c5aaf
add dword [esp + 0x50], 0x20
test esi, esi
jne 0x518d10
call fcn.005c5aaf
cmp ebx, dword [esi + 0x10]
jb 0x518cda
call fcn.005c5aaf
movsx edx, word [ebx]
cmp dword [esp + 0x30], edx
jl 0x518c80
movsx eax, word [ebx + 2]
cmp dword [esp + 0x30], eax
jge 0x518c80
push 0xffffffffffffffff
push 0
add ebx, 4
push ebx
mov ecx, 0x68b510
call fcn.00517a80
pop edi
pop ebp
pop ebx
pop esi
add esp, 0xb0
ret 4
mov eax, dword [edi]
jmp 0x518cb4
mov esi, dword [esi]
jmp 0x518cd0