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

Disassembly:
sub esp, 0x6c
mov al, byte [esp + 0x70]
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
mov cl, byte [esp + 0x80]
cmp al, 0xa
push edi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x30], ebp
mov byte [esi + 0x144], al
mov byte [esi + 0x145], cl
jne 0x5eeeb3
cmp dword [esi + 0x104], ebp
je 0x5eeeb3
mov ecx, dword [esi + 0x110]
xor edx, edx
cmp word [ecx + 0xa230], bp
jle 0x5eeeb3
movsx eax, dx
inc edx
lea edi, [eax + eax*2]
lea edi, [edi + edi*8]
lea eax, [eax + edi*4]
mov byte [ecx + eax*4 + 0xd9], 0
mov ecx, dword [esi + 0x110]
cmp dx, word [ecx + 0xa230]
jl 0x5eee8f
lea ecx, [esp + 0x74]
lea edx, [esp + 0x78]
push ecx
mov ecx, dword [esi + 0x10c]
push edx
add ecx, 0xac
call fcn.004b5d30
mov al, byte [esi + 0x144]
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x94]
cmp al, 0x28
mov byte [esp + 0x1c], 0x32
je 0x5eeeff
cmp al, 0x3c
je 0x5eef03
cmp al, 0x29
je 0x5eeeff
cmp al, 0x2a
je 0x5eeeff
cmp al, 0x2b
je 0x5eeeff
cmp al, 0x2c
jne 0x5eef61
cmp al, 0x3c
jne 0x5eef19
fld dword [ebx]
call fcn.0061318c
fld dword [edi]
mov dword [esp + 0x5c], eax
call fcn.0061318c
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov dword [ebx], ebp
mov dword [edi], ebp
mov word [eax], bp
mov word [ecx], bp
mov al, byte [esi + 0x144]
cmp al, 0x29
je 0x5eef47
cmp al, 0x2a
je 0x5eef47
cmp al, 0x2b
je 0x5eef47
cmp al, 0x2c
jne 0x5eef54
mov edx, dword [esp + 0x90]
mov eax, dword [edx]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x30], ebp
mov dword [ecx], ebp
cmp byte [esi + 0x144], 0xe
jne 0x5eef95
lea edx, [esp + 0x50]
push 1
lea eax, [esp + 0x4c]
push edx
lea ecx, [esp + 0x54]
push eax
lea edx, [esp + 0x50]
push ecx
push edx
mov ecx, esi
call fcn.005eccb0
test eax, eax
jne 0x5eef95
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x24
mov ax, word [esi + 0x132]
mov di, word [esi + 0x122]
mov cx, word [esi + 0x134]
mov word [esp + 0x14], ax
mov ax, word [esi + 0x138]
mov dx, word [esi + 0x136]
mov word [esp + 0x24], ax
mov ax, word [esi + 0x124]
add ax, 6
add di, 4
mov word [esp + 0x34], cx
mov ecx, edi
shl eax, 1
cmp ax, bp
mov word [esp + 0x20], dx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x40], ecx
mov byte [esp + 0x28], 4
mov dword [esp + 0x68], ebp
jle 0x5ef755
mov edx, dword [esp + 0x14]
mov dword [esp + 0x64], 0
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x24]
test cx, cx
mov dword [esp + 0x10], edx
jle 0x5ef690
mov ecx, dword [esp + 0x84]
test cx, cx
jl 0x5ef09b
mov eax, dword [esi + 0x110]
movsx edi, cx
cmp edi, dword [eax + 8]
jge 0x5ef09b
mov ecx, dword [esp + 0x10]
test cx, cx
jl 0x5ef09b
movsx ebx, cx
cmp ebx, dword [eax + 0xc]
jge 0x5ef09b
mov ecx, dword [esi + 0x10c]
mov ebp, 1
mov ecx, dword [ecx + 0x88]
test ecx, ecx
je 0x5ef0b9
mov dl, byte [eax + 0xa255]
test dl, dl
jne 0x5ef0b9
push ebx
push edi
call fcn.005f6a90
mov cl, byte [esi + 0x144]
mov byte [esp + 0x80], al
cmp cl, 0x1e
je 0x5ef091
cmp cl, 0x1f
jne 0x5ef0d3
mov byte [esp + 0x80], 0xf
jmp 0x5ef0d3
mov al, byte [esi + 0x144]
xor ebp, ebp
cmp al, 0x28
je 0x5ef10a
cmp al, 0x2a
jne 0x5ef649
mov byte [esp + 0x80], 0
jmp 0x5ef118
push ebx
push edi
call fcn.005f6a90
test al, al
mov byte [esp + 0x80], al
jne 0x5ef0d3
mov byte [esp + 0x80], 0x80
cmp byte [esi + 0x144], 0xb
jne 0x5ef0fb
mov edx, dword [esi + 0x110]
shl edi, 5
mov eax, dword [edx + 0xa214]
mov ecx, dword [eax + ebx*4]
mov al, byte [ecx + edi + 7]
add ecx, edi
mov dl, byte [ecx + 9]
cmp dl, al
je 0x5ef10a
mov al, byte [esp + 0x80]
cmp al, 0xf
je 0x5ef114
cmp al, 0x80
je 0x5ef114
mov byte [esp + 0x80], 0
jmp 0x5ef118
test al, al
jne 0x5ef140
mov al, byte [esi + 0x144]
cmp al, 0xe
je 0x5ef132
cmp al, 0x28
je 0x5ef132
cmp al, 0x3c
je 0x5ef132
cmp al, 0x2a
jne 0x5ef649
test ebp, ebp
jne 0x5ef140
xor ebx, ebx
xor cl, cl
mov byte [esp + 0x38], bl
jmp 0x5ef175
mov eax, dword [esi + 0x110]
movsx ecx, word [esp + 0x10]
mov edx, dword [eax + 0xa214]
movsx eax, word [esp + 0x84]
mov ebx, dword [edx + ecx*4]
shl eax, 5
add ebx, eax
mov dl, byte [ebx + 4]
mov cl, byte [ebx + 6]
cmp dl, 0x13
mov byte [esp + 0x38], dl
jb 0x5ef175
mov byte [esp + 0x38], 0
mov di, word [esi + 0x11c]
mov eax, dword [esp + 0x34]
movzx cx, cl
imul ecx, edi
sub eax, ecx
mov ecx, dword [esp + 0x38]
and ecx, 0xff
mov dword [esp + 0x2c], eax
lea ebp, [ecx - 2]
cmp ebp, 0xe
ja case.0x5ef1a7.3
xor edx, edx
mov dl, byte [ebp + 0x5ef85c]
jmp dword [edx*4 + 0x5ef854]
sub eax, edi
mov dword [esp + 0x2c], eax
movsx edi, word [esp + 0x18]
cmp edi, dword [esi + 0x98]
jg 0x5ef22c
movsx ebp, ax
cmp ebp, dword [esi + 0x9c]
jg 0x5ef22c
mov edx, dword [esi + 0x110]
lea eax, [ecx + ecx*2 + 0xc]
movsx eax, word [edx + eax*2]
add eax, edi
mov edi, dword [esi + 0x90]
cmp eax, edi
jle 0x5ef22c
mov eax, dword [esi + 0x94]
lea ecx, [ecx + ecx*2]
movsx edx, word [edx + ecx*2 + 0x1a]
add edx, ebp
cmp edx, eax
jle 0x5ef22c
cmp byte [esi + 0x144], 0xe
jne 0x5ef228
movsx ecx, word [esp + 0x84]
cmp ecx, dword [esp + 0x44]
jl 0x5ef22c
cmp ecx, dword [esp + 0x48]
jg 0x5ef22c
movsx ecx, word [esp + 0x10]
cmp ecx, dword [esp + 0x4c]
jl 0x5ef22c
cmp ecx, dword [esp + 0x50]
jg 0x5ef22c
xor eax, eax
jmp 0x5ef231
mov eax, 1
mov cl, byte [esi + 0x144]
cmp cl, 0xa
je 0x5ef4bc
cmp cl, 0x1e
je 0x5ef4bc
cmp cl, 0x1f
je 0x5ef4bc
cmp cl, 0x20
je 0x5ef4bc
cmp cl, 0x15
je 0x5ef4bc
cmp cl, 0xb
je 0x5ef4bc
cmp cl, 0xe
je 0x5ef4bc
mov al, byte [esp + 0x80]
cmp al, 0xf
je 0x5ef289
cmp al, 0x80
jne 0x5ef373
cmp cl, 0x29
je 0x5ef2a1
cmp cl, 0x2a
je 0x5ef2a1
cmp cl, 0x2b
je 0x5ef2a1
cmp cl, 0x2c
jne 0x5ef373
cmp al, 0xf
je 0x5ef2c0
cmp al, 0x80
jne 0x5ef2b9
mov eax, dword [esi + 0x110]
mov cl, byte [eax + 0xa256]
test cl, cl
je 0x5ef2c0
mov byte [esp + 0x54], 1
jmp 0x5ef2c5
mov byte [esp + 0x54], 0
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x90]
push edi
push edx
mov edx, dword [esp + 0x94]
push eax
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x34]
push ecx
push edx
push eax
push ebx
mov ecx, esi
call fcn.005f3340
test eax, eax
je 0x5ef373
cmp byte [esi + 0x144], 0x2c
je 0x5ef36e
test edi, edi
je 0x5ef32e
cmp eax, edi
jne 0x5ef32e
cmp byte [esp + 0x1c], 0x34
je 0x5ef7cc
mov ebp, dword [esp + 0x30]
test ebp, ebp
je 0x5ef352
mov ecx, dword [eax + 8]
mov edx, dword [ebp + 8]
mov cl, byte [ecx + 0x95]
cmp cl, byte [edx + 0x95]
jae 0x5ef352
cmp ebp, edi
jne 0x5ef373
cmp eax, edi
je 0x5ef373
mov ecx, dword [esp + 0x94]
mov edx, dword [eax + 0x38]
mov dword [esp + 0x30], eax
mov dword [ecx], edx
mov ecx, dword [esp + 0x98]
mov edx, dword [eax + 0x3c]
mov dword [ecx], edx
mov byte [esp + 0x1c], 0x34
mov cl, byte [esi + 0x144]
cmp cl, 0x28
je 0x5ef3b9
cmp cl, 0x2a
jne 0x5ef38a
cmp byte [esp + 0x1c], 0x32
je 0x5ef3b9
cmp cl, 0x3c
jne 0x5ef649
mov ecx, dword [esp + 0x84]
cmp cx, word [esp + 0x5c]
jne 0x5ef649
mov eax, dword [esp + 0x10]
cmp ax, word [esp + 0x60]
je 0x5ef7e8
jmp 0x5ef649
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
push edx
push ebp
push edi
push eax
push ecx
push ebx
mov ecx, esi
call fcn.005f3250
test eax, eax
je 0x5ef649
test ebx, ebx
je 0x5ef457
mov eax, dword [esp + 0x88]
mov edi, dword [esp + 0x98]
mov ebp, dword [esp + 0x94]
mov ecx, dword [esi + 0x110]
mov dx, word [eax + 4]
mov ax, word [eax]
sub dx, word [esp + 0x2c]
sub ax, word [esp + 0x18]
push edi
push ebp
push ebx
push edx
push eax
call fcn.00487b50
movsx ecx, word [esp + 0x84]
movsx edx, word [esp + 0x10]
mov dword [esp + 0x80], ecx
fild dword [esp + 0x80]
mov dword [esp + 0x80], edx
fadd dword [ebp]
fstp dword [ebp]
fild dword [esp + 0x80]
fadd dword [edi]
fstp dword [edi]
jmp 0x5ef48b
mov ecx, dword [esp + 0x94]
movsx eax, di
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x98]
fild dword [esp + 0x80]
movsx edx, bp
fstp dword [ecx]
mov dword [esp + 0x80], edx
fild dword [esp + 0x80]
fstp dword [eax]
mov ecx, dword [esp + 0x9c]
mov dx, word [esp + 0x18]
mov eax, dword [esp + 0xa0]
mov byte [esp + 0x1c], 0x33
mov word [ecx], dx
mov cx, word [esp + 0x2c]
mov edx, dword [esp + 0x90]
mov word [eax], cx
mov dword [edx], ebx
jmp 0x5ef649
test eax, eax
jne 0x5ef563
cmp cl, 0xa
je 0x5ef4d7
cmp cl, 0xb
je 0x5ef4d7
cmp cl, 0xe
jne 0x5ef563
mov al, byte [ebx + 5]
mov ebp, dword [esi + 0x110]
mov byte [esp + 0x3c], al
mov edx, dword [esp + 0x3c]
mov ecx, edx
and ecx, 0xff
lea edi, [ecx + ecx*2]
lea edi, [edi + edi*8]
lea ecx, [ecx + edi*4]
mov cx, word [ebp + ecx*4 + 0x14c]
cmp cx, 0xffff
je 0x5ef511
mov al, cl
mov byte [esp + 0x3c], al
mov edx, dword [esp + 0x3c]
cmp byte [esi + 0x144], 0xa
jne 0x5ef554
mov ecx, dword [esi + 0x104]
test ecx, ecx
je 0x5ef554
movzx ax, al
cmp ax, word [ebp + 0xa230]
jge 0x5ef554
and edx, 0xff
mov ecx, edx
lea edx, [ecx + ecx*2]
lea edx, [edx + edx*8]
lea eax, [ecx + edx*4]
lea ecx, [ebp + eax*4 + 0xd9]
mov al, byte [ebp + eax*4 + 0xd9]
inc al
mov byte [ecx], al
cmp byte [esi + 0x144], 0xb
jne 0x5ef563
mov cl, byte [ebx + 9]
mov byte [ebx + 7], cl
mov al, byte [esp + 0x80]
cmp al, 0xf
je 0x5ef576
cmp al, 0x80
jne 0x5ef649
mov al, byte [esi + 0x144]
cmp al, 0x1e
je 0x5ef594
cmp al, 0x1f
je 0x5ef590
cmp al, 0x20
je 0x5ef590
cmp al, 0x15
jne 0x5ef649
cmp al, 0x1e
jne 0x5ef5de
mov edx, dword [esi + 0x100]
mov eax, dword [esi + 0x190]
mov dword [edx + 0xd0], eax
mov dword [0x75f664], 1
mov ecx, dword [esi + 0x100]
mov edx, dword [esi + 0x18c]
mov dword [ecx + 0xd0], edx
mov dword [0x75f664], 0
mov eax, dword [esi + 0x100]
mov ecx, dword [eax + 0xcc]
mov dword [eax + 0xd0], ecx
cmp byte [esi + 0x144], 0x1f
jne 0x5ef631
mov edx, dword [esi + 0x100]
mov eax, dword [esi + 0x190]
mov dword [edx + 0xd0], eax
mov dword [0x75f664], 1
mov ecx, dword [esi + 0x100]
mov edx, dword [esi + 0x18c]
mov dword [ecx + 0xd0], edx
mov dword [0x75f664], 0
mov eax, dword [esi + 0x100]
mov ecx, dword [eax + 0xcc]
mov dword [eax + 0xd0], ecx
mov al, byte [esi + 0x144]
cmp al, 0x20
je 0x5ef63f
cmp al, 0x15
jne 0x5ef649
mov dword [0x75f664], 0
mov dx, word [esi + 0x114]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x84]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
add eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x64]
inc ebp
inc ebx
inc eax
mov dword [esp + 0x84], ebp
cmp ax, cx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x64], eax
jl 0x5ef029
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
cmp byte [esp + 0x28], 1
jne 0x5ef6a1
cmp cx, di
jne 0x5ef6a1
mov byte [esp + 0x28], 2
mov edx, dword [esp + 0x28]
and edx, 0xff
dec edx
cmp edx, 3
ja case.default.0x5ef6b1
jmp dword [edx*4 + 0x5ef86c]
mov dx, word [esi + 0x118]
inc ecx
sub word [esp + 0x14], dx
mov edx, dword [esp + 0x20]
dec edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x20], edx
jmp case.default.0x5ef6b1
mov dx, word [esi + 0x118]
mov ebx, dword [esp + 0x14]
add ebx, edx
mov edx, dword [esp + 0x24]
dec ecx
inc edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x24], edx
jmp case.default.0x5ef6b1
mov dx, word [esi + 0x118]
mov byte [esp + 0x28], 4
sub word [esp + 0x14], dx
mov edx, dword [esp + 0x20]
dec edx
mov dword [esp + 0x20], edx
jmp case.default.0x5ef6b1
mov dx, word [esi + 0x118]
mov ebx, dword [esp + 0x14]
add ebx, edx
mov edx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x24], edx
mov byte [esp + 0x28], 3
mov dx, word [esi + 0x11a]
mov ebx, dword [esp + 0x34]
add ebx, edx
mov edx, dword [esp + 0x68]
inc edx
mov dword [esp + 0x34], ebx
cmp dx, ax
mov dword [esp + 0x68], edx
jl 0x5eeffd
xor ebp, ebp
cmp byte [esi + 0x144], 0xa
jne 0x5ef793
mov ecx, dword [esi + 0x110]
xor edx, edx
cmp word [ecx + 0xa230], bp
jle 0x5ef793
movsx eax, dx
inc edx
lea edi, [eax + eax*2]
lea edi, [edi + edi*8]
lea eax, [eax + edi*4]
mov byte [ecx + eax*4 + 0xd8], 0
mov ecx, dword [esi + 0x110]
cmp dx, word [ecx + 0xa230]
jl 0x5ef76f
mov al, byte [esi + 0x144]
cmp al, 0x29
je 0x5ef7a5
cmp al, 0x2a
je 0x5ef7a5
cmp al, 0x2b
jne 0x5ef7b9
cmp byte [esp + 0x1c], 0x34
jne 0x5ef7b9
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x30]
mov dword [edx], ecx
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
and eax, 0xff
pop ebx
add esp, 0x6c
ret 0x24
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x30]
pop edi
pop esi
mov dword [ecx], eax
pop ebp
mov eax, 0x34
pop ebx
add esp, 0x6c
ret 0x24
movsx edx, cx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x80], edx
fild dword [esp + 0x80]
movsx edx, ax
fstp dword [ecx]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x80], edx
mov dx, word [esp + 0x18]
fild dword [esp + 0x80]
pop edi
pop esi
pop ebp
fstp dword [eax]
mov eax, dword [esp + 0x94]
mov word [ecx], dx
mov cx, word [esp + 0x20]
mov edx, dword [esp + 0x84]
mov word [eax], cx
mov eax, 0x33
mov dword [edx], ebx
pop ebx
add esp, 0x6c
ret 0x24