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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xec
mov eax, dword [0x5b3890]
xor eax, esp
mov dword [esp + 0xe8], eax
push ebx
push esi
push edi
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x2c], eax
mov byte [esp + 0x70], al
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 4]
or ecx, 0xffffffff
mov dword [esp + 0x40], eax
or eax, ecx
mov esi, dword [ebp + 0xc]
sub ecx, 8
sub eax, 8
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x68], esi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x44], 1
jmp 0x4fd4d4
mov esi, dword [esp + 0x68]
xor edi, edi
mov eax, 8
mov dword [esp + 0x34], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], esi
mov bl, byte [esi]
mov dword [esp + 0x24], esi
test al, al
jns 0x4fd539
test bl, bl
je 0x4fdf3b
movsx eax, bl
add eax, 0xfffffff7
cmp eax, 0x17
ja case.0x4fd51b.11
movzx ecx, byte [eax + 0x4fe1dc]
jmp dword [ecx*4 + 0x4fe1d0]
inc dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x24]
inc esi
jmp 0x4fd4f3
test al, 0x20
je 0x4fd813
test bl, bl
je 0x4fdf83
cmp edx, dword [esp + 0x4c]
ja 0x4fe0fa
test al, 0x10
je 0x4fd7bf
and eax, 0xffffffef
mov dword [esp + 0x10], eax
movsx eax, bl
add eax, 0xffffff9e
cmp eax, 0x13
ja case.0x4fd578.99
movzx eax, byte [eax + 0x4fe210]
jmp dword [eax*4 + 0x4fe1f4]
cmp dword [esp + 0x44], 0
jne 0x4fd58e
mov ecx, dword [esp + 0x28]
mov byte [ecx + edx], 8
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
inc edx
mov dword [esp + 0x14], edx
inc esi
jmp 0x4fd4f3
cmp dword [esp + 0x44], 0
jne 0x4fd5b0
mov eax, dword [esp + 0x28]
mov byte [eax + edx], 0xc
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
inc edx
mov dword [esp + 0x14], edx
inc esi
jmp 0x4fd4f3
cmp dword [esp + 0x44], 0
jne 0x4fd5d2
mov ecx, dword [esp + 0x28]
mov byte [ecx + edx], 0xa
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
inc edx
mov dword [esp + 0x14], edx
inc esi
jmp 0x4fd4f3
cmp dword [esp + 0x44], 0
jne 0x4fd5f4
mov eax, dword [esp + 0x28]
mov byte [eax + edx], 0xd
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
inc edx
mov dword [esp + 0x14], edx
inc esi
jmp 0x4fd4f3
cmp dword [esp + 0x44], 0
jne 0x4fd616
mov ecx, dword [esp + 0x28]
mov byte [ecx + edx], 9
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
inc edx
mov dword [esp + 0x14], edx
inc esi
jmp 0x4fd4f3
mov al, byte [esi + 1]
inc esi
call fcn.004fd250
mov byte [esp + 0x39], al
cmp al, 0xff
je 0x4fdfa4
mov al, byte [esi + 1]
inc esi
call fcn.004fd250
mov byte [esp + 0x3b], al
cmp al, 0xff
je 0x4fdfa4
mov al, byte [esi + 1]
inc esi
call fcn.004fd250
mov byte [esp + 0x3a], al
cmp al, 0xff
je 0x4fdfa4
mov al, byte [esi + 1]
inc esi
mov dword [esp + 0x24], esi
call fcn.004fd250
cmp al, 0xff
je 0x4fdfa4
mov dl, byte [esp + 0x3a]
mov cl, byte [esp + 0x39]
shl dl, 4
add dl, al
shl cl, 4
add cl, byte [esp + 0x3b]
mov al, dl
movsx dx, cl
mov esi, 0x100
imul dx, si
movzx si, al
add dx, si
movzx edx, dx
test cl, cl
jne 0x4fd6da
cmp al, 0x7f
ja 0x4fd6da
cmp dword [esp + 0x44], 0
jne 0x4fd6c4
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov byte [eax + ecx], dl
inc dword [esp + 0x14]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc esi
jmp 0x4fd4f3
mov esi, 0x7ff
cmp dx, si
ja 0x4fd739
cmp dword [esp + 0x44], 0
je 0x4fd702
add dword [esp + 0x14], 2
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc esi
jmp 0x4fd4f3
mov esi, dword [esp + 0x28]
and cl, 7
or cl, 0xf0
mov dl, al
add cl, cl
shr dl, 6
add cl, cl
or cl, dl
mov edx, dword [esp + 0x14]
mov byte [esi + edx], cl
and al, 0x3f
inc edx
or al, 0x80
mov byte [esi + edx], al
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
inc edx
mov dword [esp + 0x14], edx
inc esi
jmp 0x4fd4f3
cmp dword [esp + 0x44], 0
je 0x4fd757
add dword [esp + 0x14], 3
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc esi
jmp 0x4fd4f3
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov bl, cl
shr bl, 4
and cl, 0xf
or bl, 0xe0
mov byte [edx + esi], bl
or cl, 0xe0
mov bl, al
add cl, cl
inc esi
add cl, cl
shr bl, 6
or cl, bl
mov byte [edx + esi], cl
and al, 0x3f
inc esi
or al, 0x80
mov byte [edx + esi], al
mov eax, dword [esp + 0x10]
inc esi
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
inc esi
jmp 0x4fd4f3
cmp dword [esp + 0x44], 0
jne 0x4fd7ac
mov eax, dword [esp + 0x28]
mov byte [eax + edx], bl
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
inc edx
mov dword [esp + 0x14], edx
inc esi
jmp 0x4fd4f3
cmp bl, 0x5c
jne 0x4fd7d9
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
or eax, 0x10
mov dword [esp + 0x10], eax
inc esi
jmp 0x4fd4f3
cmp bl, 0x22
jne case.0x4fd578.99
cmp dword [esp + 0x44], 0
jne 0x4fd7ed
mov ecx, dword [esp + 0x28]
mov byte [ecx + edx], 0
mov ecx, dword [edi + 4]
and eax, 0xffffffdf
sub ecx, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], 0
je 0x4fd838
sub ecx, 4
jne 0x4fd813
or eax, 1
mov dword [edi + 0x10], edx
mov dword [esp + 0x10], eax
test al, 8
je 0x4fdbae
movsx ecx, bl
lea edx, [ecx - 9]
cmp edx, 0x54
ja case.0x4fd831.11
movzx edx, byte [edx + 0x4fe234]
jmp dword [edx*4 + 0x4fe224]
inc edx
cmp dword [esp + 0x44], 0
je 0x4fd858
add dword [edi + 0x14], edx
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
or eax, 0x48
mov dword [esp + 0x10], eax
inc esi
jmp 0x4fd4f3
mov esi, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
mov ebx, dword [edi + 0x18]
mov dword [esi + ecx*8], ebx
add dword [edi + 0x18], edx
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
or eax, 0x48
mov dword [esp + 0x10], eax
inc esi
jmp 0x4fd4f3
cmp dword [edi + 4], 2
jne 0x4fd88d
and eax, 0xfffffff3
or eax, 1
jmp 0x4fde98
xor ecx, ecx
cmp dword [esp + 0x40], ecx
sete cl
test cl, 1
je 0x4fde9c
sub esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push esi
push ecx
lea edx, [esp + 0x78]
push 0x5833b0
push edx
call fcn.0051a8ab
add esp, 0x10
jmp 0x4fe13b
test al, 4
je 0x4fd8e2
cmp bl, 0x2c
jne 0x4fdfc4
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
and eax, 0xfffffffb
mov dword [esp + 0x10], eax
inc esi
jmp 0x4fd4f3
test al, 0x40
je 0x4fd904
cmp bl, 0x3a
jne 0x4fdfdc
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
and eax, 0xffffffbf
mov dword [esp + 0x10], eax
inc esi
jmp 0x4fd4f3
and eax, 0xfffffff7
mov dword [esp + 0x10], eax
lea eax, [ecx - 0x22]
cmp eax, 0x59
ja case.0x4fd91e.35
movzx edx, byte [eax + 0x4fe2a8]
jmp dword [edx*4 + 0x4fe28c]
push 1
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x38]
lea eax, [esp + 0x48]
call fcn.004fd2d0
add esp, 0xc
test eax, eax
je 0x4fe035
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc esi
jmp 0x4fd4f3
push 2
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x38]
lea eax, [esp + 0x48]
call fcn.004fd2d0
add esp, 0xc
test eax, eax
je 0x4fe035
or dword [esp + 0x10], 8
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc esi
jmp 0x4fd4f3
push 5
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x38]
lea eax, [esp + 0x48]
call fcn.004fd2d0
add esp, 0xc
test eax, eax
je 0x4fe035
mov edi, dword [esp + 0x20]
mov eax, dword [edi + 0x14]
or dword [esp + 0x10], 0x20
mov esi, dword [esp + 0x24]
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
inc esi
jmp 0x4fd4f3
inc esi
cmp byte [esi], 0x72
jne 0x4fdff4
inc esi
cmp byte [esi], 0x75
jne 0x4fdff4
inc esi
cmp byte [esi], 0x65
mov dword [esp + 0x24], esi
jne 0x4fdff4
push 6
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x38]
lea eax, [esp + 0x48]
call fcn.004fd2d0
add esp, 0xc
test eax, eax
je 0x4fe035
mov edi, dword [esp + 0x20]
mov eax, 1
or dword [esp + 0x10], eax
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x10]
jmp 0x4fde9c
inc esi
cmp byte [esi], 0x61
jne 0x4fdff4
inc esi
cmp byte [esi], 0x6c
jne 0x4fdff4
inc esi
cmp byte [esi], 0x73
jne 0x4fdff4
inc esi
cmp byte [esi], 0x65
mov dword [esp + 0x24], esi
jne 0x4fdff4
push 6
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x38]
lea eax, [esp + 0x48]
call fcn.004fd2d0
add esp, 0xc
test eax, eax
je 0x4fe035
or dword [esp + 0x10], 1
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
jmp 0x4fde9c
inc esi
cmp byte [esi], 0x75
jne 0x4fdff4
inc esi
cmp byte [esi], 0x6c
jne 0x4fdff4
inc esi
cmp byte [esi], 0x6c
mov dword [esp + 0x24], esi
jne 0x4fdff4
push 7
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x28]
push eax
jmp 0x4fda83
push ecx
call fcn.0051fc75
add esp, 4
test eax, eax
jne 0x4fdaf3
cmp bl, 0x2d
jne 0x4fe015
push 3
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x38]
lea eax, [esp + 0x48]
call fcn.004fd2d0
add esp, 0xc
test eax, eax
je 0x4fe035
xor eax, eax
cmp dword [esp + 0x44], eax
jne 0x4fdb65
nop
movsx eax, bl
push eax
call fcn.0051fc75
add esp, 4
test eax, eax
jne 0x4fdb49
cmp bl, 0x2b
je 0x4fdb49
cmp bl, 0x2d
je 0x4fdb49
cmp bl, 0x65
je 0x4fdb49
cmp bl, 0x45
je 0x4fdb49
cmp bl, 0x2e
jne 0x4fdb4f
mov bl, byte [esi + 1]
inc esi
jmp 0x4fdb20
or dword [esp + 0x10], 3
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], esi
jmp 0x4fde9c
and dword [esp + 0x10], 0xffffe0ff
mov edi, dword [esp + 0x20]
mov dword [esp + 0x30], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], eax
cmp bl, 0x2d
je 0x4fdb94
or dword [esp + 0x10], 2
mov eax, dword [esp + 0x10]
jmp 0x4fde9c
or dword [esp + 0x10], 0x100
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc esi
jmp 0x4fd4f3
mov ecx, dword [edi + 4]
cmp ecx, 1
je 0x4fde3e
add ecx, 0xfffffffd
cmp ecx, 1
ja 0x4fde9c
movsx esi, bl
push esi
call fcn.0051fc75
add esp, 4
test eax, eax
je 0x4fdcb6
mov eax, dword [esp + 0x10]
mov ecx, 1
add dword [esp + 0x30], ecx
cmp dword [edi + 4], 3
je 0x4fdc31
test eax, 0x400
jne 0x4fdc8c
mov ecx, dword [esp + 0x5c]
lea eax, [esi - 0x30]
cdq
push 0
push 0xa
mov ebx, edx
mov edx, dword [esp + 0x60]
push ecx
push edx
mov esi, eax
call fcn.0051c280
add esi, eax
mov eax, dword [esp + 0x10]
adc ebx, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x5c], ebx
inc esi
jmp 0x4fd4f3
test eax, 0x400
jne 0x4fdc8c
test eax, 0x200
jne 0x4fe04c
cmp dword [esp + 0x30], ecx
jne 0x4fdc57
cmp bl, 0x30
jne 0x4fdc57
or eax, 0x200
mov dword [esp + 0x10], eax
mov ecx, dword [edi + 0x10]
lea eax, [esi - 0x30]
cdq
push 0
mov esi, eax
mov eax, dword [edi + 0x14]
push 0xa
push eax
push ecx
mov ebx, edx
call fcn.0051c280
add esi, eax
mov eax, dword [esp + 0x10]
adc ebx, edx
mov edx, dword [esp + 0x14]
mov dword [edi + 0x10], esi
mov esi, dword [esp + 0x24]
mov dword [edi + 0x14], ebx
inc esi
jmp 0x4fd4f3
or eax, 0x800
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
lea edx, [eax + eax*4]
lea eax, [esi + edx*2 - 0x30]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
inc esi
jmp 0x4fd4f3
cmp bl, 0x2b
je 0x4fdcfd
cmp bl, 0x2d
je 0x4fdcfd
cmp bl, 0x2e
jne 0x4fdd3b
cmp dword [edi + 4], 3
jne 0x4fdd3b
cmp dword [esp + 0x30], 0
je 0x4fe070
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [edi + 4], 4
fild qword [edi + 0x10]
mov dword [esp + 0x30], 0
inc esi
fstp qword [edi + 0x10]
jmp 0x4fd4f3
mov eax, dword [esp + 0x10]
test eax, 0x400
je 0x4fdd46
test eax, 0x800
jne 0x4fdd3f
or eax, 0x800
mov dword [esp + 0x10], eax
cmp bl, 0x2d
jne case.0x4fde54.9
or dword [esp + 0x10], 0x1000
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc esi
jmp 0x4fd4f3
mov eax, dword [esp + 0x10]
test eax, 0x400
jne 0x4fddbd
mov esi, 4
cmp dword [edi + 4], esi
jne 0x4fdd80
cmp dword [esp + 0x30], 0
je 0x4fe095
fild qword [esp + 0x58]
fstp qword [esp + 0x60]
fld qword [0x5833a8]
fild dword [esp + 0x30]
call fcn.00520160
fdivr qword [esp + 0x60]
mov eax, dword [esp + 0x10]
fadd qword [edi + 0x10]
fstp qword [edi + 0x10]
cmp bl, 0x65
je 0x4fdd8a
cmp bl, 0x45
jne 0x4fddfc
or eax, 0x400
cmp dword [edi + 4], 3
jne 0x4fdd9e
mov dword [edi + 4], esi
fild qword [edi + 0x10]
fstp qword [edi + 0x10]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
and eax, 0xfffffdff
mov dword [esp + 0x30], 0
mov dword [esp + 0x10], eax
inc esi
jmp 0x4fd4f3
cmp dword [esp + 0x30], 0
je 0x4fe0ba
test eax, 0x1000
je 0x4fdddb
mov ecx, dword [esp + 0x54]
neg ecx
mov dword [esp + 0x60], ecx
jmp 0x4fdde3
mov edx, dword [esp + 0x54]
mov dword [esp + 0x60], edx
fld qword [0x5833a8]
fild dword [esp + 0x60]
call fcn.00520160
fmul qword [edi + 0x10]
mov eax, dword [esp + 0x10]
fstp qword [edi + 0x10]
test eax, 0x100
je 0x4fde31
cmp dword [edi + 4], 3
jne 0x4fde29
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
mov esi, dword [esp + 0x24]
neg ecx
adc edx, 0
neg edx
or eax, 3
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], edx
mov dword [esp + 0x10], eax
jmp 0x4fde9c
fld qword [edi + 0x10]
fchs
fstp qword [edi + 0x10]
mov esi, dword [esp + 0x24]
or eax, 3
mov dword [esp + 0x10], eax
jmp 0x4fde9c
movsx ecx, bl
add ecx, 0xfffffff7
cmp ecx, 0x74
ja case.0x4fde54.11
movzx ecx, byte [ecx + 0x4fe31c]
jmp dword [ecx*4 + 0x4fe304]
test al, 4
je 0x4fde71
xor edx, edx
cmp dword [esp + 0x40], edx
sete dl
test dl, 1
jne 0x4fe0dc
mov ecx, dword [edi + 0x18]
or eax, 0x20
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], 0
jmp 0x4fde98
and eax, 0xfffffffb
or eax, 1
jmp 0x4fde98
test al, 4
je case.0x4fde54.11
and eax, 0xfffffffb
mov dword [esp + 0x10], eax
test al, 2
je 0x4fdeac
and eax, 0xfffffffd
dec esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], esi
test al, 1
je case.0x4fde54.9
and eax, 0xfffffffe
or eax, 4
cmp dword [edi], 0
mov dword [esp + 0x10], eax
jne 0x4fded9
or dword [esp + 0x10], 0x80
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc esi
jmp 0x4fd4f3
mov eax, dword [edi]
cmp dword [eax + 4], 2
jne 0x4fdee6
or dword [esp + 0x10], 8
cmp dword [esp + 0x44], 0
jne 0x4fdf0f
mov ecx, dword [eax + 4]
sub ecx, 1
je 0x4fdf05
sub ecx, 1
jne 0x4fdf0f
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [eax + edx*4], edi
jmp 0x4fdf0f
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [edx + ecx*8 + 4], edi
mov eax, dword [edi]
inc dword [eax + 0x10]
mov eax, dword [edi]
mov ecx, dword [esp + 0x4c]
cmp dword [eax + 0x10], ecx
ja 0x4fe0fa
mov edi, eax
mov dword [esp + 0x20], edi
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc esi
jmp 0x4fd4f3
sub dword [esp + 0x44], 1
mov eax, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
jns 0x4fd4d0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xe8]
xor ecx, esp
call fcn.0051916c
mov esp, ebp
pop ebp
ret
sub esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
movsx edx, bl
push edx
push esi
push eax
push str._d:_d:_Trailing_garbage:___c_
lea ecx, [esp + 0x80]
push ecx
jmp 0x4fe133
sub esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push esi
push edx
lea eax, [esp + 0x78]
push str.Unexpected_EOF_in_string__at__d:_d_
push eax
call fcn.0051a8ab
add esp, 0x10
jmp 0x4fe13b
sub esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push esi
push ecx
movsx edx, bl
push edx
push str.Invalid_character_value___c___at__d:_d_
lea eax, [esp + 0x80]
push eax
jmp 0x4fe133
sub esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
movsx eax, bl
push eax
push esi
push ecx
push str._d:_d:_Expected___before__c
jmp 0x4fe12b
sub esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
movsx eax, bl
push eax
push esi
push ecx
push str._d:_d:_Expected_:_before__c
jmp 0x4fe12b
sub esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push esi
push eax
lea ecx, [esp + 0x78]
push str._d:_d:_Unknown_value
push ecx
call fcn.0051a8ab
add esp, 0x10
jmp 0x4fe13b
sub esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
movsx edx, bl
push edx
push esi
push eax
push str._d:_d:_Unexpected__c_when_seeking_value
lea ecx, [esp + 0x80]
push ecx
jmp 0x4fe133
mov ecx, 6
mov esi, str.Memory_allocation_failure
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x4fe13b
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
movsx edx, bl
push edx
push eax
mov eax, dword [esp + 0x20]
push eax
push str._d:_d:_Unexpected__0__before___c_
lea ecx, [esp + 0x80]
push ecx
jmp 0x4fe133
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push eax
push edx
lea eax, [esp + 0x78]
push str._d:_d:_Expected_digit_before__._
push eax
call fcn.0051a8ab
add esp, 0x10
jmp 0x4fe13b
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea edx, [esp + 0x78]
push str._d:_d:_Expected_digit_after__._
push edx
call fcn.0051a8ab
add esp, 0x10
jmp 0x4fe13b
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
lea ecx, [esp + 0x70]
push eax
mov eax, dword [esp + 0x1c]
push eax
push str._d:_d:_Expected_digit_after__e_
push ecx
call fcn.0051a8ab
add esp, 0x10
jmp 0x4fe13b
sub esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push esi
push edx
lea eax, [esp + 0x78]
push str._d:_d:_Expected___before__
push eax
call fcn.0051a8ab
add esp, 0x10
jmp 0x4fe13b
sub esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push esi
push ecx
lea edx, [esp + 0x78]
push str._d:_d:_Too_long__caught_overflow_
push edx
call fcn.0051a8ab
add esp, 0x10
jmp 0x4fe13b
sub esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
movsx eax, bl
push eax
push esi
push ecx
push str._d:_d:_Unexpected___c__in_object
lea edx, [esp + 0x80]
push edx
call fcn.0051a8ab
add esp, 0x14
mov edx, dword [esp + 0x6c]
test edx, edx
je 0x4fe181
cmp byte [esp + 0x70], 0
je 0x4fe15e
lea eax, [esp + 0x70]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4fe152
jmp 0x4fe181
mov eax, dword [str.Unknown_error]
mov dword [edx], eax
mov ecx, dword [0x5831b0]
mov dword [edx + 4], ecx
mov eax, dword [0x5831b4]
mov dword [edx + 8], eax
mov cx, word [0x5831b8]
mov word [edx + 0xc], cx
cmp dword [esp + 0x44], 0
mov ebx, dword [esp + 0x34]
mov eax, ebx
jne 0x4fe192
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4fe1a8
mov esi, dword [eax + 0x18]
push eax
call fcn.0051d586
add esp, 4
mov eax, esi
test esi, esi
jne 0x4fe196
cmp dword [esp + 0x44], 0
jne 0x4fe1b8
push ebx
call fcn.004fd3b0
add esp, 4
mov ecx, dword [esp + 0xf4]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0051916c
mov esp, ebp
pop ebp
ret