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

Disassembly:
sub esp, 0xac
push esi
mov esi, ecx
cmp byte [esi + 0x48], 0
je 0x55fdbe
mov ecx, dword [esi + 0x4c]
test ecx, ecx
je 0x55fdbe
call fcn.0057f620
mov dword [esp + 0x24], eax
test eax, eax
je 0x55fdbe
fld dword [esi + 0x3c]
fstp dword [esp + 0x10]
fld dword [esi + 0x40]
fadd qword [0x673248]
fstp dword [esp + 0x3c]
call fcn.00561800
mov dword [esp + 0x2c], eax
cmp eax, 0x4e8
movzx eax, byte [esi + 0x10]
jne 0x55f12b
sub eax, 1
je 0x55f119
sub eax, 1
jne 0x55f163
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 0x55f15d
movzx edx, word [esi + 0xc]
fld dword [esp + 0x10]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
jmp 0x55f15d
sub eax, 2
je 0x55f147
sub eax, 1
jne 0x55f163
movzx eax, word [esi + 0xc]
fld dword [esp + 0x10]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
jmp 0x55f15d
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 0x55f180
cmp al, 0x30
jne 0x55f19c
movzx eax, word [esi + 0xe]
fld dword [esp + 0x3c]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
jmp 0x55f196
movzx ecx, word [esi + 0xe]
fld dword [esp + 0x3c]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fmul qword [0x673618]
fsubp st(1)
fstp dword [esp + 0x3c]
mov ecx, dword [0x70a5c0]
push ebx
push ebp
push edi
push 5
push 0x13
call fcn.005539f0
mov ecx, dword [0x70a5c0]
push 6
push 0x14
call fcn.005539f0
mov ecx, dword [0x70a5c0]
push 0x1c
call fcn.005532a0
mov ecx, dword [0x70a5c0]
push 0x89
mov dword [esp + 0xbc], eax
call fcn.005532a0
mov ecx, dword [0x70a5c0]
push 0
push 0x1c
mov dword [esp + 0xb4], eax
call fcn.005532b0
mov ecx, dword [0x70a5c0]
push 0
push 0x89
call fcn.005532b0
mov ecx, dword [0x70a5c0]
push 0x142
call fcn.00553380
mov ecx, dword [0x70a5c0]
push 2
push 2
push 0
call fcn.00553330
mov ecx, dword [0x70a5c0]
push 0
push 3
push 0
call fcn.00553330
mov ecx, dword [0x70a5c0]
push 4
push 1
push 0
call fcn.00553330
mov ecx, dword [0x70a5c0]
push 2
push 5
push 0
call fcn.00553330
mov ecx, dword [0x70a5c0]
push 0
push 6
push 0
call fcn.00553330
mov ecx, dword [0x70a5c0]
push 4
push 4
push 0
call fcn.00553330
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 0x55f680
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.00514ea0
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 0x55f2e1
call fcn.006111cc
mov eax, dword [esi + 0x50]
test ebp, ebp
je 0x55f2ec
cmp ebp, eax
je 0x55f2f1
call fcn.006111cc
cmp ebx, edi
je 0x55f680
test ebp, ebp
jne 0x55f3a8
call fcn.006111cc
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x55f312
call fcn.006111cc
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 0x55f382
cmp byte [esi + 0x1a], 0
fstp st(0)
je 0x55f67e
fld dword [esp + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x20]
fadd qword [0x673288]
fstp dword [esp + 0x20]
fld dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x55f3b0
fld dword [esp + 0x20]
fild dword [eax + 4]
fcompp
fnstsw ax
test ah, 1
jne 0x55f3b0
fstp st(1)
fadd dword [esp + 0x18]
jmp 0x55f658
mov eax, dword [ebp]
jmp 0x55f308
fld qword [0x673618]
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.0057e330
mov ecx, dword [esp + 0x30]
mov ebx, dword [0x70a5c0]
call fcn.0052cea0
push eax
push 0
mov ecx, ebx
call fcn.005532f0
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.00558d00
add esp, 8
test al, al
je 0x55f4ef
mov ecx, dword [0x70a5c0]
push 2
push 0
push 5
call fcn.00553560
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.00558d00
add esp, 8
test al, al
je 0x55f54d
mov ecx, dword [0x70a5c0]
push 2
push 0
push 5
call fcn.00553560
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.00558d00
add esp, 8
test al, al
je 0x55f5e5
mov ecx, dword [0x70a5c0]
push 2
push 0
push 5
call fcn.00553560
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.00558d00
add esp, 8
test al, al
je 0x55f649
mov ecx, dword [0x70a5c0]
push 2
push 0
push 5
call fcn.00553560
fld dword [esp + 0x18]
mov ebx, dword [esp + 0xb4]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
test ebp, ebp
jne 0x55f679
call fcn.006111cc
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x55f671
call fcn.006111cc
add ebx, 4
jmp 0x55f2cd
mov eax, dword [ebp]
jmp 0x55f667
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 0x55f8c8
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 0x55f6c2
call fcn.006111cc
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 0x55f6ff
fst dword [esp + 0x34]
jmp 0x55f70f
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 0x55f75b
cmp byte [esi + 0x1a], 0
fstp st(0)
je 0x55f8c4
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 0x55f77c
fld dword [esp + 0x20]
fild dword [ebp + 4]
fcompp
fnstsw ax
test ah, 1
jne 0x55f77c
fstp st(1)
fstp st(1)
fadd dword [esp + 0x18]
jmp 0x55f8ac
fld qword [0x673618]
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.0057e330
mov ecx, dword [esp + 0x30]
mov ebp, dword [0x70a5c0]
call fcn.0052cea0
push eax
push 0
mov ecx, ebp
call fcn.005532f0
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 0x55f85d
call fcn.006111cc
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.00558d00
add esp, 8
test al, al
je 0x55f89d
mov ecx, dword [0x70a5c0]
push 2
push 0
push 5
call fcn.00553560
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 0x55f6b0
jmp 0x55f8c8
fstp st(0)
fstp st(0)
cmp byte [esi + 0x18], 0
je 0x55fc50
call fcn.0056a4c0
mov ebx, eax
call fcn.0056a370
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.0055e270
fld dword [esp + 0x20]
cmp ebx, ebp
jge 0x55f91b
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.0055e270
fld dword [esp + 0x20]
jmp 0x55f92a
fld qword [0x673698]
or edi, 0xffffffff
fadd st(1)
fstp dword [esp + 0x1c]
cmp dword [esp + 0x38], 0x4e8
jne 0x55f96e
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 0x55f997
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 0x55f9ba
cmp al, 0x30
jne 0x55f9ce
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
jmp 0x55f9d0
fxch st(1)
fmul qword [0x673618]
fsubp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
jmp 0x55f9d0
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 [0x70a5c0]
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.005532f0
push 5
call fcn.00558a80
lea ecx, [esp + 0x50]
push 4
push ecx
call fcn.00558d00
add esp, 0xc
test al, al
je 0x55fae0
mov ecx, dword [0x70a5c0]
push 2
push 0
push 4
push 0
push 4
call fcn.005535d0
call fcn.0056a380
mov edi, eax
call fcn.0056a390
mov ebp, eax
cmp edi, ebp
jge 0x55fc50
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x24]
push eax
add edi, ebx
push edi
mov ecx, esi
call fcn.0055e270
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push edx
add ebp, ebx
push ebp
mov ecx, esi
call fcn.0055e270
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 [0x673698]
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 [0x70a5c0]
push 0x65
push 0x68a3dc
push 2
push 4
push 0
push 4
mov dword [esp + 0xbc], eax
call fcn.00553600
mov ecx, dword [0x70a5c0]
push 0x13
call fcn.00553a10
mov ecx, dword [0x70a5c0]
push 0x14
call fcn.00553a10
mov edx, dword [esp + 0xb8]
mov ecx, dword [0x70a5c0]
push edx
push 0x1c
call fcn.005532b0
mov eax, dword [esp + 0xac]
mov ecx, dword [0x70a5c0]
push eax
push 0x89
call fcn.005532b0
mov ecx, dword [esi + 0x90]
sub ecx, dword [esi + 0x8c]
lea ebp, [esi + 0x80]
mov dword [esp + 0xac], ebp
test ecx, 0xffffffe0
je 0x55fdbb
fild dword [0x745e9c]
fsub dword [esi + 0x3c]
call fcn.006108c0
fild dword [0x745ea0]
mov ebx, eax
mov dword [esp + 0x30], ebx
fsub dword [esi + 0x40]
call fcn.006108c0
mov edi, eax
call fcn.00561800
cmp eax, 0x4e8
jne 0x55fcfa
movzx edx, word [esi + 0xe]
neg ebx
sub edx, edi
mov dword [esp + 0x30], ebx
mov edi, edx
test ebx, ebx
jl 0x55fdbb
test edi, edi
jl 0x55fdbb
movzx eax, word [esi + 0xc]
cmp ebx, eax
jge 0x55fdbb
movzx ecx, word [esi + 0xe]
cmp edi, ecx
jge 0x55fdbb
lea edx, [esp + 0xb0]
push edx
mov ecx, ebp
call fcn.00514ea0
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 0x55fd54
call fcn.006111cc
mov eax, dword [ebx]
test edi, edi
je 0x55fd5e
cmp edi, eax
je 0x55fd63
call fcn.006111cc
cmp ebp, esi
je 0x55fdbb
mov esi, edi
mov ebx, ebp
test edi, edi
jne 0x55fdc8
call fcn.006111cc
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x55fd80
call fcn.006111cc
add ebp, 0x20
test esi, esi
jne 0x55fdcc
call fcn.006111cc
cmp ebx, dword [esi + 0x10]
jb 0x55fd96
call fcn.006111cc
movsx eax, word [ebx]
cmp dword [esp + 0x30], eax
jl 0x55fd40
movsx ecx, word [ebx + 2]
cmp dword [esp + 0x30], ecx
jge 0x55fd40
push 0xffffffffffffffff
push 0
add ebx, 4
push ebx
mov ecx, 0x6e3778
call fcn.0055eb20
pop edi
pop ebp
pop ebx
pop esi
add esp, 0xac
ret 4
mov eax, dword [edi]
jmp 0x55fd76
mov esi, dword [esi]
jmp 0x55fd8c