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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf0
mov esi, esp
mov dword [esi + 0xd8], ebp
mov dword [esi + 0xdc], esp
mov dword [esi + 0xe8], 0xffffffff
lea eax, [esi + 0xe0]
mov dword [esi + 0xe4], 0x5944d0
mov edx, dword fs:[0]
mov dword [esi + 0xe0], edx
mov dword fs:[0], eax
mov eax, dword [0x5cf4b8]
mov edx, dword [0x5cf4bc]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
and eax, 1
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x11f1fb1a
mov ebx, 0x8f0f2ca8
cmovne ebx, eax
and edi, 1
mov dword [esi + 0x10], edi
sete byte [esi + 0x18]
mov dword [esi + 8], ecx
cmovne eax, ebx
mov dword [esi + 0xc], edx
cmp edx, 0xa
cmovge eax, ebx
mov dword [esi + 0xb8], 0
mov dword [esi + 0xbc], 0
setl byte [esi + 0x38]
mov dword [esi + 0xc0], 0
mov ebx, 0x13d3b53a
nop dword [eax + eax]
cmp ebx, 0x13d3b539
jg 0x510940
cmp ebx, 0x8f0f2ca8
je 0x51097f
cmp ebx, 0x11f1fb1a
jne 0x510920
jmp 0x51098a
cmp ebx, 0x1a1c1d98
je 0x510986
cmp ebx, 0x13d3b53a
jne 0x510920
movzx ecx, byte [esi + 0x18]
mov ch, byte [esi + 0x38]
mov ebx, ecx
xor bl, ch
mov edx, 0x8f0f2ca8
mov ebx, 0x1a1c1d98
cmovne edx, ebx
test ch, ch
mov ebx, edx
mov edi, eax
mov eax, 0x1a1c1d98
cmovne ebx, eax
mov eax, edi
test cl, cl
cmove ebx, edx
jmp 0x510920
mov ebx, 0x1a1c1d98
jmp 0x510920
mov ebx, eax
jmp 0x510920
cmp dword [esi + 0x10], 0
sete byte [esi + 0x18]
cmp dword [esi + 0xc], 0xa
setl byte [esi + 0x38]
mov dword [esi + 0xc4], 0
mov edi, 0x13d3b53a
mov ecx, 0x1a1c1d98
nop
cmp edi, 0x13d3b539
jg 0x5109d0
cmp edi, 0x8f0f2ca8
je 0x510a07
cmp edi, 0x11f1fb1a
jne 0x5109b0
jmp 0x510a12
cmp edi, 0x1a1c1d98
je 0x510a0e
cmp edi, 0x13d3b53a
jne 0x5109b0
movzx ebx, byte [esi + 0x18]
movzx edx, byte [esi + 0x38]
mov bh, dl
xor bh, bl
test dl, dl
mov edi, 0x8f0f2ca8
cmovne edi, ecx
test bl, bl
mov edx, 0x8f0f2ca8
cmove edi, edx
test bh, bh
cmovne edi, ecx
jmp 0x5109b0
mov edi, 0x1a1c1d98
jmp 0x5109b0
mov edi, eax
jmp 0x5109b0
mov ecx, dword [esi + 8]
lea eax, [ecx + 0x30]
mov dword [esi + 0xc], eax
lea eax, [ecx + 0x5c]
mov dword [esi + 0xb4], eax
lea eax, [ecx + 0x44]
mov dword [esi + 0x14], eax
xor edx, edx
mov dword [esi + 0x10], edx
mov dh, dl
and dh, 1
mov byte [esi + 0xc8], dh
test dh, dh
jne 0x510f10
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x28]
cmp eax, 6
jl 0x510f17
cmp eax, 9
jae 0x510b60
cmp eax, 7
jb 0x510fdc
je 0x511061
mov ecx, dword [0x5d18d0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d18d4], 0xa
setge cl
setl ch
xor ch, dl
jne 0x510a96
or cl, al
test cl, 1
jne 0x511410
mov dword [esi + 0xe8], 0
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
call fcn.00517490
mov ecx, dword [0x5d18d0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x5d18d4], 0xa
setl dl
test dl, cl
jne 0x510ad7
xor dl, cl
je 0x511430
test al, al
je 0x511b2d
mov ecx, dword [esi + 0xc]
call fcn.00506440
mov ecx, dword [esi + 8]
mov dword [ecx + 0x28], eax
mov ecx, dword [0x5d18d0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete ch
setne cl
cmp dword [0x5d18d4], 0xa
setl dh
setge dl
cmp dh, ch
jne 0x510b1f
or dl, cl
jne 0x511440
cmp eax, 0xa
je 0x511205
mov byte [esi + 0x58], 1
lea edi, [esi + 0xb8]
mov ecx, edi
lea eax, [esi + 0x38]
push eax
call fcn.00475a60
mov ecx, edi
lea eax, [esi + 0x58]
push eax
push 1
push dword [esi + 0x3c]
push dword [esi + 0x38]
lea eax, [esi + 0x18]
push eax
call fcn.004756f0
mov dh, byte [esi + 0xc8]
jmp 0x510a3a
cmp eax, 0xe
jae 0x511562
mov dword [esi + 0xe8], 0
cmp eax, 0xa
jae 0x5115e8
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
call fcn.00515fa0
mov ecx, dword [0x5d18d0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete ah
cmp dword [0x5d18d4], 0xa
setge dl
setl ch
xor ch, ah
jne 0x510bb8
or dl, cl
jne 0x511420
test al, al
je 0x511b2d
mov ecx, dword [esi + 0xc]
call fcn.00506440
mov ecx, dword [esi + 8]
mov dword [ecx + 0x28], eax
cmp eax, 0xb
je 0x510c80
cmp eax, 4
jne 0x511b55
mov ecx, dword [ebp + 8]
push dword [esi + 0xb4]
call fcn.00517060
mov edx, dword [0x5d18d0]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete ah
cmp dword [0x5d18d4], 0xa
setl dh
setge dl
cmp dh, ah
jne 0x510c1c
or dl, cl
test dl, 1
jne 0x511450
test al, al
je 0x511b2d
mov ecx, dword [esi + 0xc]
call fcn.00506440
mov ecx, dword [esi + 8]
mov dword [ecx + 0x28], eax
cmp eax, 0xc
jne 0x511bf2
mov byte [esi + 0x58], 0
lea edi, [esi + 0xb8]
mov ecx, edi
lea eax, [esi + 0x38]
push eax
call fcn.00475a60
mov ecx, edi
lea eax, [esi + 0x58]
push eax
push 1
push dword [esi + 0x3c]
push dword [esi + 0x38]
lea eax, [esi + 0x18]
push eax
call fcn.004756f0
mov ecx, dword [esi + 0xc]
call fcn.00506440
mov ecx, dword [esi + 8]
mov dword [ecx + 0x28], eax
mov dh, byte [esi + 0xc8]
jmp 0x510a3a
mov ecx, dword [ebp + 8]
call fcn.00516490
test al, al
mov edx, dword [esi + 0x10]
je 0x511b2d
cmp dword [esi + 0xc4], 0
je 0x51173c
mov dword [esi + 0x10], edx
lea ecx, [esi + 0xb8]
lea eax, [esi + 0x18]
push eax
call fcn.00475a60
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
lea edi, [esi + 0x38]
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 + 0xe8], 0
test al, al
je 0x510d10
mov ecx, dword [esi + 0xc]
call fcn.00506440
mov ecx, dword [esi + 8]
mov dword [ecx + 0x28], eax
cmp eax, 0xd
jne 0x510e37
mov ecx, dword [esi + 0xc]
call fcn.00506440
jmp 0x510e29
mov ecx, dword [esi + 0xc]
call fcn.00506440
mov ecx, dword [esi + 8]
mov dword [ecx + 0x28], eax
mov ecx, dword [0x5d18d0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5d18d4], 0xa
setl cl
or cl, dl
cmp eax, 0xd
jne 0x510e83
test cl, cl
je 0x511470
mov ecx, dword [esi + 0xc]
call fcn.00506440
mov ecx, dword [esi + 8]
mov dword [ecx + 0x28], eax
mov ecx, dword [0x5d18d0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete ch
setne cl
cmp dword [0x5d18d4], 0xa
setl dh
setge dl
cmp dh, ch
jne 0x510d92
or dl, cl
jne 0x511480
cmp eax, 4
jne 0x511907
mov ecx, dword [ebp + 8]
push dword [esi + 0xb4]
call fcn.00517060
mov ecx, dword [0x5d18d0]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x5d18d4], 0xa
setl dl
test dl, cl
jne 0x510dd6
xor dl, cl
je 0x5114a0
test al, al
je 0x511b2d
mov ecx, dword [esi + 0xc]
call fcn.00506440
mov ecx, dword [esi + 8]
mov dword [ecx + 0x28], eax
mov ecx, dword [0x5d18d0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x5d18d4], 0xa
setl dl
test dl, cl
jne 0x510e18
xor dl, cl
je 0x5114b0
cmp eax, 0xc
jne 0x5119a2
mov ecx, dword [esi + 0xc]
call fcn.00506440
mov ecx, dword [esi + 8]
mov dword [ecx + 0x28], eax
mov edx, dword [esi + 0x10]
jmp 0x510a2c
cmp eax, 0xa
jne 0x511d93
mov ecx, dword [ebp + 8]
call fcn.005179b0
mov ecx, dword [0x5d18d0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x5d18d4], 0xa
setl cl
or cl, dl
test al, al
je 0x511dc2
test cl, cl
lea ebx, [esi + 0x58]
je 0x5113c8
jmp 0x511360
test cl, cl
je 0x511460
cmp eax, 0xb
jne 0x511837
mov ecx, dword [ebp + 8]
call fcn.00516490
mov ecx, dword [0x5d18d0]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x5d18d4], 0xa
setl dl
test dl, cl
jne 0x510ec9
xor dl, cl
je 0x511490
test al, al
je 0x511b2d
lea edi, [esi + 0xb8]
mov ecx, edi
lea eax, [esi + 0x18]
push eax
call fcn.00475a60
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
lea ecx, [esi + 0x38]
push 0xffffffffffffffff
call fcn.0047a270
mov ecx, edi
push dword [esi + 0x3c]
push dword [esi + 0x38]
lea eax, [esi + 0x58]
push eax
call fcn.005341c0
mov dl, 1
jmp 0x510a2c
xor edx, edx
jmp 0x510c93
cmp eax, 3
jge 0x510f82
test eax, eax
jle 0x5115e8
cmp eax, 1
jne 0x511296
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5d18d4], 0xa
setge cl
setl ah
xor ah, dl
jne 0x510f5e
or cl, al
jne 0x511510
mov dword [esi + 0xe8], 0
mov ecx, dword [ebp + 8]
push 1
call fcn.00518800
test al, al
mov edx, dword [esi + 0x10]
jne 0x510c93
jmp 0x511f96
lea edx, [esi + 0x18]
jne 0x511212
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5d18d4], 0xa
setl cl
test cl, al
jne 0x510fb7
xor cl, al
je 0x511500
mov dword [esi + 0x18], 0
mov dword [esi + 0xe8], 0
mov ecx, dword [ebp + 8]
push 0
push edx
lea eax, [esi + 0x38]
push eax
call fcn.00530550
jmp 0x5112e7
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5d18d4], 0xa
setge cl
setl ah
xor ah, dl
jne 0x51100d
or cl, al
jne 0x5114c0
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x78]
mov edx, dword [ecx + 0x7c]
mov dword [esi + 0xe8], 0
mov ecx, dword [ebp + 8]
push edx
push eax
call fcn.00518940
mov edx, dword [0x5d18d0]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete ah
cmp dword [0x5d18d4], 0xa
setge dl
setl dh
xor dh, ah
jne 0x510c88
or dl, cl
test dl, 1
je 0x510c88
jmp 0x5114d0
mov edx, dword [0x5d18d8]
mov ecx, dword [0x5d18dc]
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, 0xa4eb3c6e
mov ebx, 0x9b69484c
cmovne edi, ebx
test edx, eax
sete byte [esi + 0x58]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x18]
mov ecx, dword [esi + 8]
vmovsd xmm0, qword [ecx + 0x88]
cmovge eax, edi
mov ecx, 0xe15c8861
nop word [eax + eax]
cmp ecx, 0xe15c8860
jg 0x5110e0
cmp ecx, 0x9b69484c
je 0x51111b
cmp ecx, 0xa4eb3c6e
jne 0x5110c0
mov ecx, 0x7a6d928
jmp 0x5110c0
cmp ecx, 0x7a6d928
je 0x511117
cmp ecx, 0xe15c8861
jne 0x5110c0
movzx edx, byte [esi + 0x58]
movzx ecx, byte [esi + 0x18]
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 0x5110c0
mov ecx, eax
jmp 0x5110c0
vmovsd qword [esi + 0x38], xmm0
vmovsd xmm0, qword [esi + 0x38]
sub esp, 8
vmovsd qword [esi + 0xc8], xmm0
vmovsd qword [esp], xmm0
call fcn.0052d3f0
add esp, 8
mov edx, dword [0x5d18d0]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
setne cl
cmp dword [0x5d18d4], 0xa
setge ch
mov dl, ch
xor dl, cl
or ch, cl
xor ch, 1
or ch, dl
test eax, eax
jg 0x511eff
test ch, ch
je 0x5114e0
mov dword [esi + 0xd4], eax
vmovsd xmm0, qword [esi + 0xc8]
vmovsd qword [esi + 0x38], xmm0
mov dword [esi + 0xe8], 0
mov ecx, dword [ebp + 8]
push 0
lea eax, [esi + 0x38]
push eax
lea eax, [esi + 0x18]
push eax
call fcn.0052da80
mov ecx, dword [0x5d18d0]
mov edi, dword [0x5d18d4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
and ecx, 1
sete bh
cmp edi, 0xa
setge bl
setl al
xor al, bh
jne 0x5111d9
or bl, dl
test bl, 1
jne 0x5114f0
test ecx, ecx
sete cl
cmp edi, 0xa
setl al
test al, cl
mov edx, dword [esi + 0x10]
jne 0x5111f3
xor al, cl
je 0x512090
cmp dword [esi + 0xd4], 0
jle 0x510c93
jmp 0x511b2f
mov ecx, dword [ebp + 8]
call fcn.005179b0
jmp 0x510c88
mov ecx, dword [0x5d18d0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x5d18d4], 0xa
setl cl
or cl, dl
cmp eax, 5
jae 0x5112ef
test cl, cl
je 0x511530
mov dword [esi + 0xe8], 0
mov ecx, dword [ebp + 8]
push 0
push dword [esi + 0xb4]
lea eax, [esi + 0x38]
push eax
call fcn.005320e0
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d18d4], 0xa
setl cl
test cl, al
jne 0x5112e7
xor cl, al
mov edx, dword [esi + 0x10]
jne 0x510c93
jmp 0x511560
mov dword [esi + 0xe8], 0
mov ecx, dword [ebp + 8]
push 0
call fcn.00518800
test al, al
je 0x511b2d
mov ecx, dword [0x5d18d0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d18d4], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x5112e7
or cl, al
test cl, 1
mov edx, dword [esi + 0x10]
je 0x510c93
jmp 0x511520
mov edx, dword [esi + 0x10]
jmp 0x510c93
test cl, cl
je 0x511540
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x80]
mov edx, dword [ecx + 0x84]
mov dword [esi + 0xe8], 0
mov ecx, dword [ebp + 8]
push edx
push eax
call fcn.00518aa0
mov ecx, dword [0x5d18d0]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete ah
setne cl
cmp dword [0x5d18d4], 0xa
setl ch
setge dl
cmp ch, ah
jne 0x510c88
or dl, cl
je 0x510c88
jmp 0x511550
lea edi, [esi + 0xb8]
mov ecx, edi
lea eax, [esi + 0x18]
push eax
call fcn.00475a60
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
lea ecx, [esi + 0x38]
push 0xffffffffffffffff
call fcn.0047a270
mov ecx, edi
push dword [esi + 0x3c]
push dword [esi + 0x38]
push ebx
call fcn.005341c0
mov ecx, dword [0x5d18d0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d18d4], 0xa
setge cl
setl ch
xor ch, dl
mov dl, 1
jne 0x510a2c
or cl, al
test cl, 1
je 0x510a2c
lea edi, [esi + 0xb8]
mov ecx, edi
lea eax, [esi + 0x18]
push eax
call fcn.00475a60
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
lea ecx, [esi + 0x38]
push 0xffffffffffffffff
call fcn.0047a270
mov ecx, edi
push dword [esi + 0x3c]
push dword [esi + 0x38]
push ebx
call fcn.005341c0
jmp 0x511360
jmp 0x511410
jmp 0x511420
jmp 0x511430
jmp 0x511440
jmp 0x511450
jmp 0x511460
jmp 0x511470
jmp 0x511480
jmp 0x511490
jmp 0x5114a0
jmp 0x5114b0
jmp 0x5114c0
jmp 0x5114d0
jmp 0x5114e0
jmp 0x5114f0
jmp 0x511500
jmp 0x511510
jmp 0x511520
jmp 0x511530
jmp 0x511540
jmp 0x511550
jmp 0x511560
mov dword [esi + 0xe8], 0
jne 0x5115e8
lea ecx, [esi + 0x80]
push 0x5bd3e8
call fcn.00420e10
mov dword [esi + 0xe8], 0x19
mov ecx, dword [esi + 8]
lea eax, [esi + 0x80]
push eax
push 0
lea eax, [esi + 0x58]
push eax
call fcn.00512a70
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x5d18d4], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
test al, 1
lea edx, [esi + 0x18]
mov edi, dword [esi + 0x14]
je 0x511743
mov eax, dword [edi + 8]
mov dword [esi + 0x78], eax
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x70], xmm0
lea ebx, [esi + 0x58]
jmp 0x511772
mov dword [esi + 0xe8], 0
lea ecx, [esi + 0x80]
push 0x5bd3e8
call fcn.00420e10
mov dword [esi + 0xe8], 0x15
mov ecx, dword [esi + 8]
lea eax, [esi + 0x80]
push eax
push 0x10
lea eax, [esi + 0x58]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 8]
mov dword [esi + 0x78], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x70], xmm0
mov dword [esi + 0xe8], 0x16
lea eax, [esi + 0x70]
push 0
lea ecx, [esi + 0x58]
push ecx
push eax
push 0x65
lea eax, [esi + 0x18]
push eax
call fcn.00512790
add esp, 0x14
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5d18d4], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x511692
or cl, al
je 0x511692
nop word cs:[eax + eax]
jmp 0x511690
mov dword [esi + 0xe8], 0x17
lea eax, [esi + 0x98]
mov ecx, dword [esi + 0xc]
push eax
call fcn.00513040
mov eax, dword [ebp + 8]
mov byte [eax + 0x34], 1
movzx eax, byte [eax + 0x60]
mov byte [esi + 7], al
mov ecx, 0x401761a2
mov eax, 0xbd5df94c
nop word cs:[eax + eax]
cmp ecx, 0xbd5df94c
je 0x511702
cmp ecx, 0x401761a2
je 0x5116ed
cmp ecx, 0x90778ea6
jne 0x5116d0
jmp 0x512092
movzx ecx, byte [esi + 7]
mov edx, ecx
xor dl, 0xfe
test dl, cl
mov ecx, 0x90778ea6
cmove ecx, eax
jmp 0x5116d0
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x5d18d4], 0xa
setge cl
setl ah
xor ah, dl
jne 0x512191
or cl, al
jne 0x51220d
jmp 0x512191
mov bl, 1
jmp 0x511b2f
lea ebx, [esi + 0x58]
nop word cs:[eax + eax]
mov ecx, dword [edi + 8]
mov dword [esi + 0x78], ecx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x70], xmm0
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x70], xmm0
mov ecx, dword [edi + 8]
mov dword [esi + 0x78], ecx
test al, 1
je 0x511750
mov dword [esi + 0xe8], 0x1a
lea eax, [esi + 0x70]
push 0
push ebx
push eax
push 0x65
push edx
call fcn.00512790
add esp, 0x14
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d18d4], 0xa
setl cl
test cl, al
jne 0x5117c2
xor cl, al
jne 0x5117c2
nop word cs:[eax + eax]
jmp 0x5117c0
mov dword [esi + 0xe8], 0x1b
lea eax, [esi + 0x98]
mov ecx, dword [esi + 0xc]
push eax
call fcn.00513040
mov eax, dword [ebp + 8]
mov byte [eax + 0x34], 1
movzx eax, byte [eax + 0x60]
mov byte [esi + 7], al
mov ecx, 0x401761a2
mov eax, 0xbd5df94c
nop word cs:[eax + eax]
cmp ecx, 0xbd5df94c
je 0x511ae2
cmp ecx, 0x401761a2
je 0x511821
cmp ecx, 0x90778ea6
jne 0x511800
jmp 0x5120c5
movzx ecx, byte [esi + 7]
not cl
or cl, 0xfe
cmp cl, 0xff
mov ecx, 0x90778ea6
cmove ecx, eax
jmp 0x511800
lea ecx, [esi + 0x80]
push str.object
call fcn.00420e10
mov dword [esi + 0xe8], 5
mov ecx, dword [esi + 8]
lea eax, [esi + 0x80]
push eax
push 0xb
lea eax, [esi + 0x58]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 8]
mov dword [esi + 0x78], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x70], xmm0
mov dword [esi + 0xe8], 6
lea eax, [esi + 0x70]
push 0
lea ecx, [esi + 0x58]
push ecx
push eax
push 0x65
lea eax, [esi + 0x18]
push eax
call fcn.00512790
add esp, 0x14
mov dword [esi + 0xe8], 7
lea eax, [esi + 0x98]
mov ecx, dword [esi + 0xc]
push eax
call fcn.00513040
mov eax, dword [ebp + 8]
mov byte [eax + 0x34], 1
movzx eax, byte [eax + 0x60]
mov byte [esi + 7], al
mov ecx, 0x401761a2
mov eax, 0xbd5df94c
nop dword [eax + eax]
cmp ecx, 0xbd5df94c
je 0x511ae2
cmp ecx, 0x401761a2
je 0x5118f1
cmp ecx, 0x90778ea6
jne 0x5118d0
jmp 0x5120f8
movzx ecx, byte [esi + 7]
not cl
or cl, 0xfe
cmp cl, 0xff
mov ecx, 0x90778ea6
cmove ecx, eax
jmp 0x5118d0
lea ecx, [esi + 0x80]
push str.object_key
call fcn.00420e10
mov dword [esi + 0xe8], 0xd
mov ecx, dword [esi + 8]
lea eax, [esi + 0x80]
push eax
push 4
lea eax, [esi + 0x58]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 8]
mov dword [esi + 0x78], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x70], xmm0
mov dword [esi + 0xe8], 0xe
lea eax, [esi + 0x70]
push 0
lea ecx, [esi + 0x58]
push ecx
push eax
push 0x65
lea eax, [esi + 0x18]
push eax
call fcn.00512790
add esp, 0x14
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5d18d4], 0xa
setl cl
test cl, al
jne 0x511a76
xor cl, al
jne 0x511a76
nop word [eax + eax]
jmp 0x5119a0
lea ecx, [esi + 0x80]
push str.object_separator
call fcn.00420e10
mov dword [esi + 0xe8], 9
mov ecx, dword [esi + 8]
lea eax, [esi + 0x80]
push eax
push 0xc
lea eax, [esi + 0x58]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 8]
mov dword [esi + 0x78], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x70], xmm0
mov dword [esi + 0xe8], 0xa
lea eax, [esi + 0x70]
push 0
lea ecx, [esi + 0x58]
push ecx
push eax
push 0x65
lea eax, [esi + 0x18]
push eax
call fcn.00512790
add esp, 0x14
mov dword [esi + 0xe8], 0xb
lea eax, [esi + 0x98]
mov ecx, dword [esi + 0xc]
push eax
call fcn.00513040
mov eax, dword [ebp + 8]
mov byte [eax + 0x34], 1
movzx eax, byte [eax + 0x60]
mov byte [esi + 7], al
mov ecx, 0x401761a2
mov eax, 0xbd5df94c
nop word cs:[eax + eax]
cmp ecx, 0xbd5df94c
je 0x511ae2
cmp ecx, 0x401761a2
je 0x511a61
cmp ecx, 0x90778ea6
jne 0x511a40
jmp 0x51212b
movzx ecx, byte [esi + 7]
mov edx, ecx
xor dl, 0xfe
test dl, cl
mov ecx, 0x90778ea6
cmove ecx, eax
jmp 0x511a40
mov dword [esi + 0xe8], 0xf
lea eax, [esi + 0x98]
mov ecx, dword [esi + 0xc]
push eax
call fcn.00513040
mov eax, dword [ebp + 8]
mov byte [eax + 0x34], 1
movzx eax, byte [eax + 0x60]
mov byte [esi + 7], al
mov ecx, 0x401761a2
mov eax, 0xbd5df94c
nop word [eax + eax]
cmp ecx, 0xbd5df94c
je 0x511ae2
cmp ecx, 0x401761a2
je 0x511acd
cmp ecx, 0x90778ea6
jne 0x511ab0
jmp 0x51215e
movzx ecx, byte [esi + 7]
mov edx, ecx
xor dl, 0xfe
test dl, cl
mov ecx, 0x90778ea6
cmove ecx, eax
jmp 0x511ab0
lea ecx, [esi + 0x98]
call fcn.0040ed30
mov dword [esi + 0x18], vtable.nlohmann::json_abi_v3_11_2::detail::exception.0
mov dword [esi + 0x28], vtable.std::exception.0
lea eax, [esi + 0x2c]
push eax
call fcn.005978bc
add esp, 4
mov dword [esi + 0x18], vtable.std::exception.0
lea eax, [esi + 0x1c]
push eax
call fcn.005978bc
add esp, 4
lea ecx, [esi + 0x58]
call fcn.0040ed30
lea ecx, [esi + 0x80]
call fcn.0040ed30
xor ebx, ebx
lea ecx, [esi + 0xb8]
call fcn.0045c930
mov eax, dword [esi + 0xe0]
mov dword fs:[0], eax
and bl, 1
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
lea ecx, [esi + 0x58]
push str.object_key
call fcn.00420e10
mov dword [esi + 0xe8], 0x21
mov ecx, dword [esi + 8]
lea eax, [esi + 0x58]
push eax
push 4
lea eax, [esi + 0x18]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 8]
mov dword [esi + 0xa0], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x98], xmm0
mov dword [esi + 0xe8], 0x22
lea eax, [esi + 0x98]
push 0
lea ecx, [esi + 0x18]
push ecx
push eax
push 0x65
lea eax, [esi + 0x38]
push eax
call fcn.00512790
add esp, 0x14
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5d18d4], 0xa
setl cl
test cl, al
jne 0x511c66
xor cl, al
jne 0x511c66
nop dword [eax + eax]
jmp 0x511bf0
lea ecx, [esi + 0x58]
push str.object_separator
call fcn.00420e10
mov dword [esi + 0xe8], 0x1d
mov ecx, dword [esi + 8]
lea eax, [esi + 0x58]
push eax
push 0xc
lea eax, [esi + 0x18]
push eax
call fcn.00512a70
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x5d18d4], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
mov edi, dword [esi + 0x14]
je 0x511cc2
mov eax, dword [edi + 8]
mov dword [esi + 0xa0], eax
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x98], xmm0
lea edx, [esi + 0x18]
jmp 0x511cf3
mov dword [esi + 0xe8], 0x23
lea eax, [esi + 0x80]
mov ecx, dword [esi + 0xc]
push eax
call fcn.00513040
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d18d4], 0xa
setl cl
test cl, al
mov edx, dword [esi + 0x14]
jne 0x511dd2
xor cl, al
jne 0x511dd2
nop word cs:[eax + eax]
jmp 0x511cc0
lea edx, [esi + 0x18]
mov ecx, dword [edi + 8]
mov dword [esi + 0xa0], ecx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x98], xmm0
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x98], xmm0
mov ecx, dword [edi + 8]
mov dword [esi + 0xa0], ecx
test al, al
je 0x511cc5
mov dword [esi + 0xe8], 0x1e
lea eax, [esi + 0x98]
push 0
push edx
push eax
push 0x65
lea eax, [esi + 0x38]
push eax
call fcn.00512790
add esp, 0x14
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5d18d4], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x511d52
or cl, al
je 0x511d52
nop word cs:[eax + eax]
jmp 0x511d50
mov dword [esi + 0xe8], 0x1f
lea eax, [esi + 0x80]
mov ecx, dword [esi + 0xc]
push eax
call fcn.00513040
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0xe8], 0x20
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x38]
push edx
lea edx, [esi + 0x80]
push edx
push eax
call fcn.00512700
jmp 0x511ed5
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d18d4], 0xa
setl cl
test cl, al
jne 0x511df7
xor cl, al
jne 0x511df7
nop word [eax + eax]
jmp 0x511dc0
test cl, cl
jne 0x511b2d
nop word [eax + eax]
jmp 0x511dd0
mov eax, dword [edx]
mov dword [esi + 0xe8], 0x24
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x38]
push edx
lea edx, [esi + 0x80]
push edx
push eax
call fcn.00512700
jmp 0x511ed5
lea ecx, [esi + 0x58]
push str.array
call fcn.00420e10
mov dword [esi + 0xe8], 0x11
mov ecx, dword [esi + 8]
lea eax, [esi + 0x58]
push eax
push 0xa
lea eax, [esi + 0x18]
push eax
call fcn.00512a70
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx + 8]
mov dword [esi + 0xa0], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x98], xmm0
mov dword [esi + 0xe8], 0x12
lea eax, [esi + 0x98]
push 0
lea ecx, [esi + 0x18]
push ecx
push eax
push 0x65
lea eax, [esi + 0x38]
push eax
call fcn.00512790
add esp, 0x14
mov dword [esi + 0xe8], 0x13
lea eax, [esi + 0x80]
mov ecx, dword [esi + 0xc]
push eax
call fcn.00513040
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x5d18d4], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x511eb2
or cl, al
je 0x511eb2
nop word cs:[eax + eax]
jmp 0x511eb0
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0xe8], 0x14
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x38]
push edx
lea edx, [esi + 0x80]
push edx
push eax
call fcn.00512700
mov ebx, eax
lea ecx, [esi + 0x80]
call fcn.0040ed30
lea ecx, [esi + 0x38]
call fcn.00525140
lea ecx, [esi + 0x18]
call fcn.0040ed30
lea ecx, [esi + 0x58]
call fcn.0040ed30
jmp 0x511b2f
test ch, ch
je 0x511f94
mov byte [esi + 0x98], 0x27
mov dword [esi + 0xe8], 0
mov ecx, dword [esi + 0xc]
lea eax, [esi + 0x58]
push eax
call fcn.00513040
mov dword [esi + 0xe8], 1
lea eax, [esi + 0x98]
push eax
lea eax, [esi + 0x58]
push eax
push str.number_overflow_parsing_
lea eax, [esi + 0x18]
push eax
call fcn.005184d0
add esp, 0x10
mov dword [esi + 0xe8], 2
push 0
lea eax, [esi + 0x18]
push eax
push 0x196
lea eax, [esi + 0x38]
push eax
call fcn.005182a0
add esp, 0x10
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d18d4], 0xa
setl cl
test cl, al
jne 0x511fc9
xor cl, al
jne 0x511fc9
jmp 0x511f92
jmp 0x511f94
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d18d4], 0xa
setl cl
xor ebx, ebx
test cl, al
jne 0x511b2f
xor cl, al
jne 0x511b2f
jmp 0x511fc7
mov dword [esi + 0xe8], 3
lea eax, [esi + 0x80]
mov ecx, dword [esi + 0xc]
push eax
call fcn.00513040
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x5d18d4], 0xa
setl cl
test cl, al
jne 0x51200c
xor cl, al
jne 0x51200c
jmp 0x51200a
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov dword [esi + 0xe8], 4
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x38]
push edx
lea edx, [esi + 0x80]
push edx
push eax
call fcn.00518190
mov ebx, eax
lea ecx, [esi + 0x80]
call fcn.0040ed30
lea ecx, [esi + 0x38]
call fcn.00525140
lea ecx, [esi + 0x18]
call fcn.0040ed30
lea ecx, [esi + 0x58]
call fcn.0040ed30
mov ecx, dword [0x5d18d0]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x5d18d4], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x511b2f
or cl, al
test cl, 1
je 0x511b2f
nop word cs:[eax + eax]
jmp 0x512090
lea edi, [esi + 0x38]
mov ecx, edi
lea eax, [esi + 0x18]
push eax
call fcn.005028d0
mov dword [esi + 0x38], vtable.nlohmann::json_abi_v3_11_2::detail::parse_error.0
mov eax, dword [esi + 0x34]
mov dword [esi + 0x54], eax
mov dword [esi + 0xe8], 0x18
push 0x5c3afc
push edi
call fcn.00597280
add esp, 8
lea edi, [esi + 0x38]
mov ecx, edi
lea eax, [esi + 0x18]
push eax
call fcn.005028d0
mov dword [esi + 0x38], vtable.nlohmann::json_abi_v3_11_2::detail::parse_error.0
mov eax, dword [esi + 0x34]
mov dword [esi + 0x54], eax
mov dword [esi + 0xe8], 0x1c
push 0x5c3afc
push edi
call fcn.00597280
add esp, 8
lea edi, [esi + 0x38]
mov ecx, edi
lea eax, [esi + 0x18]
push eax
call fcn.005028d0
mov dword [esi + 0x38], vtable.nlohmann::json_abi_v3_11_2::detail::parse_error.0
mov eax, dword [esi + 0x34]
mov dword [esi + 0x54], eax
mov dword [esi + 0xe8], 8
push 0x5c3afc
push edi
call fcn.00597280
add esp, 8
lea edi, [esi + 0x38]
mov ecx, edi
lea eax, [esi + 0x18]
push eax
call fcn.005028d0
mov dword [esi + 0x38], vtable.nlohmann::json_abi_v3_11_2::detail::parse_error.0
mov eax, dword [esi + 0x34]
mov dword [esi + 0x54], eax
mov dword [esi + 0xe8], 0xc
push 0x5c3afc
push edi
call fcn.00597280
add esp, 8
lea edi, [esi + 0x38]
mov ecx, edi
lea eax, [esi + 0x18]
push eax
call fcn.005028d0
mov dword [esi + 0x38], vtable.nlohmann::json_abi_v3_11_2::detail::parse_error.0
mov eax, dword [esi + 0x34]
mov dword [esi + 0x54], eax
mov dword [esi + 0xe8], 0x10
push 0x5c3afc
push edi
call fcn.00597280
add esp, 8
lea ecx, [esi + 0x98]
call fcn.0040ed30
mov dword [esi + 0x18], vtable.nlohmann::json_abi_v3_11_2::detail::exception.0
mov dword [esi + 0x28], vtable.std::exception.0
lea eax, [esi + 0x2c]
push eax
call fcn.005978bc
add esp, 4
mov dword [esi + 0x18], vtable.std::exception.0
lea eax, [esi + 0x1c]
push eax
call fcn.005978bc
add esp, 4
lea ecx, [esi + 0x58]
call fcn.0040ed30
lea ecx, [esi + 0x80]
call fcn.0040ed30
mov eax, dword [0x5d18d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x5d18d4], 0xa
setl cl
xor ebx, ebx
test cl, al
jne 0x511b2f
xor cl, al
jne 0x511b2f
lea ecx, [esi + 0x98]
call fcn.0040ed30
mov dword [esi + 0x18], vtable.nlohmann::json_abi_v3_11_2::detail::exception.0
mov dword [esi + 0x28], vtable.std::exception.0
lea eax, [esi + 0x2c]
push eax
call fcn.005978bc
add esp, 4
mov dword [esi + 0x18], vtable.std::exception.0
lea eax, [esi + 0x1c]
push eax
call fcn.005978bc
add esp, 4
lea ecx, [esi + 0x58]
call fcn.0040ed30
lea ecx, [esi + 0x80]
call fcn.0040ed30
jmp 0x512191