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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5b3151
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 0x543ee4
cmp edi, 9
jle 0x543ff6
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.00403280
mov dword [esp + 0xe8], ebp
push ebp
push 0x5ba7cb
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebp
mov byte [esp + 0x24], 0
call fcn.00403280
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.00403280
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.00403280
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.00403280
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.0054fb40
push 0x5e02c8
lea edx, [esp + 0xa8]
push edx
call fcn.00560081
mov eax, edi
imul eax, eax, 0x1c0
mov ecx, dword [eax + 0x7e09c4]
cmp ecx, 1
lea esi, [eax + 0x7e09b8]
push ebx
mov ebx, dword [0x7e09b0]
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x14], ecx
je 0x544039
cmp ecx, 2
je 0x544039
cmp ecx, 3
je 0x544039
cmp ecx, 5
jne 0x5440da
mov edi, 0x7e09c4
jmp 0x544044
mov esi, dword [esp + 0x10]
cmp ebp, dword [esp + 0xf4]
je 0x5440be
cmp dword [edi - 0xc], 2
jne 0x5440be
cmp dword [edi], ecx
jne 0x5440be
add esi, 0x20
lea eax, [edi + 0x14]
lea ecx, [ecx]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x544084
test cl, cl
je 0x544080
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x544084
add eax, 2
add esi, 2
test cl, cl
jne 0x544060
xor eax, eax
jmp 0x544089
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5440ba
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 4]
cmp eax, dword [ecx + 0x10]
jne 0x5440ba
mov edx, dword [edi + 8]
mov eax, ecx
cmp edx, dword [eax + 0x14]
jne 0x5440ba
mov ecx, dword [edi + 0xc]
mov edx, eax
cmp ecx, dword [edx + 0x18]
jne 0x5440ba
mov eax, dword [edi - 8]
cmp eax, ebx
jge 0x5440ba
mov dword [esp + 0x18], ebp
mov ebx, eax
mov ecx, dword [esp + 0x14]
add edi, 0x1c0
inc ebp
cmp edi, 0x7e1b44
jl 0x544040
mov edi, dword [esp + 0xf4]
xor ebp, ebp
cmp ecx, 0x13
je 0x5440e4
cmp ecx, 0x14
jne 0x544140
xor edx, edx
mov eax, 0x7e09c4
jmp 0x5440f0
cmp edx, edi
je 0x544133
cmp dword [eax - 0xc], 2
jne 0x544133
mov ecx, dword [eax]
cmp ecx, 0x13
je 0x544106
cmp ecx, 0x14
jne 0x54412f
mov ecx, dword [eax + 4]
mov esi, dword [esp + 0x10]
cmp ecx, dword [esi + 0x10]
jne 0x54412f
mov ecx, dword [eax + 8]
cmp ecx, dword [esi + 0x14]
jne 0x54412f
mov ecx, dword [eax + 0xc]
cmp ecx, dword [esi + 0x18]
jne 0x54412f
mov ecx, dword [eax - 8]
cmp ecx, ebx
jge 0x54412f
mov dword [esp + 0x18], edx
mov ebx, ecx
mov ecx, dword [esp + 0x14]
add eax, 0x1c0
inc edx
cmp eax, 0x7e1b44
jl 0x5440f0
cmp ecx, 0x16
je 0x544154
cmp ecx, 0x15
je 0x544154
cmp ecx, 0xc
je 0x544154
cmp ecx, 0xe
jne 0x54419e
xor edx, edx
mov eax, 0x7e09c4
jmp 0x544160
cmp edx, edi
je 0x544191
cmp dword [eax - 0xc], 2
jne 0x544191
mov ecx, dword [eax]
cmp ecx, 0x16
je 0x544180
cmp ecx, 0x15
je 0x544180
cmp ecx, 0xc
je 0x544180
cmp ecx, 0xe
jne 0x54418d
mov ecx, dword [eax - 8]
cmp ecx, ebx
jge 0x54418d
mov dword [esp + 0x18], edx
mov ebx, ecx
mov ecx, dword [esp + 0x14]
add eax, 0x1c0
inc edx
cmp eax, 0x7e1b44
jl 0x544160
mov esi, 6
cmp ecx, esi
jne 0x5441d8
xor edx, edx
mov eax, 0x7e09bc
mov edi, edi
cmp edx, edi
je 0x5441cb
cmp dword [eax - 4], 2
jne 0x5441cb
cmp dword [eax + 8], esi
jne 0x5441cb
mov ecx, dword [eax]
cmp ecx, ebx
jge 0x5441cb
mov dword [esp + 0x18], edx
mov ebx, ecx
add eax, 0x1c0
inc edx
cmp eax, 0x7e1b3c
jl 0x5441b0
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
pop ebx
je 0x5441f2
imul eax, eax, 0x1c0
mov dword [eax + 0x7e09b8], 1
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xe0]
pop edi
pop esi
mov dword [edx], ebp
mov byte [0x7e09b4], 1
pop ebp
mov dword fs:[0], ecx
add esp, 0xe0
ret