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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x953988
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x94
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x90]
call fcn.00911f0c
xor ebx, ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0xa8], ebx
call fcn.00911f0c
lea ecx, [esp + 0x48]
mov byte [esp + 0xa8], 1
call fcn.00911f0c
lea eax, [esi + 0x34cc]
lea ecx, [esp + 0x48]
push eax
mov byte [esp + 0xac], 2
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
call fcn.00911f06
lea ecx, [esi + 0x3531]
push ecx
lea ecx, [esp + 0x5c]
call fcn.00911f06
mov eax, dword [ebp + 8]
movsx edx, word [esi + 0x34aa]
lea edi, [eax + 1]
mov eax, dword [esi + 0x22f0]
cmp edi, eax
mov dword [esp + 0x80], edx
mov dword [esp + 0x54], edi
jge 0x5b083f
push edi
mov ecx, esi
call fcn.0058db90
cmp word [esi + 0x3546], 0x11
jl 0x5b0025
mov eax, dword [esi + 0x22f0]
inc ebx
inc edi
cmp edi, eax
jl 0x5b0007
test ebx, ebx
jle 0x5b083f
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x54]
mov ecx, esi
push edx
call fcn.0058db90
fld qword [esi + 0x34b0]
call fcn.00912a20
mov ecx, dword [esi + 0x34bc]
mov edi, eax
mov eax, dword [esi + 0x34b8]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [0xa8e7a0]
cmp edi, eax
jle 0x5b009b
mov edx, edi
mov ecx, esi
sub edx, eax
push edx
call fcn.0058ddd0
mov ecx, dword [0xa8e7a0]
mov eax, edi
sub eax, ecx
mov ecx, esi
push eax
call fcn.0058de50
mov ecx, dword [0xa8e7a0]
sub edi, ecx
mov ecx, esi
push edi
call fcn.005a8ea0
jmp 0x5b00b3
push edi
mov ecx, esi
call fcn.0058dd90
push edi
mov ecx, esi
call fcn.0058de10
push edi
mov ecx, esi
call fcn.005a8b00
fld qword [esp + 0x3c]
fmul qword [esi + 0x33f0]
mov eax, dword [esp + 0x80]
test eax, eax
fstp qword [esp + 0x14]
fld qword [esp + 0x3c]
fmul qword [esi + 0x33f8]
fstp qword [esp + 0x2c]
jne 0x5b0153
push 0xa7bf04
lea ecx, [esp + 0x4c]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x5b012e
push 0xa7bf0c
lea ecx, [esp + 0x4c]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x5b012e
push 0xa7e804
lea ecx, [esp + 0x4c]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x5b012e
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push 3
push ecx
push edx
mov ecx, esi
call fcn.0058a540
fstp qword [esp + 0x14]
push 3
jmp 0x5b017f
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push 2
push edx
push eax
mov ecx, esi
call fcn.0058a540
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
fstp qword [esp + 0x14]
push 2
push ecx
push edx
jmp 0x5b0189
mov eax, dword [esi + 0x2330]
test eax, eax
jle 0x5b0194
cmp eax, 6
jge 0x5b0194
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push eax
push ecx
mov ecx, esi
call fcn.0058a540
mov edx, dword [esi + 0x2330]
fstp qword [esp + 0x14]
push edx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
mov ecx, esi
call fcn.0058a540
fstp qword [esp + 0x2c]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
mov ecx, esi
call fcn.008f5ce0
fcomp qword [0x9ccd50]
fnstsw ax
test ah, 0x41
jne 0x5b01c2
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push ecx
push edx
mov ecx, esi
call fcn.008f5ce0
fcomp qword [0x9ccd50]
fnstsw ax
test ah, 0x41
jne 0x5b01f0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov al, byte [0xa8e771]
test al, al
je 0x5b0229
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
mov ecx, esi
call fcn.008f5ce0
fld dword [esi + 0x2268]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5b0229
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov ax, word [esi + 0x3546]
cmp ax, 0x11
jne 0x5b0259
fld qword [esp + 0x14]
fadd qword [esp + 0x34]
fstp qword [esp + 0x34]
fld qword [esp + 0x2c]
fadd qword [esp + 0x84]
fstp qword [esp + 0x84]
jmp 0x5b0577
mov edx, dword [esi + 0x228c]
movsx ecx, ax
cmp ecx, edx
je 0x5b0547
cmp ax, 0x15
je 0x5b0547
cmp ax, 0x17
je 0x5b0547
cmp ax, 0x18
je 0x5b0547
cmp ax, 0x1a
je 0x5b0547
cmp ax, 0x13
jne 0x5b02b5
fld qword [esp + 0x14]
fadd qword [esp + 0x24]
fstp qword [esp + 0x24]
fld qword [esp + 0x2c]
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
jmp 0x5b0577
cmp ecx, dword [esi + 0x2290]
jne 0x5b02d4
fld qword [esp + 0x94]
fadd qword [esp + 0x14]
fstp qword [esp + 0x94]
jmp 0x5b0577
cmp ecx, dword [esi + 0x2294]
jne 0x5b02ed
fld qword [esp + 0x14]
fadd qword [esp + 0x64]
fstp qword [esp + 0x64]
jmp 0x5b0577
cmp ax, 0x21
jne 0x5b0304
fld qword [esp + 0x14]
fadd qword [esp + 0x5c]
fstp qword [esp + 0x5c]
jmp 0x5b0577
cmp ecx, dword [esi + 0x2298]
jne 0x5b033d
fild dword [esi + 0x22c4]
fld qword [esp + 0x3c]
fmul qword [esp + 0x6c]
fdiv st(1)
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x3c]
fmul qword [esp + 0x74]
fdiv st(1)
fadd qword [esp + 0x4c]
fstp qword [esp + 0x4c]
fstp st(0)
jmp 0x5b0577
cmp ax, 0x1c
jne 0x5b0374
fild dword [esi + 0x22c4]
fld qword [esp + 0x3c]
fmul qword [esp + 0x24]
fdiv st(1)
fadd qword [esp + 0x24]
fstp qword [esp + 0x24]
fld qword [esp + 0x3c]
fmul qword [esp + 0xc]
fdiv st(1)
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
fstp st(0)
jmp 0x5b0577
cmp ax, 0x1d
jne 0x5b03ab
fild dword [esi + 0x22c4]
fld qword [esp + 0x3c]
fmul qword [esp + 0x6c]
fdiv st(1)
fadd qword [esp + 0x24]
fstp qword [esp + 0x24]
fld qword [esp + 0x3c]
fmul qword [esp + 0x74]
fdiv st(1)
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
fstp st(0)
jmp 0x5b0577
cmp ax, 0x1e
jne 0x5b03e2
fild dword [esi + 0x22c4]
fld qword [esp + 0x3c]
fmul qword [esp + 0x24]
fdiv st(1)
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x3c]
fmul qword [esp + 0xc]
fdiv st(1)
fadd qword [esp + 0x4c]
fstp qword [esp + 0x4c]
fstp st(0)
jmp 0x5b0577
cmp ax, 0x1f
jne 0x5b040d
fld qword [esp + 0x3c]
fmul qword [esp + 0x34]
fidiv dword [esi + 0x22c4]
fld st(0)
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fadd qword [esp + 0x4c]
fstp qword [esp + 0x4c]
jmp 0x5b0577
cmp ax, 0x20
jne 0x5b0438
fld qword [esp + 0x3c]
fmul qword [esp + 0x34]
fidiv dword [esi + 0x22c4]
fld st(0)
fadd qword [esp + 0x24]
fstp qword [esp + 0x24]
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
jmp 0x5b0577
cmp ax, 0x23
jne 0x5b0482
fild dword [esi + 0x22c4]
fld qword [esp + 0x24]
fadd qword [esp + 0x1c]
fadd qword [esp + 0x34]
fmul qword [esp + 0x3c]
fdiv st(1)
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0xc]
fadd qword [esp + 0x4c]
fadd qword [esp + 0x84]
fmul qword [esp + 0x3c]
fdiv st(1)
fadd qword [esp + 0x4c]
fstp qword [esp + 0x4c]
fstp st(0)
jmp 0x5b0577
cmp ax, 0x24
jne 0x5b04cc
fild dword [esi + 0x22c4]
fld qword [esp + 0x24]
fadd qword [esp + 0x1c]
fadd qword [esp + 0x34]
fmul qword [esp + 0x3c]
fdiv st(1)
fadd qword [esp + 0x24]
fstp qword [esp + 0x24]
fld qword [esp + 0xc]
fadd qword [esp + 0x4c]
fadd qword [esp + 0x84]
fmul qword [esp + 0x3c]
fdiv st(1)
fadd qword [esp + 0xc]
fstp qword [esp + 0xc]
fstp st(0)
jmp 0x5b0577
cmp ax, 0x28
jne 0x5b050b
fild dword [esi + 0x22c4]
fld qword [esp + 0x24]
fadd qword [esp + 0x34]
fmul qword [esp + 0x3c]
fdiv st(1)
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0xc]
fadd qword [esp + 0x84]
fmul qword [esp + 0x3c]
fdiv st(1)
fadd qword [esp + 0x4c]
fstp qword [esp + 0x4c]
fstp st(0)
jmp 0x5b0577
cmp ax, 0x25
jne 0x5b051f
fld qword [esp + 0x14]
fadd qword [esp + 0x34]
fstp qword [esp + 0x34]
jmp 0x5b0577
cmp ax, 0x26
jne 0x5b0533
fld qword [esp + 0x14]
fadd qword [esp + 0x34]
fstp qword [esp + 0x34]
jmp 0x5b0577
fld qword [esp + 0x14]
cmp ax, 0x27
jne 0x5b054b
fadd qword [esp + 0x34]
fstp qword [esp + 0x34]
jmp 0x5b0577
fld qword [esp + 0x14]
fadd qword [esp + 0x1c]
fstp qword [esp + 0x1c]
fld qword [esp + 0x2c]
fadd qword [esp + 0x4c]
fstp qword [esp + 0x4c]
fld qword [esp + 0x14]
fadd qword [esp + 0x6c]
fstp qword [esp + 0x6c]
fld qword [esp + 0x2c]
fadd qword [esp + 0x74]
fstp qword [esp + 0x74]
mov ecx, dword [esp + 0x54]
inc ecx
dec ebx
mov dword [esp + 0x54], ecx
jne 0x5b0035
mov eax, dword [esp + 0x80]
test eax, eax
jle 0x5b0633
mov eax, dword [esi + 0x2338]
test eax, eax
jle 0x5b0633
cmp eax, 6
jge 0x5b0633
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
push eax
push ecx
push edx
mov ecx, esi
call fcn.0058a540
mov eax, dword [esi + 0x2338]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push eax
fstp qword [esp + 0x38]
push ecx
push edx
mov ecx, esi
call fcn.0058a540
mov eax, dword [esi + 0x2338]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push eax
fstp qword [esp + 0x20]
push ecx
push edx
mov ecx, esi
call fcn.0058a540
mov eax, dword [esi + 0x2338]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
push eax
fstp qword [esp + 0x28]
push ecx
push edx
mov ecx, esi
call fcn.0058a540
mov eax, dword [esi + 0x2338]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
push eax
fstp qword [esp + 0x68]
push ecx
push edx
mov ecx, esi
call fcn.0058a540
fstp qword [esp + 0x5c]
fld qword [esp + 0x5c]
fadd qword [esp + 0x64]
mov eax, dword [esp + 0x80]
test eax, eax
fadd qword [esp + 0x24]
fadd qword [esp + 0x1c]
fadd qword [esp + 0x34]
fstp qword [esp + 0xc]
jne 0x5b0690
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
push 2
push eax
push ecx
mov ecx, esi
call fcn.0058a540
fstp qword [esp + 0xc]
push 0xa7e908
lea ecx, [esp + 0x4c]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x5b06b1
push 0xa7e8f8
lea ecx, [esp + 0x4c]
call fcn.009121e8
jmp 0x5b06b1
mov eax, dword [esi + 0x233c]
test eax, eax
jle 0x5b06b1
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
push 2
push edx
push eax
mov ecx, esi
call fcn.0058a540
fstp qword [esp + 0xc]
mov eax, dword [esp + 0x58]
mov edi, 0xa7a6f8
mov ecx, eax
mov bl, byte [ecx]
mov dl, bl
cmp bl, byte [edi]
jne 0x5b06e0
test dl, dl
je 0x5b06dc
mov bl, byte [ecx + 1]
mov dl, bl
cmp bl, byte [edi + 1]
jne 0x5b06e0
add ecx, 2
add edi, 2
test dl, dl
jne 0x5b06bc
xor ecx, ecx
jmp 0x5b06e5
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x5b079d
mov edi, 0xa7a6f8
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x5b071a
test cl, cl
je 0x5b0716
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x5b071a
add eax, 2
add edi, 2
test cl, cl
jne 0x5b06f2
xor eax, eax
jmp 0x5b071f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5b079d
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x4630], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x4634], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x4638], edx
mov edx, dword [esp + 0x20]
mov dword [esi + 0x463c], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x4640], ecx
mov ecx, dword [esp + 0x28]
mov dword [esi + 0x4644], edx
mov edx, dword [esp + 0x64]
mov dword [esi + 0x4648], eax
mov eax, dword [esp + 0x68]
mov dword [esi + 0x464c], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esi + 0x4658], edx
mov edx, dword [esp + 0x60]
mov dword [esi + 0x4660], ecx
mov dword [esi + 0x465c], eax
mov dword [esi + 0x4664], edx
jmp 0x5b07ed
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x4630], eax
mov eax, dword [esp + 0x38]
mov dword [esi + 0x4634], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x4638], edx
mov edx, dword [esp + 0x20]
mov dword [esi + 0x463c], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x4640], ecx
mov ecx, dword [esp + 0x28]
mov dword [esi + 0x4648], eax
mov dword [esi + 0x4644], edx
mov dword [esi + 0x464c], ecx
lea ecx, [esp + 0x48]
mov byte [esp + 0xa8], 1
call fcn.00911ee2
lea ecx, [esp + 0x58]
mov byte [esp + 0xa8], 0
call fcn.00911ee2
lea ecx, [esp + 0x90]
mov dword [esp + 0xa8], 0xffffffff
call fcn.00911ee2
mov al, 1
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
lea ecx, [esp + 0x48]
mov byte [esp + 0xa8], 1
call fcn.00911ee2
lea ecx, [esp + 0x58]
mov byte [esp + 0xa8], 0
call fcn.00911ee2
lea ecx, [esp + 0x90]
mov dword [esp + 0xa8], 0xffffffff
call fcn.00911ee2
mov ecx, dword [esp + 0xa0]
pop edi
pop esi
xor al, al
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4