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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x58e661
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 0x52b204
cmp edi, 9
jle 0x52b316
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.00403140
mov dword [esp + 0xe8], ebp
push ebp
push 0x5955cf
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebp
mov byte [esp + 0x24], 0
call fcn.00403140
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.00403140
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.00403140
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.00403140
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 0xf5
lea ecx, [esp + 0x88]
push ecx
lea ecx, [esp + 0xc4]
call fcn.00535de0
push 0x5b7828
lea edx, [esp + 0xa8]
push edx
call fcn.0053fb12
mov eax, edi
imul eax, eax, 0x1c0
lea eax, [eax + 0x768660]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0xc]
cmp eax, 1
push ebx
mov ebx, dword [0x768658]
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x18], eax
je 0x52b351
cmp eax, 2
je 0x52b351
cmp eax, 3
jne 0x52b3ed
mov edi, 0x76866c
cmp ebp, dword [esp + 0xf4]
je 0x52b3cd
cmp dword [edi - 0xc], 2
jne 0x52b3cd
cmp dword [edi], eax
jne 0x52b3cd
mov esi, dword [esp + 0x10]
add esi, 0x20
lea eax, [edi + 0x14]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x52b397
test cl, cl
je 0x52b393
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x52b397
add eax, 2
add esi, 2
test cl, cl
jne 0x52b373
xor eax, eax
jmp 0x52b39c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x52b3cd
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x10]
jne 0x52b3cd
mov edx, dword [edi + 8]
mov eax, ecx
cmp edx, dword [eax + 0x14]
jne 0x52b3cd
mov ecx, dword [edi + 0xc]
mov edx, eax
cmp ecx, dword [edx + 0x18]
jne 0x52b3cd
mov eax, dword [edi - 8]
cmp eax, ebx
jge 0x52b3cd
mov dword [esp + 0x14], ebp
mov ebx, eax
mov eax, dword [esp + 0x18]
add edi, 0x1c0
inc ebp
cmp edi, 0x7697ec
jl 0x52b356
mov edi, dword [esp + 0xf4]
xor ebp, ebp
cmp eax, 0x10
je 0x52b3f7
cmp eax, 0x11
jne 0x52b450
xor edx, edx
mov eax, 0x76866c
mov edi, edi
cmp edx, edi
je 0x52b43f
cmp dword [eax - 0xc], 2
jne 0x52b43f
mov ecx, dword [eax]
cmp ecx, 0x10
je 0x52b416
cmp ecx, 0x11
jne 0x52b43f
mov ecx, dword [eax + 4]
mov esi, dword [esp + 0x10]
cmp ecx, dword [esi + 0x10]
jne 0x52b43f
mov ecx, dword [eax + 8]
cmp ecx, dword [esi + 0x14]
jne 0x52b43f
mov ecx, dword [eax + 0xc]
cmp ecx, dword [esi + 0x18]
jne 0x52b43f
mov ecx, dword [eax - 8]
cmp ecx, ebx
jge 0x52b43f
mov dword [esp + 0x14], edx
mov ebx, ecx
add eax, 0x1c0
inc edx
cmp eax, 0x7697ec
jl 0x52b400
mov eax, dword [esp + 0x18]
cmp eax, 0x13
je 0x52b464
cmp eax, 0x12
je 0x52b464
cmp eax, 9
je 0x52b464
cmp eax, 0xb
jne 0x52b4ae
xor edx, edx
mov eax, 0x76866c
jmp 0x52b470
cmp edx, edi
je 0x52b49d
cmp dword [eax - 0xc], 2
jne 0x52b49d
mov ecx, dword [eax]
cmp ecx, 0x13
je 0x52b490
cmp ecx, 0x12
je 0x52b490
cmp ecx, 9
je 0x52b490
cmp ecx, 0xb
jne 0x52b49d
mov ecx, dword [eax - 8]
cmp ecx, ebx
jge 0x52b49d
mov dword [esp + 0x14], edx
mov ebx, ecx
add eax, 0x1c0
inc edx
cmp eax, 0x7697ec
jl 0x52b470
mov eax, dword [esp + 0x18]
mov esi, 4
cmp eax, esi
jne 0x52b4e8
xor edx, edx
mov eax, 0x768664
mov edi, edi
cmp edx, edi
je 0x52b4db
cmp dword [eax - 4], 2
jne 0x52b4db
cmp dword [eax + 8], esi
jne 0x52b4db
mov ecx, dword [eax]
cmp ecx, ebx
jge 0x52b4db
mov dword [esp + 0x14], edx
mov ebx, ecx
add eax, 0x1c0
inc edx
cmp eax, 0x7697e4
jl 0x52b4c0
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
pop ebx
je 0x52b502
imul eax, eax, 0x1c0
mov dword [eax + 0x768660], 1
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xe0]
pop edi
pop esi
mov dword [edx], ebp
mov byte [0x76865c], 1
pop ebp
mov dword fs:[0], ecx
add esp, 0xe0
ret