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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5ad081
push eax
mov dword fs:[0], esp
sub esp, 0xd4
push ebp
push esi
push edi
mov edi, dword [esp + 0xf0]
xor ebp, ebp
cmp edi, ebp
jl 0x53ebe4
cmp edi, 9
jle 0x53ecf6
push 0x1a
mov esi, 0xf
push str.In_Position_0_TALKBOXES_1_
lea ecx, [esp + 0x58]
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebp
mov byte [esp + 0x5c], 0
call fcn.004031a0
mov dword [esp + 0xe8], ebp
push ebp
push 0x5b45eb
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebp
mov byte [esp + 0x24], 0
call fcn.004031a0
mov byte [esp + 0xe8], 1
push 8
push str.Position
lea ecx, [esp + 0x90]
mov dword [esp + 0xa8], esi
mov dword [esp + 0xa4], ebp
mov byte [esp + 0x94], 0
call fcn.004031a0
mov byte [esp + 0xe8], 2
push 0x10
push str.assertion_failed
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebp
mov byte [esp + 0x40], 0
call fcn.004031a0
mov byte [esp + 0xe8], 3
push 0xa
push str..Talk.cpp
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
call fcn.004031a0
mov byte [esp + 0xe8], 4
lea eax, [esp + 0x50]
push eax
push ebp
lea ecx, [esp + 0x20]
push ecx
push edi
lea edx, [esp + 0x98]
push edx
lea eax, [esp + 0x48]
push eax
push 0xfb
lea ecx, [esp + 0x88]
push ecx
lea ecx, [esp + 0xc4]
call fcn.0054a580
push 0x5d7834
lea edx, [esp + 0xa8]
push edx
call fcn.0055a7d2
mov eax, edi
imul eax, eax, 0x1c0
mov ecx, dword [eax + 0x7d68ec]
cmp ecx, 1
lea esi, [eax + 0x7d68e0]
push ebx
mov ebx, dword [0x7d68d8]
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x14], ecx
je 0x53ed39
cmp ecx, 2
je 0x53ed39
cmp ecx, 3
je 0x53ed39
cmp ecx, 5
jne 0x53edda
mov edi, 0x7d68ec
jmp 0x53ed44
mov esi, dword [esp + 0x10]
cmp ebp, dword [esp + 0xf4]
je 0x53edbe
cmp dword [edi - 0xc], 2
jne 0x53edbe
cmp dword [edi], ecx
jne 0x53edbe
add esi, 0x20
lea eax, [edi + 0x14]
lea ecx, [ecx]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x53ed84
test cl, cl
je 0x53ed80
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x53ed84
add eax, 2
add esi, 2
test cl, cl
jne 0x53ed60
xor eax, eax
jmp 0x53ed89
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x53edba
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x10]
jne 0x53edba
mov edx, dword [edi + 8]
mov eax, ecx
cmp edx, dword [eax + 0x14]
jne 0x53edba
mov ecx, dword [edi + 0xc]
mov edx, eax
cmp ecx, dword [edx + 0x18]
jne 0x53edba
mov eax, dword [edi - 8]
cmp eax, ebx
jge 0x53edba
mov dword [esp + 0x18], ebp
mov ebx, eax
mov ecx, dword [esp + 0x14]
add edi, 0x1c0
inc ebp
cmp edi, 0x7d7a6c
jl 0x53ed40
mov edi, dword [esp + 0xf4]
xor ebp, ebp
cmp ecx, 0x13
je 0x53ede4
cmp ecx, 0x14
jne 0x53ee40
xor edx, edx
mov eax, 0x7d68ec
jmp 0x53edf0
cmp edx, edi
je 0x53ee33
cmp dword [eax - 0xc], 2
jne 0x53ee33
mov ecx, dword [eax]
cmp ecx, 0x13
je 0x53ee06
cmp ecx, 0x14
jne 0x53ee2f
mov ecx, dword [eax + 4]
mov esi, dword [esp + 0x10]
cmp ecx, dword [esi + 0x10]
jne 0x53ee2f
mov ecx, dword [eax + 8]
cmp ecx, dword [esi + 0x14]
jne 0x53ee2f
mov ecx, dword [eax + 0xc]
cmp ecx, dword [esi + 0x18]
jne 0x53ee2f
mov ecx, dword [eax - 8]
cmp ecx, ebx
jge 0x53ee2f
mov dword [esp + 0x18], edx
mov ebx, ecx
mov ecx, dword [esp + 0x14]
add eax, 0x1c0
inc edx
cmp eax, 0x7d7a6c
jl 0x53edf0
cmp ecx, 0x16
je 0x53ee54
cmp ecx, 0x15
je 0x53ee54
cmp ecx, 0xc
je 0x53ee54
cmp ecx, 0xe
jne 0x53ee9e
xor edx, edx
mov eax, 0x7d68ec
jmp 0x53ee60
cmp edx, edi
je 0x53ee91
cmp dword [eax - 0xc], 2
jne 0x53ee91
mov ecx, dword [eax]
cmp ecx, 0x16
je 0x53ee80
cmp ecx, 0x15
je 0x53ee80
cmp ecx, 0xc
je 0x53ee80
cmp ecx, 0xe
jne 0x53ee8d
mov ecx, dword [eax - 8]
cmp ecx, ebx
jge 0x53ee8d
mov dword [esp + 0x18], edx
mov ebx, ecx
mov ecx, dword [esp + 0x14]
add eax, 0x1c0
inc edx
cmp eax, 0x7d7a6c
jl 0x53ee60
mov esi, 6
cmp ecx, esi
jne 0x53eed8
xor edx, edx
mov eax, 0x7d68e4
mov edi, edi
cmp edx, edi
je 0x53eecb
cmp dword [eax - 4], 2
jne 0x53eecb
cmp dword [eax + 8], esi
jne 0x53eecb
mov ecx, dword [eax]
cmp ecx, ebx
jge 0x53eecb
mov dword [esp + 0x18], edx
mov ebx, ecx
add eax, 0x1c0
inc edx
cmp eax, 0x7d7a64
jl 0x53eeb0
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
pop ebx
je 0x53eef2
imul eax, eax, 0x1c0
mov dword [eax + 0x7d68e0], 1
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xe0]
pop edi
pop esi
mov dword [edx], ebp
mov byte [0x7d68dc], 1
pop ebp
mov dword fs:[0], ecx
add esp, 0xe0
ret