Function at 0x5139b0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd0
mov esi, esp
mov dword [esi + 0xb8], ebp
mov dword [esi + 0xbc], esp
mov dword [esi + 0xc8], 0xffffffff
lea eax, [esi + 0xc0]
mov dword [esi + 0xc4], 0x594530
mov edx, dword fs:[0]
mov dword [esi + 0xc0], edx
mov dword fs:[0], eax
mov eax, dword [0x5cf4b8]
lea edx, [eax + 1]
imul edx, eax
and edx, 1
mov dword [esi + 0x90], edx
sete byte [esi + 0x30]
mov edi, 0x11f1fb1a
mov eax, 0x8f0f2ca8
cmove eax, edi
mov dword [esi + 4], ecx
sete bl
mov ecx, dword [0x5cf4bc]
mov dword [esi + 8], ecx
cmp ecx, 0xa
setl byte [esi + 0x10]
mov ecx, 0x8f0f2ca8
cmovge eax, ecx
setl cl
xor cl, bl
cmovne eax, edi
mov dword [esi + 0xa4], 0
mov dword [esi + 0xa8], 0
mov dword [esi + 0xac], 0
mov ebx, 0x13d3b53a
mov edx, 0x1a1c1d98
nop dword [eax]
cmp ebx, 0x13d3b539
jg 0x513a90
cmp ebx, 0x8f0f2ca8
je 0x513ac6
cmp ebx, 0x11f1fb1a
jne 0x513a70
jmp 0x513ad1
cmp ebx, 0x1a1c1d98
je 0x513acd
cmp ebx, 0x13d3b53a
jne 0x513a70
movzx ecx, byte [esi + 0x30]
mov ch, byte [esi + 0x10]
mov ebx, ecx
xor bl, ch
mov edi, 0x8f0f2ca8
mov ebx, 0x1a1c1d98
cmovne edi, ebx
test ch, ch
mov ebx, edi
cmovne ebx, edx
test cl, cl
cmove ebx, edi
jmp 0x513a70
mov ebx, 0x1a1c1d98
jmp 0x513a70
mov ebx, eax
jmp 0x513a70
cmp dword [esi + 0x90], 0
sete byte [esi + 0x30]
cmp dword [esi + 8], 0xa
setl byte [esi + 0x10]
mov dword [esi + 0xb0], 0
mov edx, 0x13d3b53a
mov ecx, 0x1a1c1d98
nop dword [eax + eax]
cmp edx, 0x13d3b539
jg 0x513b20
cmp edx, 0x8f0f2ca8
je 0x513b52
cmp edx, 0x11f1fb1a
jne 0x513b00
jmp 0x513b5d
cmp edx, 0x1a1c1d98
je 0x513b59
cmp edx, 0x13d3b53a
jne 0x513b00
movzx ebx, byte [esi + 0x30]
movzx edx, byte [esi + 0x10]
mov dh, bl
xor dh, dl
mov edi, 0x8f0f2ca8
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x513b00
mov edx, 0x1a1c1d98
jmp 0x513b00
mov edx, eax
jmp 0x513b00
mov ecx, dword [esi + 4]
lea eax, [ecx + 0x30]
mov dword [esi + 8], eax
lea eax, [ecx + 0x5c]
mov dword [esi + 0xa0], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [esi + 0x74], eax
lea eax, [ecx + 0x44]
mov dword [esi + 0xc], eax
xor eax, eax
mov dword [esi + 0x9c], eax
and al, 1
mov byte [esi + 0x90], al
mov ecx, dword [0x5d1918]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d191c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x513bbb
or cl, al
test cl, 1
jne 0x5147d0
cmp byte [esi + 0x90], 0
jne 0x513e69
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x28]
cmp eax, 6
jl 0x513e78
cmp eax, 9
jae 0x513cc0
cmp eax, 7
jb 0x513f0e
je 0x513f36
mov dword [esi + 0xc8], 0
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
call fcn.00538b00
mov ecx, dword [0x5d1918]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x5d191c], 0xa
setl dl
test dl, cl
jne 0x513c30
xor dl, cl
je 0x5147e0
test al, al
je 0x514a04
mov ecx, dword [esi + 8]
call fcn.00506440
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
mov ecx, dword [0x5d1918]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete ch
cmp dword [0x5d191c], 0xa
setge dl
setl dh
xor dh, ch
jne 0x513c78
or dl, cl
jne 0x514800
cmp eax, 0xa
je 0x5141cc
mov byte [esi + 0x58], 1
lea edi, [esi + 0xa4]
mov ecx, edi
lea eax, [esi + 0x10]
push eax
call fcn.00475a60
mov ecx, edi
lea eax, [esi + 0x58]
push eax
push 1
push dword [esi + 0x14]
push dword [esi + 0x10]
lea eax, [esi + 0x30]
push eax
call fcn.004756f0
jmp 0x513b8e
cmp eax, 0xe
jae 0x514912
mov dword [esi + 0xc8], 0
cmp eax, 0xa
jae 0x514962
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
call fcn.005387c0
test al, al
je 0x514a04
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5d191c], 0xa
setl cl
test cl, al
jne 0x513d1a
xor cl, al
je 0x5147f0
mov ecx, dword [esi + 8]
call fcn.00506440
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
mov ecx, dword [0x5d1918]
lea edx, [ecx + 1]
imul edx, ecx
test dl, 1
sete ch
cmp dword [0x5d191c], 0xa
setge cl
setl bl
or cl, dl
xor bl, ch
xor cl, 1
or cl, bl
cmp eax, 0xb
je 0x51409d
test cl, 1
je 0x514810
cmp eax, 4
jne 0x514a0b
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 4]
mov ecx, dword [eax + 8]
push dword [esi + 0xa0]
call fcn.0052ac90
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d191c], 0xa
setl cl
test cl, al
jne 0x513db3
xor cl, al
je 0x514820
mov ecx, dword [esi + 8]
call fcn.00506440
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
cmp eax, 0xc
jne 0x514bd5
mov byte [esi + 0x58], 0
lea edi, [esi + 0xa4]
mov ecx, edi
lea eax, [esi + 0x10]
push eax
call fcn.00475a60
mov ecx, edi
lea eax, [esi + 0x58]
push eax
push 1
push dword [esi + 0x14]
push dword [esi + 0x10]
lea eax, [esi + 0x30]
push eax
call fcn.004756f0
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5d191c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x513e27
or cl, al
jne 0x514830
mov ecx, dword [esi + 8]
call fcn.00506440
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d191c], 0xa
setl cl
test cl, al
jne 0x513b8e
xor cl, al
jne 0x513b8e
jmp 0x514840
mov dword [esi + 0x9c], 0
jmp 0x514300
cmp eax, 3
jge 0x513eb2
test eax, eax
jle 0x514962
mov dword [esi + 0xc8], 0
mov ecx, dword [ebp + 8]
cmp eax, 1
jne 0x514267
push 1
call fcn.00538e00
test al, al
lea edx, [esi + 0x30]
jne 0x514303
jmp 0x515088
jne 0x51420d
mov dword [esi + 0x10], 0
mov dword [esi + 0xc8], 0
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x10]
push eax
call fcn.0053b760
mov ecx, dword [0x5d1918]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d191c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x514300
or cl, al
test cl, 1
lea edx, [esi + 0x30]
je 0x514303
jmp 0x5148e0
mov eax, dword [esi + 4]
vmovsd xmm0, qword [eax + 0x78]
vmovsd qword [esi + 0x10], xmm0
mov dword [esi + 0xc8], 0
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x10]
push eax
call fcn.0053c210
jmp 0x514300
mov edx, dword [0x5d18d8]
mov ecx, dword [0x5d18dc]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xa4eb3c6e
mov edi, 0x9b69484c
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 0x58]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x30]
mov ecx, dword [esi + 4]
vmovsd xmm0, qword [ecx + 0x88]
cmovge eax, edx
mov ecx, 0xe15c8861
nop
cmp ecx, 0xe15c8860
jg 0x513fb0
cmp ecx, 0x9b69484c
je 0x513feb
cmp ecx, 0xa4eb3c6e
jne 0x513f90
mov ecx, 0x7a6d928
jmp 0x513f90
cmp ecx, 0x7a6d928
je 0x513fe7
cmp ecx, 0xe15c8861
jne 0x513f90
movzx edx, byte [esi + 0x58]
movzx ecx, byte [esi + 0x30]
mov ch, dl
xor ch, cl
mov edi, 0xa4eb3c6e
mov ebx, 0x7a6d928
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x513f90
mov ecx, eax
jmp 0x513f90
vmovsd qword [esi + 0x10], xmm0
vmovsd xmm0, qword [esi + 0x10]
sub esp, 8
vmovsd qword [esi + 0x90], xmm0
vmovsd qword [esp], xmm0
call fcn.0052d3f0
add esp, 8
test eax, eax
jg 0x514602
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5d191c], 0xa
setl cl
test cl, al
jne 0x514041
xor cl, al
je 0x514890
vmovsd xmm0, qword [esi + 0x90]
vmovsd qword [esi + 0x10], xmm0
mov dword [esi + 0xc8], 0
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x10]
push eax
call fcn.00539dd0
mov ecx, dword [0x5d1918]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d191c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x514300
or cl, al
test cl, 1
lea edx, [esi + 0x30]
je 0x514303
jmp 0x5148a0
test cl, 1
je 0x5148b0
mov eax, dword [0x5d1920]
mov ecx, dword [0x5d1924]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x30]
cmp ecx, 0xa
setl byte [esi + 0x10]
mov eax, 0xe4dedb26
lea edx, [esi + 0x30]
nop word cs:[eax + eax]
cmp eax, 0xec3487eb
jg 0x514100
cmp eax, 0xbf955e3e
je 0x514121
cmp eax, 0xe4dedb26
jne 0x5140e0
jmp 0x51416e
cmp eax, 0xec3487ec
je 0x514198
cmp eax, 0x69a235bf
jne 0x5140e0
mov ecx, dword [esi + 0x74]
call fcn.0051cab0
mov eax, 0xbf955e3e
jmp 0x5140cf
mov ecx, dword [esi + 0x74]
call fcn.0051cab0
mov edx, dword [0x5d1920]
mov ecx, dword [0x5d1924]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x69a235bf
mov edi, 0xec3487ec
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x5140cf
movzx ecx, byte [esi + 0x30]
movzx eax, byte [esi + 0x10]
mov edx, ecx
xor dl, al
mov edx, 0x69a235bf
mov edi, 0xbf955e3e
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x5140cf
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d191c], 0xa
setl cl
test cl, al
jne 0x514303
xor cl, al
jne 0x514303
jmp 0x5148c0
mov ecx, dword [esi + 0x74]
call fcn.0051cab0
mov ecx, dword [0x5d1918]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d191c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x514300
or cl, al
test cl, 1
lea edx, [esi + 0x30]
je 0x514303
jmp 0x5148d0
mov dword [esi + 0xc8], 0
cmp eax, 5
jae 0x5142a6
mov ecx, dword [ebp + 8]
push dword [esi + 0xa0]
call fcn.0053ce40
mov ecx, dword [0x5d1918]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d191c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x514300
or cl, al
test cl, 1
lea edx, [esi + 0x30]
je 0x514303
jmp 0x514910
push 0
call fcn.00538e00
mov ecx, dword [0x5d1918]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x5d191c], 0xa
setl dl
test dl, cl
jne 0x51429a
xor dl, cl
je 0x5148f0
test al, al
lea edx, [esi + 0x30]
jne 0x514303
jmp 0x514a04
mov eax, dword [esi + 4]
vmovsd xmm0, qword [eax + 0x80]
vmovsd qword [esi + 0x10], xmm0
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x10]
push eax
call fcn.0053dc30
mov ecx, dword [0x5d1918]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d191c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x514300
or cl, al
test cl, 1
lea edx, [esi + 0x30]
je 0x514303
jmp 0x514900
lea edx, [esi + 0x30]
cmp dword [esi + 0xb0], 0
je 0x514bcd
lea ecx, [esi + 0xa4]
push edx
call fcn.00475a60
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
lea edi, [esi + 0x10]
mov ecx, edi
push 0xffffffffffffffff
call fcn.0047a270
lea ebx, [esi + 0x58]
mov ecx, ebx
push edi
call fcn.00469400
mov ecx, ebx
call fcn.004670a0
mov dword [esi + 0xc8], 0
test al, al
je 0x5143a9
mov ecx, dword [esi + 8]
call fcn.00506440
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
cmp eax, 0xd
jne 0x5144b3
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5d191c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x51439c
or cl, al
jne 0x514860
mov ecx, dword [esi + 8]
call fcn.00506440
jmp 0x5144a2
mov ecx, dword [esi + 8]
call fcn.00506440
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
mov ecx, dword [0x5d1918]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete ch
setne cl
cmp dword [0x5d191c], 0xa
setl dh
setge dl
cmp dh, ch
jne 0x5143e9
or dl, cl
jne 0x514850
cmp eax, 0xd
jne 0x5144d5
mov ecx, dword [esi + 8]
call fcn.00506440
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
cmp eax, 4
jne 0x514de8
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5d191c], 0xa
setl cl
test cl, al
jne 0x514435
xor cl, al
je 0x514870
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 4]
mov ecx, dword [eax + 8]
push dword [esi + 0xa0]
call fcn.0052ac90
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5d191c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x514483
or cl, al
jne 0x514880
mov ecx, dword [esi + 8]
call fcn.00506440
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
cmp eax, 0xc
jne 0x514ef1
mov ecx, dword [esi + 8]
call fcn.00506440
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
mov eax, dword [esi + 0x9c]
jmp 0x513b80
cmp eax, 0xa
jne 0x514d3e
mov ecx, dword [esi + 0x74]
call fcn.0051cab0
lea edi, [esi + 0xa4]
mov ecx, edi
lea eax, [esi + 0x30]
push eax
jmp 0x5145cf
cmp eax, 0xb
jne 0x514e28
mov eax, dword [0x5d1920]
mov ecx, dword [0x5d1924]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x30]
cmp ecx, 0xa
setl byte [esi + 0x10]
mov eax, 0xe4dedb26
lea edx, [esi + 0x30]
nop word [eax + eax]
cmp eax, 0xec3487eb
jg 0x514530
cmp eax, 0xbf955e3e
je 0x514551
cmp eax, 0xe4dedb26
jne 0x514510
jmp 0x51459c
cmp eax, 0xec3487ec
je 0x5145c6
cmp eax, 0x69a235bf
jne 0x514510
mov ecx, dword [esi + 0x74]
call fcn.0051cab0
mov eax, 0xbf955e3e
jmp 0x514507
mov ecx, dword [esi + 0x74]
call fcn.0051cab0
mov edx, dword [0x5d1920]
mov ecx, dword [0x5d1924]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov edi, 0x69a235bf
mov ebx, 0xec3487ec
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x514507
movzx ecx, byte [esi + 0x30]
movzx eax, byte [esi + 0x10]
mov edx, ecx
xor dl, al
mov edx, 0x69a235bf
mov edi, 0xbf955e3e
cmovne edx, edi
test al, al
mov eax, edx
cmovne eax, edi
test cl, cl
cmove eax, edx
jmp 0x514507
lea edi, [esi + 0xa4]
mov ecx, edi
push edx
call fcn.00475a60
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
lea ecx, [esi + 0x10]
push 0xffffffffffffffff
call fcn.0047a270
mov ecx, edi
push dword [esi + 0x14]
push dword [esi + 0x10]
lea eax, [esi + 0x58]
push eax
call fcn.005341c0
mov al, 1
jmp 0x513b80
mov dword [esi + 0xb4], eax
mov byte [esi + 0x48], 0x27
mov dword [esi + 0xc8], 0
mov ecx, dword [esi + 8]
lea eax, [esi + 0x58]
push eax
call fcn.00513040
mov ecx, dword [0x5d1918]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d191c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x51464f
or cl, al
test cl, 1
jne 0x514bd1
mov dword [esi + 0xc8], 1
lea eax, [esi + 0x48]
push eax
lea eax, [esi + 0x58]
push eax
push str.number_overflow_parsing_
lea eax, [esi + 0x30]
push eax
call fcn.005184d0
add esp, 0x10
mov dword [esi + 0xc8], 2
push 0
lea eax, [esi + 0x30]
push eax
push 0x196
lea eax, [esi + 0x10]
push eax
call fcn.005182a0
add esp, 0x10
mov dword [esi + 0xc8], 3
mov ecx, dword [esi + 8]
lea eax, [esi + 0x78]
push eax
call fcn.00513040
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5d191c], 0xa
setl cl
test cl, al
jne 0x5146d5
xor cl, al
je 0x514bd3
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xc8], 4
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x10]
push edx
lea edx, [esi + 0x78]
push edx
push eax
call fcn.00538d10
mov ebx, eax
mov ecx, dword [0x5d1918]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d191c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x514720
or cl, al
test cl, 1
jne 0x51477c
lea ecx, [esi + 0x78]
call fcn.0040ed30
lea ecx, [esi + 0x10]
call fcn.00525140
lea ecx, [esi + 0x30]
call fcn.0040ed30
lea ecx, [esi + 0x58]
call fcn.0040ed30
mov eax, dword [0x5d1918]
mov edi, dword [0x5d191c]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
setne byte [esi + 0x90]
sete ah
cmp edi, 0xa
setge byte [esi + 0x73]
setl al
xor al, ah
jne 0x51479e
movzx eax, byte [esi + 0x73]
or al, byte [esi + 0x90]
je 0x51479e
lea ecx, [esi + 0x78]
call fcn.0040ed30
lea ecx, [esi + 0x10]
call fcn.00525140
lea ecx, [esi + 0x30]
call fcn.0040ed30
lea ecx, [esi + 0x58]
call fcn.0040ed30
jmp 0x514720
test edx, ecx
setne cl
sete dl
cmp edi, 0xa
setge al
setl ah
xor ah, dl
lea edx, [esi + 0x30]
jne 0x5147be
or al, cl
jne 0x5148a0
cmp dword [esi + 0xb4], 0
jle 0x514303
jmp 0x514baa
jmp 0x5147d0
jmp 0x5147e0
jmp 0x5147f0
jmp 0x514800
jmp 0x514810
jmp 0x514820
jmp 0x514830
jmp 0x514840
jmp 0x514850
jmp 0x514860
jmp 0x514870
jmp 0x514880
jmp 0x514890
jmp 0x5148a0
jmp 0x5148b0
jmp 0x5148c0
jmp 0x5148d0
jmp 0x5148e0
jmp 0x5148f0
jmp 0x514900
jmp 0x514910
mov dword [esi + 0xc8], 0
jne 0x514962
lea ecx, [esi + 0x58]
push 0x5bd3e8
call fcn.00420e10
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5d191c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x514add
or cl, al
je 0x514add
jmp 0x514960
mov dword [esi + 0xc8], 0
lea ecx, [esi + 0x58]
push 0x5bd3e8
call fcn.00420e10
mov dword [esi + 0xc8], 0x15
mov ecx, dword [esi + 4]
lea eax, [esi + 0x58]
push eax
push 0x10
lea eax, [esi + 0x30]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov dword [esi + 0x50], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x48], xmm0
mov dword [esi + 0xc8], 0x16
push 0
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x48]
push eax
push 0x65
lea eax, [esi + 0x10]
push eax
call fcn.00512790
add esp, 0x14
mov dword [esi + 0xc8], 0x17
mov ecx, dword [esi + 8]
lea eax, [esi + 0x78]
push eax
call fcn.00513040
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xc8], 0x18
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x10]
push edx
lea edx, [esi + 0x78]
push edx
push eax
call fcn.00515780
jmp 0x514b63
xor ebx, ebx
jmp 0x514baa
lea ecx, [esi + 0x58]
push str.object_key
call fcn.00420e10
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5d191c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x514a52
or cl, al
je 0x514a52
nop word cs:[eax + eax]
jmp 0x514a50
mov dword [esi + 0xc8], 0x21
mov ecx, dword [esi + 4]
lea eax, [esi + 0x58]
push eax
push 4
lea eax, [esi + 0x30]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov dword [esi + 0x50], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x48], xmm0
mov dword [esi + 0xc8], 0x22
push 0
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x48]
push eax
push 0x65
lea eax, [esi + 0x10]
push eax
call fcn.00512790
add esp, 0x14
mov dword [esi + 0xc8], 0x23
mov ecx, dword [esi + 8]
lea eax, [esi + 0x78]
push eax
call fcn.00513040
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xc8], 0x24
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x10]
push edx
lea edx, [esi + 0x78]
push edx
push eax
call fcn.00515780
jmp 0x514b63
mov dword [esi + 0xc8], 0x19
mov ecx, dword [esi + 4]
lea eax, [esi + 0x58]
push eax
push 0
lea eax, [esi + 0x30]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov dword [esi + 0x50], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x48], xmm0
mov dword [esi + 0xc8], 0x1a
push 0
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x48]
push eax
push 0x65
lea eax, [esi + 0x10]
push eax
call fcn.00512790
add esp, 0x14
mov dword [esi + 0xc8], 0x1b
mov ecx, dword [esi + 8]
lea eax, [esi + 0x78]
push eax
call fcn.00513040
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xc8], 0x1c
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x10]
push edx
lea edx, [esi + 0x78]
push edx
push eax
call fcn.00515780
mov ebx, eax
lea ecx, [esi + 0x78]
call fcn.0040ed30
mov dword [esi + 0x10], vtable.nlohmann::json_abi_v3_11_2::detail::exception.0
mov dword [esi + 0x20], vtable.std::exception.0
lea eax, [esi + 0x24]
push eax
call fcn.005978bc
add esp, 4
mov dword [esi + 0x10], vtable.std::exception.0
lea eax, [esi + 0x14]
push eax
call fcn.005978bc
add esp, 4
lea ecx, [esi + 0x30]
call fcn.0040ed30
lea ecx, [esi + 0x58]
call fcn.0040ed30
lea ecx, [esi + 0xa4]
call fcn.0045c930
mov eax, dword [esi + 0xc0]
mov dword fs:[0], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov bl, 1
jmp 0x514baa
jmp 0x514bd1
jmp 0x514bd3
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5d191c], 0xa
setl cl
test cl, al
jne 0x514c02
xor cl, al
jne 0x514c02
nop dword [eax]
jmp 0x514c00
lea ecx, [esi + 0x58]
push str.object_separator
call fcn.00420e10
mov dword [esi + 0xc8], 0x1d
mov ecx, dword [esi + 4]
lea eax, [esi + 0x58]
push eax
push 0xc
lea eax, [esi + 0x30]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov dword [esi + 0x50], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x48], xmm0
mov dword [esi + 0xc8], 0x1e
push 0
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x48]
push eax
push 0x65
lea eax, [esi + 0x10]
push eax
call fcn.00512790
add esp, 0x14
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5d191c], 0xa
setl ah
setge cl
cmp ah, dl
lea edx, [esi + 0x78]
jne 0x514c92
or cl, al
je 0x514c92
nop
jmp 0x514c90
mov dword [esi + 0xc8], 0x1f
mov ecx, dword [esi + 8]
push edx
call fcn.00513040
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5d191c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x514ce2
or cl, al
je 0x514ce2
nop word cs:[eax + eax]
jmp 0x514ce0
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xc8], 0x20
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x10]
push edx
lea edx, [esi + 0x78]
push edx
push eax
call fcn.00515780
mov ebx, eax
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5d191c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x5150e6
or cl, al
jne 0x515137
jmp 0x5150e6
lea ecx, [esi + 0x58]
push str.array
call fcn.00420e10
mov dword [esi + 0xc8], 0x11
mov ecx, dword [esi + 4]
lea eax, [esi + 0x58]
push eax
push 0xa
lea eax, [esi + 0x30]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov dword [esi + 0x50], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x48], xmm0
mov dword [esi + 0xc8], 0x12
push 0
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x48]
push eax
push 0x65
lea eax, [esi + 0x10]
push eax
call fcn.00512790
add esp, 0x14
mov dword [esi + 0xc8], 0x13
mov ecx, dword [esi + 8]
lea eax, [esi + 0x78]
push eax
call fcn.00513040
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xc8], 0x14
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x10]
push edx
lea edx, [esi + 0x78]
push edx
push eax
call fcn.00515780
mov ebx, eax
lea ecx, [esi + 0x78]
call fcn.0040ed30
lea ecx, [esi + 0x10]
call fcn.00525140
jmp 0x514b9a
lea ecx, [esi + 0x58]
push str.object_key
call fcn.00420e10
mov ecx, dword [0x5d1918]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d191c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x514f95
or cl, al
test cl, 1
je 0x514f95
jmp 0x514e26
lea ecx, [esi + 0x58]
push str.object
call fcn.00420e10
mov dword [esi + 0xc8], 5
mov ecx, dword [esi + 4]
lea eax, [esi + 0x58]
push eax
push 0xb
lea eax, [esi + 0x30]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov dword [esi + 0x50], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x48], xmm0
mov dword [esi + 0xc8], 6
push 0
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x48]
push eax
push 0x65
lea eax, [esi + 0x10]
push eax
call fcn.00512790
add esp, 0x14
mov dword [esi + 0xc8], 7
mov ecx, dword [esi + 8]
lea eax, [esi + 0x78]
push eax
call fcn.00513040
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xc8], 8
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x10]
push edx
lea edx, [esi + 0x78]
push edx
push eax
call fcn.00515780
mov ebx, eax
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d191c], 0xa
setl cl
test cl, al
jne 0x515159
xor cl, al
je 0x5151cd
jmp 0x515159
lea ecx, [esi + 0x58]
push str.object_separator
call fcn.00420e10
mov dword [esi + 0xc8], 9
mov ecx, dword [esi + 4]
lea eax, [esi + 0x58]
push eax
push 0xc
lea eax, [esi + 0x30]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov dword [esi + 0x50], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x48], xmm0
mov dword [esi + 0xc8], 0xa
push 0
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x48]
push eax
push 0x65
lea eax, [esi + 0x10]
push eax
call fcn.00512790
add esp, 0x14
mov dword [esi + 0xc8], 0xb
mov ecx, dword [esi + 8]
lea eax, [esi + 0x78]
push eax
call fcn.00513040
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d191c], 0xa
setl cl
test cl, al
jne 0x51502c
xor cl, al
jne 0x51502c
jmp 0x514f93
mov dword [esi + 0xc8], 0xd
mov ecx, dword [esi + 4]
lea eax, [esi + 0x58]
push eax
push 4
lea eax, [esi + 0x30]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov dword [esi + 0x50], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x48], xmm0
mov dword [esi + 0xc8], 0xe
push 0
lea eax, [esi + 0x30]
push eax
lea eax, [esi + 0x48]
push eax
push 0x65
lea eax, [esi + 0x10]
push eax
call fcn.00512790
add esp, 0x14
mov dword [esi + 0xc8], 0xf
mov ecx, dword [esi + 8]
lea eax, [esi + 0x78]
push eax
call fcn.00513040
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d191c], 0xa
setl cl
test cl, al
jne 0x5150c1
xor cl, al
jne 0x5150c1
jmp 0x51502a
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xc8], 0xc
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x10]
push edx
lea edx, [esi + 0x78]
push edx
push eax
call fcn.00515780
mov ebx, eax
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5d191c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x515217
or cl, al
jne 0x51528d
jmp 0x515217
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5d191c], 0xa
setl ah
setge cl
xor ebx, ebx
cmp ah, dl
jne 0x514baa
or cl, al
je 0x514baa
jmp 0x5150bf
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xc8], 0x10
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x10]
push edx
lea edx, [esi + 0x78]
push edx
push eax
call fcn.00515780
jmp 0x514dd1
lea ecx, [esi + 0x78]
call fcn.0040ed30
lea ecx, [esi + 0x10]
call fcn.00525140
lea ecx, [esi + 0x30]
call fcn.0040ed30
lea ecx, [esi + 0x58]
call fcn.0040ed30
mov ecx, dword [0x5d1918]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d191c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x514baa
or cl, al
test cl, 1
je 0x514baa
lea ecx, [esi + 0x78]
call fcn.0040ed30
lea ecx, [esi + 0x10]
call fcn.00525140
lea ecx, [esi + 0x30]
call fcn.0040ed30
lea ecx, [esi + 0x58]
call fcn.0040ed30
jmp 0x5150e6
lea ecx, [esi + 0x78]
call fcn.0040ed30
mov dword [esi + 0x10], vtable.nlohmann::json_abi_v3_11_2::detail::exception.0
mov dword [esi + 0x20], vtable.std::exception.0
lea eax, [esi + 0x24]
push eax
call fcn.005978bc
add esp, 4
mov dword [esi + 0x10], vtable.std::exception.0
lea eax, [esi + 0x14]
push eax
call fcn.005978bc
add esp, 4
lea ecx, [esi + 0x30]
call fcn.0040ed30
lea ecx, [esi + 0x58]
call fcn.0040ed30
mov eax, dword [0x5d1918]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d191c], 0xa
setl cl
test cl, al
jne 0x514baa
xor cl, al
jne 0x514baa
lea ecx, [esi + 0x78]
call fcn.0040ed30
mov dword [esi + 0x10], vtable.nlohmann::json_abi_v3_11_2::detail::exception.0
mov dword [esi + 0x20], vtable.std::exception.0
lea eax, [esi + 0x24]
push eax
call fcn.005978bc
add esp, 4
mov dword [esi + 0x10], vtable.std::exception.0
lea eax, [esi + 0x14]
push eax
call fcn.005978bc
add esp, 4
lea ecx, [esi + 0x30]
call fcn.0040ed30
lea ecx, [esi + 0x58]
call fcn.0040ed30
jmp 0x515159
lea ecx, [esi + 0x78]
call fcn.0040ed30
mov dword [esi + 0x10], vtable.nlohmann::json_abi_v3_11_2::detail::exception.0
mov dword [esi + 0x20], vtable.std::exception.0
lea eax, [esi + 0x24]
push eax
call fcn.005978bc
add esp, 4
mov dword [esi + 0x10], vtable.std::exception.0
lea eax, [esi + 0x14]
push eax
call fcn.005978bc
add esp, 4
lea ecx, [esi + 0x30]
call fcn.0040ed30
lea ecx, [esi + 0x58]
call fcn.0040ed30
mov ecx, dword [0x5d1918]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d191c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x514baa
or cl, al
test cl, 1
je 0x514baa
lea ecx, [esi + 0x78]
call fcn.0040ed30
mov dword [esi + 0x10], vtable.nlohmann::json_abi_v3_11_2::detail::exception.0
mov dword [esi + 0x20], vtable.std::exception.0
lea eax, [esi + 0x24]
push eax
call fcn.005978bc
add esp, 4
mov dword [esi + 0x10], vtable.std::exception.0
lea eax, [esi + 0x14]
push eax
call fcn.005978bc
add esp, 4
lea ecx, [esi + 0x30]
call fcn.0040ed30
lea ecx, [esi + 0x58]
call fcn.0040ed30
jmp 0x515217