Function at 0x517d20
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
mov ebx, dword [esp + 0xd4]
mov dword [esp + 4], 0x68
mov dword [esp], 1
call sub.msvcrt.dll_calloc
mov esi, dword [esp + 0xdc]
test esi, esi
mov dword [esp + 0x50], eax
je 0x517d61
mov eax, dword [esp + 0xdc]
mov dword [eax], 0
cmp dword [0x9137d8], 0xfffffffe
je 0x5181c7
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x5181dd
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
call sub.msvcrt.dll_strlen
add eax, 5
mov dword [esp], eax
call sub.msvcrt.dll_malloc
test eax, eax
mov dword [esp + 0x54], eax
je 0x518d4c
test ebx, ebx
je 0x518a1b
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
mov edx, ebx
mov ecx, dword [esp + 0x50]
add eax, 0x4c
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
add eax, 0x48
mov dword [esp], eax
mov eax, ecx
call fcn.00516ed0
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov dword [esp], ecx
call sub.msvcrt.dll_strcpy
mov ebx, dword [esp + 0x54]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax], 0x7864692e
mov byte [eax + 4], 0
mov eax, ebx
call fcn.00516db0
test eax, eax
mov ebp, eax
je 0x518a56
xor ebx, ebx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
nop
test ebx, ebx
je 0x5181b0
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x518130
mov eax, dword [ebp + 4]
sub eax, 1
test eax, eax
mov dword [ebp + 4], eax
js 0x518163
mov eax, dword [ebp]
movzx edx, byte [eax]
add eax, 1
mov dword [ebp], eax
mov ecx, dword [esp + 0x4c]
xor edi, edi
lea esi, [edi + 1]
cmp esi, ecx
jae 0x517e9e
nop
cmp edx, 0xa
mov byte [ebx + edi], dl
je 0x517ece
mov eax, dword [ebp + 4]
sub eax, 1
test eax, eax
mov dword [ebp + 4], eax
js 0x518180
mov eax, dword [ebp]
movzx edx, byte [eax]
add eax, 1
mov dword [ebp], eax
mov edi, esi
lea esi, [edi + 1]
cmp esi, ecx
jb 0x517e70
add ecx, ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
mov dword [esp], ebx
call sub.msvcrt.dll_realloc
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
test eax, eax
je 0x518035
mov ebx, eax
cmp edx, 0xa
mov byte [ebx + edi], dl
jne 0x517e78
mov dword [esp + 0x4c], ecx
mov byte [ebx + esi], 0
cmp esi, 0xf4240
ja 0x518035
mov ecx, dword [esp + 0x40]
add ecx, esi
cmp ecx, 0x989680
mov dword [esp + 0x38], ecx
ja 0x518035
mov eax, ecx
add eax, 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp + 0x3c], eax
add eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov byte [ecx + edx], 0
movzx eax, byte [ebx]
cmp al, 0xd
je 0x518308
test al, al
je 0x518308
cmp al, 0xa
je 0x518308
cmp al, 0x23
nop
je 0x518308
mov esi, str.langidx:
mov ecx, 8
mov edi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x518cdb
mov esi, str.delay:
mov ecx, 6
mov edi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x518bb8
mov esi, 0x9ed43a
mov ecx, 3
mov edi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x518ae6
mov esi, str.org:
mov ecx, 4
mov edi, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x518cfd
mov esi, str.timestamp:
mov ecx, 0xa
mov edi, ebx
repe cmpsb byte [esi], byte es:[edi]
jne 0x5189bb
lea ecx, [esp + 0x88]
lea eax, [esp + 0x9c]
mov dword [esp + 0x18], ecx
lea edx, [esp + 0xa4]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xa8]
lea eax, [ebx + 0xa]
lea esi, [esp + 0xa0]
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], str.__02d:_02d:_02d:_03d__filepos:__09lx
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 5
je 0x5181f0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.ERROR_in__s
mov dword [esp + 4], 1
mov dword [esp], 0x23
call fcn.0042b9b0
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x40], ecx
mov dword [esp], ebx
call fcn.008f2ba8
mov dword [esp], ebp
call sub.msvcrt.dll_fclose
cmp dword [0xbe4658], 0
jne 0x5189a9
mov ebp, dword [esp + 0xdc]
test ebp, ebp
je 0x518090
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov eax, dword [edx + 0x4c]
mov dword [esp + 8], eax
mov eax, dword [edx + 0x48]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00504660
mov ecx, dword [esp + 0xdc]
mov dword [ecx], eax
mov ebx, dword [esp + 0x3c]
mov dword [esp], ebx
call fcn.008f2ba8
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x54]
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov edx, dword [esp + 0x54]
mov dword [esp], edx
call sub.msvcrt.dll_strlen
add eax, dword [esp + 0x54]
mov dword [eax], 0x6275732e
mov byte [eax + 4], 0
mov dword [esp], 0x20
call sub.msvcrt.dll_malloc
test eax, eax
mov dword [esp + 0x38], eax
jne 0x51831d
mov edi, dword [esp + 0xd8]
test edi, edi
je 0x518ed0
mov dword [esp + 8], str.VobSub:_Cant_open_SUB_file_n
mov dword [esp + 4], 1
mov dword [esp], 0x23
call fcn.0042b9b0
mov edx, dword [esp + 0x54]
mov dword [esp], edx
call fcn.008f2ba8
mov eax, dword [esp + 0x50]
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x1000
mov dword [esp], ebx
call sub.msvcrt.dll_realloc
test eax, eax
je 0x518035
mov ebx, eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x4c], 0x1000
sub eax, 1
test eax, eax
mov dword [ebp + 4], eax
jns 0x517e55
mov dword [esp], ebp
call sub.msvcrt.dll__filbuf
cmp eax, 0xffffffff
mov edx, eax
jne 0x517e61
jmp 0x518035
mov dword [esp + 0x30], ecx
mov dword [esp], ebp
call sub.msvcrt.dll__filbuf
mov ecx, dword [esp + 0x30]
cmp eax, 0xffffffff
mov edx, eax
jne 0x517e95
test esi, esi
mov dword [esp + 0x4c], ecx
je 0x518035
mov byte [ebx + esi], 0
jmp 0x517ed6
mov dword [esp], 0x1000
call sub.msvcrt.dll_malloc
test eax, eax
mov ebx, eax
jne 0x51814a
jmp 0x518035
mov ecx, dword [esp + 0x50]
mov eax, dword [0x91301c]
test ecx, ecx
mov dword [0x9137d8], eax
jne 0x517d7a
add esp, 0xbc
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x88]
mov esi, dword [esi + 0x40]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x78], eax
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x9c]
mov eax, dword [edx + 0x58]
mov dword [esp + 0x74], esi
test eax, eax
je 0x5189e8
mov edx, dword [edx + 0x60]
lea edx, [edx + edx*4]
lea esi, [eax + edx*4]
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 8]
lea ecx, [edi + 1]
cmp ecx, eax
jbe 0x518315
mov edx, dword [esi + 4]
test edx, edx
je 0x518a96
lea eax, [eax + eax*2]
shl eax, 4
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_realloc
test eax, eax
je 0x51922a
mov edi, dword [esi + 0xc]
shl dword [esi + 8], 1
mov dword [esi + 4], eax
lea ecx, [edi + 1]
mov edx, dword [esp + 0x4c]
add edx, dword [esp + 0x40]
mov dword [esp + 0x40], edx
imul edx, dword [esp + 0x6c], 0x3c
add edx, dword [esp + 0x70]
imul edx, edx, 0x3c
add edx, dword [esp + 0x74]
imul edx, edx, 0x3e8
mov dword [esp + 0x4c], edx
lea edx, [edi + edi*2]
lea eax, [eax + edx*8]
mov edx, dword [esp + 0x78]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], edx
mov edx, 0xffffffff
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x40]
add ecx, dword [esp + 0x4c]
js 0x5182f4
imul edx, ecx, 0x5a
mov dword [eax], edx
mov dword [esp], ebx
xor ebx, ebx
call fcn.008f2ba8
mov dword [esp + 0x4c], 0
mov edx, dword [esp + 0x38]
mov dword [esp + 0x40], edx
jmp 0x517e30
mov eax, dword [esi + 4]
jmp 0x518297
mov dword [eax + 4], 0
mov dword [eax + 8], 0xffffffff
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x18], 1
mov dword [eax + 0x1c], 0
mov eax, dword [esp + 0x54]
call fcn.00516db0
mov ecx, dword [esp + 0x38]
test eax, eax
mov ebx, eax
mov dword [ecx], eax
je 0x51898c
mov dword [esp + 0x58], 0
lea ebp, [esp + 0x97]
test byte [ebx + 0xc], 0x10
jne 0x5183e1
mov dword [esp], ebx
call sub.msvcrt.dll_ftell
mov edx, dword [esp + 0x38]
mov byte [esp + 0xad], 0
mov byte [esp + 0xae], 0
mov byte [esp + 0xaf], 1
mov dword [edx + 8], 0xffffffff
mov dword [edx + 0x14], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 4
mov dword [esp], ebp
call sub.msvcrt.dll_fread
cmp eax, 1
je 0x518468
test byte [ebx + 0xc], 0x10
je 0x5184d9
mov edx, dword [esp + 0x50]
mov esi, dword [0x9137d8]
mov edi, dword [esp + 0x50]
mov eax, dword [edx + 0x5c]
mov dword [edx + 0x60], eax
lea edx, [eax + eax*4]
lea edx, [edx*4 - 0x14]
jmp 0x51841f
mov ecx, dword [edi + 0x58]
add ecx, edx
cmp eax, esi
mov dword [ecx + 0x10], 0
je 0x518418
mov ebp, dword [ecx + 0xc]
test ebp, ebp
je 0x51841c
add dword [edi + 0x64], 1
sub edx, 0x14
sub eax, 1
cmp eax, 0xffffffff
jne 0x518401
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
mov eax, dword [esi + 0xc]
mov dword [ecx + 0x60], 0xffffffff
mov dword [esp], eax
call fcn.008f2ba8
mov dword [esp], ebx
call sub.msvcrt.dll_fclose
mov ebx, dword [0xbe4658]
test ebx, ebx
jne 0x518a09
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.008f2ba8
jmp 0x518110
lea ecx, [esp + 0xad]
mov dword [esp + 0x2c], ecx
mov edi, ecx
jmp 0x5184a9
mov eax, dword [ebx]
movzx esi, byte [eax]
add eax, 1
mov dword [ebx], eax
lea eax, [esp + 0x98]
mov dword [esp + 8], 3
mov dword [esp + 4], eax
mov dword [esp], ebp
call sub.msvcrt.dll_memmove
mov edi, dword [esp + 0x2c]
mov edx, esi
mov byte [esp + 0x9a], dl
mov esi, ebp
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x518500
mov eax, dword [ebx + 4]
sub eax, 1
test eax, eax
mov dword [ebx + 4], eax
jns 0x518477
mov dword [esp], ebx
call sub.msvcrt.dll__filbuf
test eax, eax
mov esi, eax
jns 0x518481
test byte [ebx + 0xc], 0x10
jne 0x5183e1
mov dword [esp + 8], str.VobSub:_mpeg_run_error_n
mov dword [esp + 4], 1
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x5183e1
movzx eax, byte [esp + 0x9a]
cmp al, 0xba
je 0x5188c8
ja 0x518570
cmp al, 0xb9
je 0x518562
lea edx, [eax + 0x40]
cmp dl, 0x2f
ja 0x518940
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 2
mov dword [esp], ebp
call sub.msvcrt.dll_fread
cmp eax, 1
jne 0x5183d7
movzx eax, byte [esp + 0x97]
movzx edx, byte [esp + 0x98]
shl eax, 8
or eax, edx
jne 0x519209
mov eax, dword [esp + 0x38]
mov ebx, dword [eax]
jmp 0x518376
cmp al, 0xbd
je 0x5185ce
cmp al, 0xbe
jne 0x518516
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 2
mov dword [esp], ebp
call sub.msvcrt.dll_fread
cmp eax, 1
jne 0x5183d7
movzx eax, byte [esp + 0x97]
movzx edx, byte [esp + 0x98]
shl eax, 8
or eax, edx
jne 0x518fcc
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [edx + 0x18], 1
mov ebx, dword [eax]
jmp 0x518376
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 2
mov dword [esp], ebp
call sub.msvcrt.dll_fread
cmp eax, 1
jne 0x5183d7
mov esi, dword [esp + 0x38]
movzx eax, byte [esp + 0x98]
mov dword [esi + 0x18], 0
movzx esi, byte [esp + 0x97]
mov byte [esp + 0x4c], al
mov dword [esp], ebx
call sub.msvcrt.dll_ftell
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 4]
sub eax, 1
test eax, eax
mov dword [ebx + 4], eax
js 0x519627
mov edx, dword [ebx]
movzx eax, byte [edx]
add edx, 1
mov dword [ebx], edx
mov edx, eax
and edx, 0xc0
cmp edx, 0x40
je 0x5195fe
mov edx, eax
and edx, 0xf0
cmp edx, 0x20
je 0x5193f0
cmp edx, 0x30
je 0x5193f0
and eax, 0xc0
add eax, 0xffffff80
je 0x519297
mov edx, dword [esp + 0x38]
mov esi, dword [edx + 0x14]
test esi, esi
je 0x518562
mov ecx, dword [esp + 0x38]
mov edi, dword [ecx + 8]
mov eax, edi
and eax, 0xe0
cmp eax, 0x20
jne 0x518562
mov eax, dword [esp + 0x50]
and edi, 0x1f
mov esi, dword [esp + 0x50]
mov ebx, dword [eax + 0x5c]
add esi, 0x5c
cmp edi, ebx
jb 0x518dd2
mov eax, dword [eax + 0x58]
test eax, eax
je 0x518e5c
lea edx, [edi + edi*4 + 5]
shl edx, 2
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_realloc
test eax, eax
mov ecx, eax
je 0x5191e8
mov ebx, dword [esp + 0x50]
mov dword [ebx + 0x58], eax
mov ebx, dword [ebx + 0x5c]
cmp edi, ebx
jb 0x518723
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x58]
nop
lea edx, [ebx + ebx*4]
lea edx, [eax + edx*4]
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
mov ebx, dword [esi]
mov dword [edx], 0
mov dword [edx + 4], 0
add ebx, 1
cmp edi, ebx
mov dword [esi], ebx
jae 0x5186f0
lea eax, [edi + edi*4]
lea eax, [ecx + eax*4]
mov edi, dword [eax + 0xc]
mov dword [esp + 0x4c], eax
test edi, edi
je 0x518dda
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x10]
lea ecx, [edx + 1]
cmp ecx, edi
jae 0x518777
mov ebx, dword [esp + 0x3c]
lea eax, [ecx + ecx*2]
mov esi, ebx
sar esi, 0x1f
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x40], ebx
mov ebx, dword [esi + 4]
mov esi, dword [esp + 0x44]
lea eax, [ebx + eax*8]
cmp esi, dword [eax + 0xc]
jg 0x518d85
jge 0x518d78
mov ebx, ecx
mov ecx, edx
nop
lea esi, [esi]
cmp ecx, edi
jae 0x518562
mov esi, dword [esp + 0x4c]
lea ecx, [ecx + ecx*2]
mov eax, dword [esi + 4]
mov ecx, dword [eax + ecx*8 + 0x14]
test ecx, ecx
je 0x518e46
mov ecx, dword [esi + 8]
lea esi, [edi + 1]
cmp esi, ecx
jbe 0x5187dd
test eax, eax
je 0x518f2c
lea edx, [ecx + ecx*2]
shl edx, 4
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_realloc
test eax, eax
je 0x51968c
mov edx, dword [esp + 0x4c]
mov dword [edx + 4], eax
mov edi, dword [edx + 0xc]
shl dword [edx + 8], 1
mov edx, dword [edx + 0x10]
lea ebx, [edx + 1]
sub edi, edx
lea ecx, [edi + edi*2]
lea ecx, [ecx*8 - 0x18]
lea edx, [edx + edx*2]
mov dword [esp + 8], ecx
lea ecx, [ebx + ebx*2]
lea ecx, [eax + ecx*8]
lea eax, [eax + edx*8 + 0x30]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x4c]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0x10]
add dword [esi + 0xc], 1
lea ecx, [edx + edx*2]
add edx, 1
lea ebx, [eax + ecx*8]
mov dword [esi + 0x10], edx
mov esi, dword [ebx]
lea ecx, [ebx + 0x18]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ebx + 0x18], esi
mov esi, dword [ebx + 0xc]
mov ebx, dword [ebx + 8]
mov dword [ecx + 0xc], esi
mov dword [ecx + 8], ebx
mov esi, dword [esp + 0x38]
lea ecx, [edx + edx*2]
mov ebx, dword [esp + 0x58]
lea ecx, [eax + ecx*8]
add ebx, dword [esi + 4]
mov dword [ecx], ebx
cmp ebx, 0xffffffff
je 0x518562
mov esi, dword [esp + 0x4c]
cmp dword [esi + 0xc], 1
jbe 0x518ec0
mov esi, dword [esp + 0x38]
sub ebx, dword [esi + 4]
mov dword [esp + 0x58], ebx
mov ebx, esi
mov ebx, dword [ebx + 0x1c]
test ebx, ebx
je 0x518891
test edx, edx
je 0x518891
lea edx, [edx + edx*2 - 3]
mov eax, dword [eax + edx*8]
mov dword [ecx], eax
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 0xc]
mov dword [esi + 0x1c], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [ecx + 0x14], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x14], 0
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x38]
mov ebx, dword [eax]
jmp 0x518376
mov eax, dword [ebx + 4]
sub eax, 1
test eax, eax
mov dword [ebx + 4], eax
js 0x518d55
mov edx, dword [ebx]
movzx eax, byte [edx]
add edx, 1
mov dword [ebx], edx
mov edx, eax
and edx, 0xc0
cmp edx, 0x40
je 0x518ac1
mov edx, eax
and edx, 0xf0
cmp edx, 0x20
jne 0x518f60
mov dword [esp + 8], 1
mov dword [esp + 4], 7
mov dword [esp], ebx
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x5183d7
mov ecx, dword [esp + 0x38]
mov esi, dword [ecx + 0x18]
test esi, esi
jne 0x518562
mov dword [ecx + 0x1c], 1
jmp 0x518562
movzx eax, al
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x99]
mov dword [esp + 8], str.unknown_header_0x_02X_02X_02X_02X_n
mov dword [esp + 4], 1
mov dword [esp], 0x23
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 0x98]
mov dword [esp + 0x10], eax
movzx eax, byte [esp + 0x97]
mov dword [esp + 0xc], eax
call fcn.0042b9b0
jmp 0x5183d7
mov dword [esp], str.fopen_Vobsub_file_failed
call sub.msvcrt.dll_perror
mov ebx, dword [esp + 0x38]
mov dword [esp], ebx
call fcn.008f2ba8
jmp 0x5180e5
mov eax, dword [0xbd8c48]
mov dword [esp], eax
call sub.msvcrt.dll__unlink
jmp 0x518052
mov dword [esp + 0xc], ebx
mov dword [esp + 8], str.vobsub:_ignoring__s
mov dword [esp + 4], 6
mov dword [esp], 0x23
call fcn.0042b9b0
mov edx, dword [esp + 0x38]
mov dword [esp + 0x40], edx
jmp 0x517e30
mov dword [esp + 8], str._vobsub__warning__binning_some_index_entries.__Check_your_index_file_n
mov dword [esp + 4], 2
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x51800d
mov eax, dword [0xbd8c48]
mov dword [esp], eax
call sub.msvcrt.dll__unlink
jmp 0x518457
mov ecx, dword [esp + 0xd0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sub.msvcrt.dll_strcpy
mov ebx, dword [esp + 0x54]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax], 0x6f66692e
mov byte [eax + 4], 0
mov esi, dword [esp + 0xd8]
mov dword [esp + 8], esi
jmp 0x517db3
mov edx, dword [esp + 0xd8]
test edx, edx
je 0x518ed0
mov dword [esp + 8], str.VobSub:_Cant_open_IDX_file_n
mov dword [esp + 4], 1
mov dword [esp], 0x23
call fcn.0042b9b0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
jmp 0x518052
mov dword [esp + 0x30], ecx
mov dword [esp], 0x18
call sub.msvcrt.dll_malloc
mov ecx, dword [esp + 0x30]
test eax, eax
mov dword [esi + 4], eax
je 0x51966b
mov dword [esi + 8], 1
jmp 0x518297
mov dword [esp + 8], 1
mov dword [esp + 4], 9
mov dword [esp], ebx
call sub.msvcrt.dll_fseek
test eax, eax
je 0x518925
jmp 0x5183d7
mov edi, dword [sym.imp.msvcrt.dll___mb_cur_max]
lea esi, [ebx + 3]
mov dword [esp + 0x40], ebx
mov edx, dword [edi]
jmp 0x518b0d
mov ebx, dword [sym.imp.msvcrt.dll__pctype]
mov ecx, dword [ebx]
movzx eax, word [ecx + eax*2]
and eax, 8
test eax, eax
je 0x518b29
add esi, 1
cmp edx, 1
movsx eax, byte [esi]
je 0x518af7
mov dword [esp + 4], 8
mov dword [esp], eax
call sub.msvcrt.dll__isctype
mov edx, dword [edi]
jmp 0x518b06
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x40], esi
jmp 0x518b4d
mov ecx, dword [sym.imp.msvcrt.dll__pctype]
mov edx, dword [ecx]
movzx eax, word [edx + eax*2]
and eax, 0x103
test eax, eax
je 0x518b67
mov edx, dword [edi]
add esi, 1
cmp edx, 1
movsx eax, byte [esi]
je 0x518b33
mov dword [esp + 4], 0x103
mov dword [esp], eax
call sub.msvcrt.dll__isctype
jmp 0x518b44
mov eax, esi
sub eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
je 0x51800d
add esi, 1
mov ecx, dword [sym.imp.msvcrt.dll__pctype]
jmp 0x518b96
mov edx, dword [ecx]
movzx eax, word [edx + eax*2]
and eax, 8
test eax, eax
je 0x518f85
add esi, 1
cmp dword [edi], 1
movsx eax, byte [esi]
je 0x518b82
mov dword [esp + 0x30], ecx
mov dword [esp + 4], 8
mov dword [esp], eax
call sub.msvcrt.dll__isctype
mov ecx, dword [esp + 0x30]
jmp 0x518b8b
movzx eax, byte [ebx + 7]
lea edi, [ebx + 7]
cmp al, 0x2b
je 0x518eef
cmp al, 0x2d
mov esi, ebx
mov ecx, 1
je 0x518d6a
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 8], str.forward_d
mov dword [esp + 4], 6
mov dword [esp], 0x1a
call fcn.0042b9b0
mov dword [esp], edi
call sub.msvcrt.dll_atoi
mov dword [esp + 8], str.h_d_
mov dword [esp + 4], 6
mov dword [esp], 0x23
mov edi, eax
mov dword [esp + 0xc], eax
imul edi, edi, 0x3c
call fcn.0042b9b0
lea eax, [esi + 0xa]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [esp + 8], str.m_d_
mov dword [esp + 4], 6
mov dword [esp], 0x23
mov dword [esp + 0xc], eax
mov dword [esp + 0x34], eax
call fcn.0042b9b0
lea eax, [esi + 0xd]
add esi, 0x10
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [esp + 8], str.s_d_
mov dword [esp + 4], 6
mov dword [esp], 0x23
mov dword [esp + 0x40], eax
mov dword [esp + 0xc], eax
call fcn.0042b9b0
mov dword [esp], esi
call sub.msvcrt.dll_atoi
mov dword [esp + 8], str.ms_d
mov dword [esp + 4], 6
mov dword [esp], 0x23
mov esi, eax
mov dword [esp + 0xc], eax
call fcn.0042b9b0
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
lea eax, [edi + edx]
imul eax, eax, 0x3c
add eax, dword [esp + 0x40]
imul eax, eax, 0x3e8
add eax, esi
mov esi, dword [esp + 0x50]
imul eax, ecx
mov dword [esi + 0x40], eax
jmp 0x5182f6
cmp dword [0x91301c], 0xffffffff
jne 0x5182f6
lea eax, [ebx + 8]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [0x91301c], eax
jmp 0x5182f6
lea eax, [esp + 0xa0]
mov dword [esp + 8], eax
lea esi, [esp + 0x9c]
lea eax, [ebx + 4]
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.__u__u
mov dword [esp], eax
call sub.msvcrt.dll_sscanf
cmp eax, 2
jne 0x51800d
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x50]
mov dword [edx + 0x50], eax
mov eax, dword [esp + 0x9c]
mov dword [edx + 0x54], eax
jmp 0x5182f6
mov eax, dword [esp + 0x50]
jmp 0x518120
mov dword [esp], ebx
call sub.msvcrt.dll__filbuf
test eax, eax
js 0x5183d7
jmp 0x5188e3
lea esi, [ebx + 1]
or ecx, 0xffffffff
lea edi, [ebx + 8]
jmp 0x518bd6
mov esi, dword [esp + 0x3c]
cmp esi, dword [eax + 8]
jb 0x518777
lea eax, [edx + edx*2]
lea edx, [ecx + 1]
cmp edx, edi
lea eax, [ebx + eax*8 + 0x38]
jae 0x518dc2
mov ebx, dword [eax + 4]
mov esi, dword [eax]
add eax, 0x18
cmp ebx, dword [esp + 0x44]
jl 0x518db9
jle 0x518db3
mov esi, dword [esp + 0x4c]
mov ebx, edx
mov edx, ecx
mov dword [esi + 0x10], ecx
jmp 0x518780
cmp esi, dword [esp + 0x40]
ja 0x518da3
mov ecx, edx
lea edx, [ecx + 1]
cmp edx, edi
jb 0x518d93
mov ebx, dword [esp + 0x4c]
mov dword [ebx + 0x10], ecx
mov ebx, edx
mov edx, ecx
jmp 0x518780
mov ecx, dword [eax + 0x58]
jmp 0x518723
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x518e53
mov eax, dword [eax + 4]
test eax, eax
je 0x518eff
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_realloc
test eax, eax
je 0x5193d4
mov ebx, dword [esp + 0x4c]
shl dword [ebx + 8], 1
mov ecx, ebx
mov edi, dword [ebx + 0xc]
mov dword [ebx + 4], eax
lea edx, [edi + edi*2]
add edi, 1
lea eax, [eax + edx*8]
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [ecx + 0xc], edi
jmp 0x518738
lea ecx, [edx + edx*2]
lea ecx, [eax + ecx*8]
mov ebx, dword [ecx]
jmp 0x518859
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x4c]
jmp 0x518e13
lea eax, [edi + edi*4 + 5]
shl eax, 2
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, dword [esp + 0x50]
test eax, eax
mov ecx, eax
mov dword [edx + 0x58], eax
jne 0x5186e7
mov dword [esp + 8], str.vobsub_ensure_spu_stream:_malloc_failure
mov dword [esp + 4], 1
mov dword [esp], 0x23
call fcn.0042b9b0
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.dont_know_what_to_do_with_subtitle__u_n
mov dword [esp + 4], 2
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x518562
mov esi, dword [esp + 0x38]
mov ebx, dword [esi + 4]
mov dword [ecx], ebx
mov ebx, esi
jmp 0x51887d
mov esi, dword [esp + 0x54]
mov dword [esp], esi
call fcn.008f2ba8
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.008f2ba8
xor eax, eax
jmp 0x518120
lea esi, [ebx + 1]
mov ecx, 1
lea edi, [ebx + 8]
jmp 0x518bd6
mov dword [esp], 0x18
call sub.msvcrt.dll_malloc
mov esi, dword [esp + 0x4c]
test eax, eax
mov dword [esi + 4], eax
je 0x5196ad
mov edx, dword [esp + 0x4c]
mov dword [edx + 8], 1
mov ecx, edx
jmp 0x518e13
mov dword [esp], 0x18
call sub.msvcrt.dll_malloc
mov ebx, dword [esp + 0x4c]
test eax, eax
mov dword [ebx + 4], eax
je 0x51924b
mov esi, dword [esp + 0x4c]
mov edx, dword [esi + 0x10]
mov dword [esi + 8], 1
mov edi, dword [esi + 0xc]
lea ebx, [edx + 1]
jmp 0x5187dd
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.VobSub:_Unsupported_MPEG_version:_0x_02x_n
mov dword [esp + 4], 1
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x5183d7
mov dword [esp + 8], 6
mov dword [esp + 4], esi
mov dword [esp], str.index:
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x51800d
mov ecx, dword [sym.imp.msvcrt.dll__pctype]
add esi, 6
cmp dword [edi], 1
movsx eax, byte [esi]
jne 0x519087
mov edx, dword [ecx]
movzx eax, word [edx + eax*2]
and eax, 8
test eax, eax
je 0x518fed
add esi, 1
jmp 0x518fae
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_fseek
test eax, eax
je 0x5185b8
jmp 0x5183d7
movsx eax, byte [esi]
sub eax, 0x30
cmp eax, 9
ja 0x51800d
mov dword [esp], esi
call sub.msvcrt.dll_atoi
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
add edx, 0x58
add edi, 0x5c
cmp eax, dword [ecx + 0x5c]
mov esi, eax
mov dword [esp + 0x6c], edx
jb 0x519103
mov edx, dword [ecx + 0x58]
test edx, edx
je 0x5190c5
lea eax, [eax + 1]
imul eax, eax, 0x14
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_realloc
test eax, eax
je 0x5190a4
mov edx, dword [esp + 0x50]
mov dword [edx + 0x58], eax
mov eax, dword [edi]
cmp esi, eax
jb 0x519103
mov edx, dword [esp + 0x6c]
imul eax, eax, 0x14
add eax, dword [edx]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
add dword [edi], 1
jmp 0x51904d
mov dword [esp + 0x30], ecx
mov dword [esp + 4], 8
mov dword [esp], eax
call sub.msvcrt.dll__isctype
mov ecx, dword [esp + 0x30]
jmp 0x518fc3
mov dword [esp + 8], str.vobsub_ensure_spu_stream:_realloc_failure
mov dword [esp + 4], 1
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x51800d
lea eax, [eax + 1]
imul eax, eax, 0x14
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov ecx, dword [esp + 0x50]
test eax, eax
mov dword [ecx + 0x58], eax
jne 0x51904d
mov dword [esp + 8], str.vobsub_ensure_spu_stream:_malloc_failure
mov dword [esp + 4], 1
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x51800d
mov ecx, dword [esp + 0x50]
imul edi, esi, 0x14
mov eax, dword [ecx + 0x58]
mov eax, dword [eax + edi]
mov dword [esp], eax
call fcn.008f2ba8
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0x58]
mov eax, dword [esp + 0x4c]
add edx, edi
add eax, 1
mov dword [esp + 0x34], edx
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, dword [esp + 0x34]
test eax, eax
mov dword [edx], eax
je 0x519276
mov ecx, dword [esp + 0x4c]
mov byte [eax + ecx], 0
mov eax, dword [edx]
mov edx, dword [esp + 0x40]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x50]
mov dword [ecx + 0x60], esi
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.ID_VOBSUB_ID_d_n
mov dword [esp + 4], 4
mov dword [esp], 0x29
call fcn.0042b9b0
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 0x58]
mov eax, dword [eax + edi]
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.ID_VSID__d_LANG_s_n
mov dword [esp + 4], 4
mov dword [esp + 0x10], eax
mov dword [esp], 0x29
call fcn.0042b9b0
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + 0x58]
mov eax, dword [eax + edi]
mov dword [esp + 0xc], esi
mov dword [esp + 8], str._vobsub__subtitle__vobsubid_:__d_language__s_n
mov dword [esp + 4], 6
mov dword [esp + 0x10], eax
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x5182f6
mov dword [esp + 8], str.vobsub_ensure_spu_stream:_realloc_failure
mov dword [esp + 4], 1
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x518e98
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_fseek
test eax, eax
je 0x518562
jmp 0x5183d7
mov dword [esp + 8], str.realloc_failure
mov dword [esp + 4], 0
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x51800d
mov dword [esp + 8], str.malloc_failure
mov dword [esp + 4], 0
mov dword [esp], 0x23
call fcn.0042b9b0
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 4]
mov edx, dword [ecx + 0x10]
jmp 0x518846
mov dword [esp + 8], str.vobsub_add_id:_malloc_failure
mov dword [esp + 4], 0
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x51800d
mov eax, dword [ebx + 4]
sub eax, 1
test eax, eax
mov dword [ebx + 4], eax
js 0x5195e2
mov edx, dword [ebx]
movzx ecx, byte [edx]
add edx, 1
mov dword [ebx], edx
mov dword [esp + 0x40], ecx
sub eax, 1
test eax, eax
mov dword [ebx + 4], eax
js 0x5195cb
mov eax, dword [ebx]
movzx edi, byte [eax]
add eax, 1
mov dword [ebx], eax
mov edx, dword [esp + 0x5c]
and esi, 0xff
movzx eax, byte [esp + 0x4c]
shl esi, 8
mov dword [esp], ebx
mov ecx, edx
sar ecx, 0x1f
or esi, eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], edx
call sub.msvcrt.dll_ftell
mov ecx, dword [esp + 0x5c]
add ecx, esi
mov dword [esp + 0x5c], ecx
lea eax, [edi + eax]
cmp eax, ecx
mov dword [esp + 0x4c], eax
ja 0x5194b8
mov eax, dword [esp + 0x40]
and eax, 0xc0
add eax, 0xffffff80
je 0x51948c
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esi]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_fseek
mov eax, dword [ebx + 4]
sub eax, 1
test eax, eax
mov dword [ebx + 4], eax
js 0x519450
mov eax, dword [ebx]
movzx edx, byte [eax]
add eax, 1
mov dword [ebx], eax
mov dword [esi + 8], edx
mov dword [esp], ebx
call sub.msvcrt.dll_ftell
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x5c]
sub esi, eax
cmp esi, dword [ecx + 0x10]
mov dword [ecx + 0x14], esi
ja 0x51942a
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x5193f5
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_fread
sub eax, 1
je 0x518679
mov dword [esp + 8], str.fread_failure
mov dword [esp + 4], 1
mov dword [esp], 0x23
call fcn.0042b9b0
mov eax, dword [esp + 0x38]
mov dword [eax + 0x14], 0
jmp 0x5183d7
mov dword [esp + 8], str.realloc_failure
mov dword [esp + 4], 0
mov dword [esp], 0x23
call fcn.0042b9b0
call sub.msvcrt.dll_abort
mov dword [esp + 8], str.malloc_failure
mov dword [esp + 4], 0
mov dword [esp], 0x23
call fcn.0042b9b0
mov ebx, dword [esp + 0x38]
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
mov ebx, dword [ebx]
jmp 0x5183d7
mov eax, dword [ecx + 0xc]
mov dword [esp], eax
call fcn.008f2ba8
mov dword [esp], esi
call sub.msvcrt.dll_malloc
mov edx, dword [esp + 0x38]
test eax, eax
mov dword [edx + 0xc], eax
je 0x5193f5
mov dword [edx + 0x10], esi
jmp 0x51937c
mov dword [esp], ebx
call sub.msvcrt.dll__filbuf
mov edx, dword [esp + 0x38]
test eax, eax
mov dword [edx + 8], eax
jns 0x51935e
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.Bogus_aid__d_n
mov dword [esp + 4], 1
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x5183d7
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 5
mov dword [esp], ebp
call sub.msvcrt.dll_fread
sub eax, 1
je 0x5194f3
mov eax, dword [esp + 0x38]
mov ebx, dword [eax]
jmp 0x5183d7
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 8], str.Invalid_header_length:__d__total_length:__d__idx:__d__dataidx:__d__n
mov dword [esp + 4], 1
mov dword [esp], 0x23
call fcn.0042b9b0
mov esi, dword [esp + 0x38]
mov ebx, dword [esi]
jmp 0x5183d7
movzx eax, byte [esp + 0x97]
movzx ecx, al
mov edx, ecx
and edx, 0xf1
cmp edx, 0x21
jne 0x519528
movzx esi, byte [esp + 0x99]
test esi, 1
je 0x519528
movzx ebx, byte [esp + 0x9b]
test bl, 1
jne 0x51958b
movzx edx, byte [esp + 0x9b]
movzx eax, al
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.vobsub_PTS_error:_0x_02x__02x_02x__02x_02x__n
mov dword [esp + 4], 1
mov dword [esp + 0x1c], edx
movzx edx, byte [esp + 0x9a]
mov dword [esp], 0x23
mov dword [esp + 0x18], edx
movzx edx, byte [esp + 0x99]
mov dword [esp + 0x14], edx
movzx edx, byte [esp + 0x98]
mov dword [esp + 0x10], edx
call fcn.0042b9b0
mov edx, dword [esp + 0x38]
mov dword [edx + 4], 0
jmp 0x519322
movzx eax, byte [esp + 0x9a]
and ecx, 0xe
and esi, 0xfe
movzx edx, byte [esp + 0x98]
shl ecx, 0x1d
shl esi, 0xe
shl eax, 7
shl edx, 0x16
or eax, edx
mov edx, ebx
shr dl, 1
movzx edx, dl
or eax, edx
or eax, ecx
mov ecx, dword [esp + 0x38]
or eax, esi
mov dword [ecx + 4], eax
jmp 0x519322
mov dword [esp], ebx
call sub.msvcrt.dll__filbuf
test eax, eax
mov edi, eax
jns 0x5192ce
jmp 0x5194ad
mov dword [esp], ebx
call sub.msvcrt.dll__filbuf
test eax, eax
mov dword [esp + 0x40], eax
js 0x5194e8
mov eax, dword [ebx + 4]
jmp 0x5192b6
mov eax, dword [ebx + 4]
sub eax, 1
test eax, eax
mov dword [ebx + 4], eax
js 0x519655
add dword [ebx], 1
sub eax, 1
test eax, eax
mov dword [ebx + 4], eax
js 0x51963c
mov edx, dword [ebx]
movzx eax, byte [edx]
add edx, 1
mov dword [ebx], edx
jmp 0x51864a
mov dword [esp], ebx
call sub.msvcrt.dll__filbuf
test eax, eax
js 0x5183d7
jmp 0x518639
mov dword [esp], ebx
nop
call sub.msvcrt.dll__filbuf
test eax, eax
jns 0x51864a
lea esi, [esi]
jmp 0x5183d7
mov dword [esp], ebx
call sub.msvcrt.dll__filbuf
test eax, eax
nop
js 0x5183d7
mov eax, dword [ebx + 4]
jmp 0x51960e
mov dword [esp + 8], str.malloc_failure
mov dword [esp + 4], 0
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x51800d
mov dword [esp + 8], str.realloc_failure
mov dword [esp + 4], 0
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x519267
mov dword [esp + 8], str.malloc_failure
mov dword [esp + 4], 0
mov dword [esp], 0x23
call fcn.0042b9b0
jmp 0x5193f0