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

Disassembly:
sub esp, 0xac
push esi
mov esi, ecx
cmp byte [esi + 0x48], 0
je 0x4f4dbe
mov ecx, dword [esi + 0x4c]
test ecx, ecx
je 0x4f4dbe
call fcn.00508920
mov dword [esp + 0x24], eax
test eax, eax
je 0x4f4dbe
fld dword [esi + 0x3c]
fstp dword [esp + 0x10]
fld dword [esi + 0x40]
fadd qword [0x5fe238]
fstp dword [esp + 0x3c]
call fcn.004f6800
mov dword [esp + 0x2c], eax
cmp eax, 0x4e8
movzx eax, byte [esi + 0x10]
jne 0x4f412b
sub eax, 1
je 0x4f4119
sub eax, 1
jne 0x4f4163
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 0x4f415d
movzx edx, word [esi + 0xc]
fld dword [esp + 0x10]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
jmp 0x4f415d
sub eax, 2
je 0x4f4147
sub eax, 1
jne 0x4f4163
movzx eax, word [esi + 0xc]
fld dword [esp + 0x10]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
jmp 0x4f415d
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 0x4f4180
cmp al, 0x30
jne 0x4f419c
movzx eax, word [esi + 0xe]
fld dword [esp + 0x3c]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
jmp 0x4f4196
movzx ecx, word [esi + 0xe]
fld dword [esp + 0x3c]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fmul qword [0x5fe2b8]
fsubp st(1)
fstp dword [esp + 0x3c]
mov ecx, dword [0x67ace0]
push ebx
push ebp
push edi
push 5
push 0x13
call fcn.004eb0d0
mov ecx, dword [0x67ace0]
push 6
push 0x14
call fcn.004eb0d0
mov ecx, dword [0x67ace0]
push 0x1c
call fcn.004ea980
mov ecx, dword [0x67ace0]
push 0x89
mov dword [esp + 0xbc], eax
call fcn.004ea980
mov ecx, dword [0x67ace0]
push 0
push 0x1c
mov dword [esp + 0xb4], eax
call fcn.004ea990
mov ecx, dword [0x67ace0]
push 0
push 0x89
call fcn.004ea990
mov ecx, dword [0x67ace0]
push 0x142
call fcn.004eaa60
mov ecx, dword [0x67ace0]
push 2
push 2
push 0
call fcn.004eaa10
mov ecx, dword [0x67ace0]
push 0
push 3
push 0
call fcn.004eaa10
mov ecx, dword [0x67ace0]
push 4
push 1
push 0
call fcn.004eaa10
mov ecx, dword [0x67ace0]
push 2
push 5
push 0
call fcn.004eaa10
mov ecx, dword [0x67ace0]
push 0
push 6
push 0
call fcn.004eaa10
mov ecx, dword [0x67ace0]
push 4
push 4
push 0
call fcn.004eaa10
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 0x4f4680
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.00535850
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 0x4f42e1
call fcn.005a01dd
mov eax, dword [esi + 0x50]
test ebp, ebp
je 0x4f42ec
cmp ebp, eax
je 0x4f42f1
call fcn.005a01dd
cmp ebx, edi
je 0x4f4680
test ebp, ebp
jne 0x4f43a8
call fcn.005a01dd
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4f4312
call fcn.005a01dd
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 0x4f4382
cmp byte [esi + 0x1a], 0
fstp st(0)
je 0x4f467e
fld dword [esp + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x20]
fadd qword [0x5fe250]
fstp dword [esp + 0x20]
fld dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x4f43b0
fld dword [esp + 0x20]
fild dword [eax + 4]
fcompp
fnstsw ax
test ah, 1
jne 0x4f43b0
fstp st(1)
fadd dword [esp + 0x18]
jmp 0x4f4658
mov eax, dword [ebp]
jmp 0x4f4308
fld qword [0x5fe2b8]
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.00513240
mov ecx, dword [esp + 0x30]
mov ebx, dword [0x67ace0]
call fcn.00429920
push eax
push 0
mov ecx, ebx
call fcn.004ea9d0
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.004f0030
add esp, 8
test al, al
je 0x4f44ef
mov ecx, dword [0x67ace0]
push 2
push 0
push 5
call fcn.004eac40
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.004f0030
add esp, 8
test al, al
je 0x4f454d
mov ecx, dword [0x67ace0]
push 2
push 0
push 5
call fcn.004eac40
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.004f0030
add esp, 8
test al, al
je 0x4f45e5
mov ecx, dword [0x67ace0]
push 2
push 0
push 5
call fcn.004eac40
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.004f0030
add esp, 8
test al, al
je 0x4f4649
mov ecx, dword [0x67ace0]
push 2
push 0
push 5
call fcn.004eac40
fld dword [esp + 0x18]
mov ebx, dword [esp + 0xb4]
fadd dword [esp + 0x10]
fstp dword [esp + 0x10]
test ebp, ebp
jne 0x4f4679
call fcn.005a01dd
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x4f4671
call fcn.005a01dd
add ebx, 4
jmp 0x4f42cd
mov eax, dword [ebp]
jmp 0x4f4667
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 0x4f48c8
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 0x4f46c2
call fcn.005a01dd
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 0x4f46ff
fst dword [esp + 0x34]
jmp 0x4f470f
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 0x4f475b
cmp byte [esi + 0x1a], 0
fstp st(0)
je 0x4f48c4
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 0x4f477c
fld dword [esp + 0x20]
fild dword [ebp + 4]
fcompp
fnstsw ax
test ah, 1
jne 0x4f477c
fstp st(1)
fstp st(1)
fadd dword [esp + 0x18]
jmp 0x4f48ac
fld qword [0x5fe2b8]
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.00513240
mov ecx, dword [esp + 0x30]
mov ebp, dword [0x67ace0]
call fcn.00429920
push eax
push 0
mov ecx, ebp
call fcn.004ea9d0
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 0x4f485d
call fcn.005a01dd
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.004f0030
add esp, 8
test al, al
je 0x4f489d
mov ecx, dword [0x67ace0]
push 2
push 0
push 5
call fcn.004eac40
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 0x4f46b0
jmp 0x4f48c8
fstp st(0)
fstp st(0)
cmp byte [esi + 0x18], 0
je 0x4f4c50
call fcn.00500350
mov ebx, eax
call fcn.00500200
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.004f3270
fld dword [esp + 0x20]
cmp ebx, ebp
jge 0x4f491b
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.004f3270
fld dword [esp + 0x20]
jmp 0x4f492a
fld qword [0x5fe598]
or edi, 0xffffffff
fadd st(1)
fstp dword [esp + 0x1c]
cmp dword [esp + 0x38], 0x4e8
jne 0x4f496e
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 0x4f4997
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 0x4f49ba
cmp al, 0x30
jne 0x4f49ce
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
jmp 0x4f49d0
fxch st(1)
fmul qword [0x5fe2b8]
fsubp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
jmp 0x4f49d0
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 [0x67ace0]
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.004ea9d0
push 5
call fcn.004efdb0
lea ecx, [esp + 0x50]
push 4
push ecx
call fcn.004f0030
add esp, 0xc
test al, al
je 0x4f4ae0
mov ecx, dword [0x67ace0]
push 2
push 0
push 4
push 0
push 4
call fcn.004eacb0
call fcn.00500210
mov edi, eax
call fcn.00500220
mov ebp, eax
cmp edi, ebp
jge 0x4f4c50
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x24]
push eax
add edi, ebx
push edi
mov ecx, esi
call fcn.004f3270
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push edx
add ebp, ebx
push ebp
mov ecx, esi
call fcn.004f3270
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 [0x5fe598]
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 [0x67ace0]
push 0x65
push 0x611c84
push 2
push 4
push 0
push 4
mov dword [esp + 0xbc], eax
call fcn.004eace0
mov ecx, dword [0x67ace0]
push 0x13
call fcn.004eb0f0
mov ecx, dword [0x67ace0]
push 0x14
call fcn.004eb0f0
mov edx, dword [esp + 0xb8]
mov ecx, dword [0x67ace0]
push edx
push 0x1c
call fcn.004ea990
mov eax, dword [esp + 0xac]
mov ecx, dword [0x67ace0]
push eax
push 0x89
call fcn.004ea990
mov ecx, dword [esi + 0x90]
sub ecx, dword [esi + 0x8c]
lea ebp, [esi + 0x80]
mov dword [esp + 0xac], ebp
test ecx, 0xffffffe0
je 0x4f4dbb
fild dword [0x6b60d4]
fsub dword [esi + 0x3c]
call fcn.005a0a00
fild dword [0x6b60d8]
mov ebx, eax
mov dword [esp + 0x30], ebx
fsub dword [esi + 0x40]
call fcn.005a0a00
mov edi, eax
call fcn.004f6800
cmp eax, 0x4e8
jne 0x4f4cfa
movzx edx, word [esi + 0xe]
neg ebx
sub edx, edi
mov dword [esp + 0x30], ebx
mov edi, edx
test ebx, ebx
jl 0x4f4dbb
test edi, edi
jl 0x4f4dbb
movzx eax, word [esi + 0xc]
cmp ebx, eax
jge 0x4f4dbb
movzx ecx, word [esi + 0xe]
cmp edi, ecx
jge 0x4f4dbb
lea edx, [esp + 0xb0]
push edx
mov ecx, ebp
call fcn.00535850
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 0x4f4d54
call fcn.005a01dd
mov eax, dword [ebx]
test edi, edi
je 0x4f4d5e
cmp edi, eax
je 0x4f4d63
call fcn.005a01dd
cmp ebp, esi
je 0x4f4dbb
mov esi, edi
mov ebx, ebp
test edi, edi
jne 0x4f4dc8
call fcn.005a01dd
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4f4d80
call fcn.005a01dd
add ebp, 0x20
test esi, esi
jne 0x4f4dcc
call fcn.005a01dd
cmp ebx, dword [esi + 0x10]
jb 0x4f4d96
call fcn.005a01dd
movsx eax, word [ebx]
cmp dword [esp + 0x30], eax
jl 0x4f4d40
movsx ecx, word [ebx + 2]
cmp dword [esp + 0x30], ecx
jge 0x4f4d40
push 0xffffffffffffffff
push 0
add ebx, 4
push ebx
mov ecx, 0x659db8
call fcn.004f3b20
pop edi
pop ebp
pop ebx
pop esi
add esp, 0xac
ret 4
mov eax, dword [edi]
jmp 0x4f4d76
mov esi, dword [esi]
jmp 0x4f4d8c