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

Disassembly:
sub esp, 0xac
push esi
mov esi, ecx
cmp byte [esi + 0x48], 0
je 0x56337e
mov ecx, dword [esi + 0x4c]
test ecx, ecx
je 0x56337e
call fcn.00582540
mov dword [esp + 0x24], eax
test eax, eax
je 0x56337e
fld dword [esi + 0x3c]
fstp dword [esp + 0x10]
fld dword [esi + 0x40]
fadd qword [0x676268]
fstp dword [esp + 0x3c]
call fcn.00564dc0
mov dword [esp + 0x2c], eax
cmp eax, 0x4e8
movzx eax, byte [esi + 0x10]
jne 0x5626eb
sub eax, 1
je 0x5626d9
sub eax, 1
jne 0x562723
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 0x56271d
movzx edx, word [esi + 0xc]
fld dword [esp + 0x10]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
jmp 0x56271d
sub eax, 2
je 0x562707
sub eax, 1
jne 0x562723
movzx eax, word [esi + 0xc]
fld dword [esp + 0x10]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
jmp 0x56271d
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 0x562740
cmp al, 0x30
jne 0x56275c
movzx eax, word [esi + 0xe]
fld dword [esp + 0x3c]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
jmp 0x562756
movzx ecx, word [esi + 0xe]
fld dword [esp + 0x3c]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fmul qword [0x676648]
fsubp st(1)
fstp dword [esp + 0x3c]
mov ecx, dword [0x70f780]
push ebx
push ebp
push edi
push 5
push 0x13
call fcn.00557430
mov ecx, dword [0x70f780]
push 6
push 0x14
call fcn.00557430
mov ecx, dword [0x70f780]
push 0x1c
call fcn.00556ce0
mov ecx, dword [0x70f780]
push 0x89
mov dword [esp + 0xbc], eax
call fcn.00556ce0
mov ecx, dword [0x70f780]
push 0
push 0x1c
mov dword [esp + 0xb4], eax
call fcn.00556cf0
mov ecx, dword [0x70f780]
push 0
push 0x89
call fcn.00556cf0
mov ecx, dword [0x70f780]
push 0x142
call fcn.00556dc0
mov ecx, dword [0x70f780]
push 2
push 2
push 0
call fcn.00556d70
mov ecx, dword [0x70f780]
push 0
push 3
push 0
call fcn.00556d70
mov ecx, dword [0x70f780]
push 4
push 1
push 0
call fcn.00556d70
mov ecx, dword [0x70f780]
push 2
push 5
push 0
call fcn.00556d70
mov ecx, dword [0x70f780]
push 0
push 6
push 0
call fcn.00556d70
mov ecx, dword [0x70f780]
push 4
push 4
push 0
call fcn.00556d70
fld dword [esi + 0x44]
cmp byte [esi + 0x1b], 0
fstp dword [esp + 0x54]
fld dword [esi + 0x44]
fstp dword [esp + 0x6c]
fld dword [esi + 0x44]
fstp dword [esp + 0x84]
fld dword [esi + 0x44]
fstp dword [esp + 0x9c]
je 0x562c40
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.00517fa0
mov ebp, dword [eax]
mov ebx, dword [eax + 4]
mov edi, dword [esi + 0x60]
mov dword [esp + 0xb4], ebx
cmp dword [esi + 0x5c], edi
jbe 0x5628a1
call fcn.00615e0c
mov eax, dword [esi + 0x50]
test ebp, ebp
je 0x5628ac
cmp ebp, eax
je 0x5628b1
call fcn.00615e0c
cmp ebx, edi
je 0x562c40
test ebp, ebp
jne 0x562968
call fcn.00615e0c
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x5628d2
call fcn.00615e0c
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 0x562942
cmp byte [esi + 0x1a], 0
fstp st(0)
je 0x562c3e
fld dword [esp + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x20]
fadd qword [0x6762a8]
fstp dword [esp + 0x20]
fld dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x562970
fld dword [esp + 0x20]
fild dword [eax + 4]
fcompp
fnstsw ax
test ah, 1
jne 0x562970
fstp st(1)
fadd dword [esp + 0x18]
jmp 0x562c18
mov eax, dword [ebp]
jmp 0x5628c8
fld qword [0x676648]
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.005814b0
mov ecx, dword [esp + 0x30]
mov ebx, dword [0x70f780]
call fcn.0056a9c0
push eax
push 0
mov ecx, ebx
call fcn.00556d30
fld dword [edi + 8]
fstp dword [esp + 0x5c]
mov eax, dword [esi + 8]
fld dword [edi + 0xc]
push 4
fstp dword [esp + 0x64]
fld dword [edi + 8]
fstp dword [esp + 0x78]
fld dword [edi + 0x14]
fstp dword [esp + 0x7c]
fld dword [edi + 0x10]
fstp dword [esp + 0x90]
fld dword [edi + 0xc]
fstp dword [esp + 0x94]
fld dword [edi + 0x10]
fstp dword [esp + 0xa8]
fld dword [edi + 0x14]
mov dword [esp + 0x5c], eax
fstp dword [esp + 0xac]
mov dword [esp + 0x74], eax
fld dword [esp + 0x48]
mov dword [esp + 0x8c], eax
fldz
mov dword [esp + 0xa4], eax
fsub st(1), st(0)
lea eax, [esp + 0x50]
fxch st(1)
push eax
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x58]
fld dword [esp + 0x3c]
fadd st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x70]
fstp dword [esp + 0xa0]
fstp dword [esp + 0x88]
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 + 0x54]
fstp dword [esp + 0x6c]
fsubr dword [esp + 0x44]
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x84]
fstp dword [esp + 0x9c]
call fcn.0055c760
add esp, 8
test al, al
je 0x562aaf
mov ecx, dword [0x70f780]
push 2
push 0
push 5
call fcn.00556fa0
fld dword [esp + 0x40]
lea ecx, [esp + 0x4c]
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 + 0x54]
fstp dword [esp + 0x6c]
fadd dword [esp + 0x44]
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x84]
fstp dword [esp + 0x9c]
call fcn.0055c760
add esp, 8
test al, al
je 0x562b0d
mov ecx, dword [0x70f780]
push 2
push 0
push 5
call fcn.00556fa0
fld dword [esp + 0x40]
lea edx, [esp + 0x4c]
fldz
push 4
fsub st(1), st(0)
push edx
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x54]
fstp dword [esp + 0x6c]
fld dword [esp + 0x44]
fadd st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esp + 0x84]
fstp dword [esp + 0x9c]
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 + 0x58]
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 + 0x70]
fstp dword [esp + 0xa0]
fstp dword [esp + 0x88]
call fcn.0055c760
add esp, 8
test al, al
je 0x562ba5
mov ecx, dword [0x70f780]
push 2
push 0
push 5
call fcn.00556fa0
fld dword [esp + 0x44]
lea eax, [esp + 0x4c]
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 + 0x58]
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 + 0x70]
fstp dword [esp + 0xa0]
fstp dword [esp + 0x88]
call fcn.0055c760
add esp, 8
test al, al
je 0x562c09
mov ecx, dword [0x70f780]
push 2
push 0
push 5
call fcn.00556fa0
fld dword [esp + 0x18]
mov ebx, dword [esp + 0xb4]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
test ebp, ebp
jne 0x562c39
call fcn.00615e0c
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x562c31
call fcn.00615e0c
add ebx, 4
jmp 0x56288d
mov eax, dword [ebp]
jmp 0x562c27
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 0x562e88
mov ebp, dword [esp + 0xc0]
lea ebx, [ebx]
mov edx, dword [esi + 0x60]
sub edx, dword [esi + 0x5c]
sar edx, 2
cmp ebx, edx
jb 0x562c82
call fcn.00615e0c
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 0x562cbf
fst dword [esp + 0x34]
jmp 0x562ccf
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 0x562d1b
cmp byte [esi + 0x1a], 0
fstp st(0)
je 0x562e84
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 0x562d3c
fld dword [esp + 0x20]
fild dword [ebp + 4]
fcompp
fnstsw ax
test ah, 1
jne 0x562d3c
fstp st(1)
fstp st(1)
fadd dword [esp + 0x18]
jmp 0x562e6c
fld qword [0x676648]
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.005814b0
mov ecx, dword [esp + 0x30]
mov ebp, dword [0x70f780]
call fcn.0056a9c0
push eax
push 0
mov ecx, ebp
call fcn.00556d30
fld dword [esp + 0x40]
fst dword [esp + 0x4c]
mov edx, dword [esi + 0x78]
fld dword [esp + 0x44]
sub edx, dword [esi + 0x74]
fst dword [esp + 0x50]
fld dword [edi + 8]
sar edx, 2
fstp dword [esp + 0x5c]
fld dword [edi + 0xc]
fstp dword [esp + 0x60]
fxch st(1)
fstp dword [esp + 0x64]
fld dword [esp + 0x34]
fst dword [esp + 0x68]
fld dword [edi + 8]
fstp dword [esp + 0x74]
fld dword [edi + 0x14]
fstp dword [esp + 0x78]
fld dword [esp + 0x3c]
fst dword [esp + 0x7c]
fxch st(2)
fstp dword [esp + 0x80]
fld dword [edi + 0x10]
fstp dword [esp + 0x8c]
fld dword [edi + 0xc]
fstp dword [esp + 0x90]
fxch st(1)
fstp dword [esp + 0x94]
fstp dword [esp + 0x98]
fld dword [edi + 0x10]
fstp dword [esp + 0xa4]
fld dword [edi + 0x14]
fstp dword [esp + 0xa8]
cmp ebx, edx
jb 0x562e1d
call fcn.00615e0c
mov eax, dword [esi + 0x74]
mov eax, dword [eax + ebx*4]
lea ecx, [esp + 0x4c]
push 4
push ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x60], eax
call fcn.0055c760
add esp, 8
test al, al
je 0x562e5d
mov ecx, dword [0x70f780]
push 2
push 0
push 5
call fcn.00556fa0
fld dword [esp + 0x18]
mov ebp, dword [esp + 0xc0]
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 0x562c70
jmp 0x562e88
fstp st(0)
fstp st(0)
cmp byte [esi + 0x18], 0
je 0x563210
call fcn.0056db90
mov ebx, eax
call fcn.0056da40
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.00561830
fld dword [esp + 0x20]
cmp ebx, ebp
jge 0x562edb
lea edx, [esp + 0x10]
fstp st(0)
push edx
lea eax, [esp + 0x20]
push eax
push ebp
mov ecx, esi
mov edi, closesocket
call fcn.00561830
fld dword [esp + 0x20]
jmp 0x562eea
fld qword [0x6766d0]
or edi, 0xffffffff
fadd st(1)
fstp dword [esp + 0x1c]
cmp dword [esp + 0x38], 0x4e8
jne 0x562f2e
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 0x562f57
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 0x562f7a
cmp al, 0x30
jne 0x562f8e
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
jmp 0x562f90
fxch st(1)
fmul qword [0x676648]
fsubp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
jmp 0x562f90
fstp st(1)
fld dword [esp + 0x20]
push 0
fst dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
fxch st(1)
mov dword [esp + 0x50], ecx
fst dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
fldz
mov dword [esp + 0x54], edx
fst dword [esp + 0x30]
push 0
fld dword [esp + 0x24]
mov eax, dword [esp + 0x34]
fst dword [esp + 0x2c]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x2c]
fxch st(2)
fstp dword [esp + 0x30]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], edx
fst dword [esp + 0x34]
mov eax, dword [esp + 0x34]
fxch st(2)
mov dword [esp + 0x74], eax
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
fld dword [esp + 0x38]
mov dword [esp + 0x84], ecx
fst dword [esp + 0x30]
mov edx, dword [esp + 0x30]
fxch st(2)
mov dword [esp + 0x88], edx
fst dword [esp + 0x34]
mov eax, dword [esp + 0x34]
fxch st(1)
mov dword [esp + 0x8c], eax
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
fxch st(1)
mov dword [esp + 0x9c], ecx
mov ecx, dword [0x70f780]
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x60], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], eax
call fcn.00556d30
push 5
call fcn.0055c4e0
lea ecx, [esp + 0x50]
push 4
push ecx
call fcn.0055c760
add esp, 0xc
test al, al
je 0x5630a0
mov ecx, dword [0x70f780]
push 2
push 0
push 4
push 0
push 4
call fcn.00557010
call fcn.0056da50
mov edi, eax
call fcn.0056da60
mov ebp, eax
cmp edi, ebp
jge 0x563210
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x24]
push eax
add edi, ebx
push edi
mov ecx, esi
call fcn.00561830
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push edx
add ebp, ebx
push ebp
mov ecx, esi
call fcn.00561830
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 + 0x58], eax
fild dword [esp + 0x38]
mov dword [esp + 0x70], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0xa0], 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 [0x6766d0]
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 + 0x4c], ecx
fst dword [esp + 0x28]
mov edx, dword [esp + 0x28]
fldz
mov dword [esp + 0x50], edx
fst dword [esp + 0x2c]
fld dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
fst dword [esp + 0x24]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x24]
fxch st(2)
fstp dword [esp + 0x28]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x68], edx
fst dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
fxch st(2)
mov dword [esp + 0x6c], eax
fstp dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
fld dword [esp + 0x30]
mov dword [esp + 0x7c], ecx
fst dword [esp + 0x28]
mov edx, dword [esp + 0x28]
fxch st(2)
mov dword [esp + 0x80], edx
fst dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
fxch st(1)
mov dword [esp + 0x84], eax
fstp dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
fxch st(1)
mov dword [esp + 0x94], ecx
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x98], edx
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
push 0x18
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [0x70f780]
push 0x65
push 0x68e08c
push 2
push 4
push 0
push 4
mov dword [esp + 0xbc], eax
call fcn.00557040
mov ecx, dword [0x70f780]
push 0x13
call fcn.00557450
mov ecx, dword [0x70f780]
push 0x14
call fcn.00557450
mov edx, dword [esp + 0xb8]
mov ecx, dword [0x70f780]
push edx
push 0x1c
call fcn.00556cf0
mov eax, dword [esp + 0xac]
mov ecx, dword [0x70f780]
push eax
push 0x89
call fcn.00556cf0
mov ecx, dword [esi + 0x90]
sub ecx, dword [esi + 0x8c]
lea ebp, [esi + 0x80]
mov dword [esp + 0xac], ebp
test ecx, 0xffffffe0
je 0x56337b
fild dword [0x74b1a4]
fsub dword [esi + 0x3c]
call fcn.00613e80
fild dword [0x74b1a8]
mov ebx, eax
mov dword [esp + 0x30], ebx
fsub dword [esi + 0x40]
call fcn.00613e80
mov edi, eax
call fcn.00564dc0
cmp eax, 0x4e8
jne 0x5632ba
movzx edx, word [esi + 0xe]
neg ebx
sub edx, edi
mov dword [esp + 0x30], ebx
mov edi, edx
test ebx, ebx
jl 0x56337b
test edi, edi
jl 0x56337b
movzx eax, word [esi + 0xc]
cmp ebx, eax
jge 0x56337b
movzx ecx, word [esi + 0xe]
cmp edi, ecx
jge 0x56337b
lea edx, [esp + 0xb0]
push edx
mov ecx, ebp
call fcn.00517fa0
mov edi, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb4]
nop
mov ebx, dword [esp + 0xac]
mov esi, dword [ebx + 0x10]
cmp dword [ebx + 0xc], esi
jbe 0x563314
call fcn.00615e0c
mov eax, dword [ebx]
test edi, edi
je 0x56331e
cmp edi, eax
je 0x563323
call fcn.00615e0c
cmp ebp, esi
je 0x56337b
mov esi, edi
mov ebx, ebp
test edi, edi
jne 0x563388
call fcn.00615e0c
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x563340
call fcn.00615e0c
add ebp, 0x20
test esi, esi
jne 0x56338c
call fcn.00615e0c
cmp ebx, dword [esi + 0x10]
jb 0x563356
call fcn.00615e0c
movsx eax, word [ebx]
cmp dword [esp + 0x30], eax
jl 0x563300
movsx ecx, word [ebx + 2]
cmp dword [esp + 0x30], ecx
jge 0x563300
push 0xffffffffffffffff
push 0
add ebx, 4
push ebx
mov ecx, 0x6e7948
call fcn.005620e0
pop edi
pop ebp
pop ebx
pop esi
add esp, 0xac
ret 4
mov eax, dword [edi]
jmp 0x563336
mov esi, dword [esi]
jmp 0x56334c