Function at 0x5182c0
Capabilities:
Access peb ldr_data
Check os version

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xf0
mov esi, esp
mov dword [esi + 0xd8], ebp
mov edi, ecx
mov dword [esi + 0xdc], esp
mov dword [esi + 0xe8], 0xffffffff
lea eax, [esi + 0xe0]
mov dword [esi + 0xe4], 0x55d440
mov ecx, dword fs:[0]
mov dword [esi + 0xe0], ecx
mov dword fs:[0], eax
lea ecx, [esi + 0xc8]
call fcn.004876e0
lea eax, [edi + 0x30]
mov dword [esi + 8], eax
lea eax, [edi + 0x5c]
mov dword [esi + 0xc], eax
xor eax, eax
mov dword [esi + 4], edi
mov dword [esi + 0x24], eax
and al, 1
mov byte [esi + 0x48], al
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x59995c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x518361
or cl, al
jne 0x518c30
cmp byte [esi + 0x48], 0
jne 0x518597
mov eax, dword [edi + 0x28]
cmp eax, 6
jl 0x5185a3
cmp eax, 9
jae 0x518440
cmp eax, 7
jb 0x51866c
je 0x51879e
mov dword [esi + 0xe8], 0
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
call fcn.00521240
test al, al
je 0x51a3ce
mov ecx, dword [esi + 8]
call fcn.0050aef0
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
cmp eax, 0xa
je 0x518818
mov byte [esi + 0x70], 1
lea edi, [esi + 0xc8]
mov ecx, edi
lea eax, [esi + 0x50]
push eax
call fcn.0047b5e0
mov ecx, edi
push 1
push dword [esi + 0x54]
push dword [esi + 0x50]
call fcn.0047b8d0
mov edi, eax
lea ecx, [esi + 0xc8]
lea ebx, [esi + 0x28]
push ebx
call fcn.0046fd20
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x94], eax
lea ecx, [esi + 0x94]
push edi
call fcn.0047e830
lea eax, [esi + 0x70]
push eax
push 1
push dword [esi + 0x98]
push dword [esi + 0x94]
push ebx
call fcn.0047bf70
add esp, 0x14
mov edi, dword [esi + 4]
jmp 0x518330
cmp eax, 0xe
jae 0x518d02
cmp eax, 0xa
jae 0x518de0
mov dword [esi + 0xe8], 0
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
call fcn.00520700
test al, al
je 0x51a398
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x59995c], 0xa
setl cl
test cl, al
jne 0x51849a
xor cl, al
je 0x518c40
mov ecx, dword [esi + 8]
call fcn.0050aef0
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
cmp eax, 0xb
je 0x51885e
mov ecx, dword [0x599958]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete ch
cmp dword [0x59995c], 0xa
setge dl
setl dh
xor dh, ch
jne 0x5184e3
or dl, cl
jne 0x518c50
cmp eax, 4
jne 0x518f02
mov ecx, dword [ebp + 8]
push dword [esi + 0xc]
call fcn.005210d0
test al, al
je 0x51a398
mov ecx, dword [esi + 8]
call fcn.0050aef0
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
cmp eax, 0xc
jne 0x51a402
mov byte [esi + 0x70], 0
lea edi, [esi + 0xc8]
mov ecx, edi
lea eax, [esi + 0x50]
push eax
call fcn.0047b5e0
mov ecx, edi
push 1
push dword [esi + 0x54]
push dword [esi + 0x50]
call fcn.0047b8d0
mov edi, eax
lea ecx, [esi + 0xc8]
lea ebx, [esi + 0x28]
push ebx
call fcn.0046fd20
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x94], eax
lea ecx, [esi + 0x94]
push edi
call fcn.0047e830
lea eax, [esi + 0x70]
push eax
push 1
push dword [esi + 0x98]
push dword [esi + 0x94]
push ebx
call fcn.0047bf70
add esp, 0x14
mov ecx, dword [esi + 8]
call fcn.0050aef0
mov edi, dword [esi + 4]
mov dword [edi + 0x28], eax
jmp 0x518330
mov dword [esi + 0x24], 0
jmp 0x5188e0
cmp eax, 3
jge 0x51860d
test eax, eax
jle 0x518de0
mov dword [esi + 0xe8], 0
cmp eax, 1
jne 0x5188c1
mov byte [esi + 0x50], 1
mov ecx, dword [ebp + 8]
push 0
lea eax, [esi + 0x50]
push eax
lea eax, [esi + 0x28]
push eax
call fcn.00538780
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x59995c], 0xa
setl cl
test cl, al
jne 0x5188e0
xor cl, al
jne 0x5188e0
jmp 0x518cf0
jne 0x51886f
mov dword [esi + 0x50], 0
mov dword [esi + 0xe8], 0
mov ecx, dword [ebp + 8]
push 0
lea eax, [esi + 0x50]
push eax
lea eax, [esi + 0x28]
push eax
call fcn.00539750
mov ecx, dword [0x599958]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x59995c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x5188e0
or cl, al
test cl, 1
je 0x5188e0
jmp 0x518ce0
mov eax, dword [0x599960]
mov ecx, dword [0x599964]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
sete byte [esi + 0x94]
mov eax, 0xfbaf8cab
mov edx, 0x51dfb5e5
cmove eax, edx
cmp ecx, 0xa
setl bh
setl byte [esi + 0x50]
mov ecx, dword [edi + 0x78]
mov dword [esi + 0x48], ecx
mov ecx, dword [edi + 0x7c]
mov dword [esi + 0xac], ecx
mov ecx, 0xfbaf8cab
cmovge eax, ecx
xor bh, bl
cmovne eax, edx
mov edi, 0x379c5a1c
nop word cs:[eax + eax]
cmp edi, 0x379c5a1b
jg 0x5186f0
cmp edi, 0xd7224d5a
je 0x51872e
cmp edi, 0xfbaf8cab
jne 0x5186d0
mov edi, 0xd7224d5a
jmp 0x5186d0
cmp edi, 0x51dfb5e5
je 0x518732
cmp edi, 0x379c5a1c
jne 0x5186d0
movzx ecx, byte [esi + 0x94]
mov bh, byte [esi + 0x50]
mov bl, cl
xor bl, bh
test bh, bh
mov edi, 0xfbaf8cab
mov edx, 0xd7224d5a
cmovne edi, edx
test cl, cl
mov ecx, 0xfbaf8cab
cmove edi, ecx
test bl, bl
cmovne edi, edx
jmp 0x5186d0
mov edi, eax
jmp 0x5186d0
mov eax, dword [esi + 0x48]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0xac]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
mov dword [esi + 0xe8], 0
mov ecx, dword [ebp + 8]
push 0
lea eax, [esi + 0x28]
push eax
lea eax, [esi + 0x50]
push eax
call fcn.0053a740
mov eax, dword [0x599958]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x59995c], 0xa
setl cl
test cl, al
jne 0x5188e0
xor cl, al
jne 0x5188e0
jmp 0x518cb0
vmovsd xmm0, qword [edi + 0x88]
vmovsd qword [esi + 0x48], xmm0
vmovsd qword [esi + 0x28], xmm0
lea eax, [esi + 0x28]
push eax
call fcn.00566a53
add esp, 4
mov ecx, dword [0x599958]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete dl
cmp dword [0x59995c], 0xa
setl cl
or cl, dl
test ax, ax
jg 0x51a5a2
test cl, cl
je 0x518cc0
mov dword [esi + 0xe8], 0
sub esp, 0xc
mov eax, dword [esi + 0xc]
mov dword [esp + 8], eax
vmovsd xmm0, qword [esi + 0x48]
vmovsd qword [esp], xmm0
mov ecx, dword [ebp + 8]
call fcn.00522290
jmp 0x518866
mov ecx, dword [ebp + 8]
call fcn.005213e0
test al, al
je 0x51a398
mov ecx, dword [0x599958]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x59995c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x5188e0
or cl, al
test cl, 1
je 0x5188e0
jmp 0x518cd0
mov ecx, dword [ebp + 8]
call fcn.005208f0
test al, al
jne 0x5188e0
jmp 0x51a398
mov dword [esi + 0xe8], 0
cmp eax, 5
jae 0x518bc9
mov ecx, dword [ebp + 8]
push 0
push dword [esi + 0xc]
lea eax, [esi + 0x28]
push eax
call fcn.0053bb50
mov ecx, dword [0x599958]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x59995c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x5188e0
or cl, al
test cl, 1
je 0x5188e0
jmp 0x518d00
mov byte [esi + 0x50], 0
mov ecx, dword [ebp + 8]
push 0
lea eax, [esi + 0x50]
push eax
lea eax, [esi + 0x28]
push eax
call fcn.00538780
nop word [eax + eax]
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x59995c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x518911
or cl, al
jne 0x518c60
cmp dword [esi + 0xd4], 0
je 0x519a97
lea ecx, [esi + 0xc8]
lea eax, [esi + 0x50]
push eax
call fcn.0047b5e0
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], eax
lea ecx, [esi + 0x28]
push 1
call fcn.0053dd40
mov edx, dword [0x597620]
mov ecx, dword [0x597624]
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xf6fc076c
mov ebx, 0x549d064b
cmovne edx, ebx
test edi, eax
mov eax, dword [esi + 0x28]
sete byte [esi + 0xb0]
mov dword [esi + 0x94], eax
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x2c]
setl byte [esi + 0x70]
mov dword [esi + 0x98], ecx
cmovge eax, edx
mov ecx, 0x85388611
mov edi, dword [esi + 8]
nop word cs:[eax + eax]
cmp ecx, 0xf6fc076b
jle 0x5189d0
cmp ecx, 0xf6fc076c
je 0x5189e4
cmp ecx, 0x549d064b
jne 0x5189b0
jmp 0x518a20
cmp ecx, 0x85388611
je 0x5189eb
cmp ecx, 0xcbffc385
jne 0x5189b0
mov ecx, eax
jmp 0x5189b0
mov ecx, 0xcbffc385
jmp 0x5189b0
movzx edx, byte [esi + 0xb0]
movzx ecx, byte [esi + 0x70]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0xf6fc076c
mov ebx, 0xcbffc385
cmovne ecx, ebx
test dl, dl
mov ebx, 0xf6fc076c
cmove ecx, ebx
test dh, dh
mov edx, 0xcbffc385
cmovne ecx, edx
jmp 0x5189b0
lea ecx, [esi + 0x94]
call fcn.0046dee0
mov dword [esi + 0xe8], 0
mov ecx, edi
test al, al
je 0x518a60
call fcn.0050aef0
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
cmp eax, 0xd
jne 0x518b2a
mov ecx, dword [esi + 8]
call fcn.0050aef0
jmp 0x518b1c
call fcn.0050aef0
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
mov ecx, dword [0x599958]
lea edx, [ecx - 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x59995c], 0xa
setl dl
test dl, cl
jne 0x518a98
xor dl, cl
je 0x518c70
cmp eax, 0xd
jne 0x518b69
mov ecx, dword [esi + 8]
call fcn.0050aef0
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
cmp eax, 4
jne 0x51a562
mov ecx, dword [ebp + 8]
push dword [esi + 0xc]
call fcn.005210d0
test al, al
je 0x51a398
mov ecx, dword [esi + 8]
call fcn.0050aef0
mov ecx, dword [esi + 4]
mov dword [ecx + 0x28], eax
mov ecx, dword [0x599958]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete ch
cmp dword [0x59995c], 0xa
setge dl
setl dh
xor dh, ch
jne 0x518b0b
or dl, cl
jne 0x518ca0
cmp eax, 0xc
jne 0x519f76
mov ecx, dword [esi + 8]
call fcn.0050aef0
mov edi, dword [esi + 4]
mov dword [edi + 0x28], eax
mov eax, dword [esi + 0x24]
jmp 0x518328
mov ecx, dword [0x599958]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x59995c], 0xa
setl dl
test dl, cl
jne 0x518b56
xor dl, cl
je 0x518c80
cmp eax, 0xa
jne 0x519a9e
mov ecx, dword [ebp + 8]
call fcn.005213e0
jmp 0x518bac
cmp eax, 0xb
jne 0x51a512
mov ecx, dword [ebp + 8]
call fcn.005208f0
mov ecx, dword [0x599958]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete ah
cmp dword [0x59995c], 0xa
setge dl
setl ch
xor ch, ah
jne 0x518bac
or dl, cl
jne 0x518c90
test al, al
je 0x51a398
lea ecx, [esi + 0xc8]
call fcn.005223e0
mov al, 1
mov edi, dword [esi + 4]
jmp 0x518328
vmovsd xmm0, qword [edi + 0x80]
vmovsd qword [esi + 0x28], xmm0
mov ecx, dword [ebp + 8]
push 0
lea eax, [esi + 0x28]
push eax
lea eax, [esi + 0x50]
push eax
call fcn.0053c8d0
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x59995c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x5188e0
or cl, al
je 0x5188e0
nop dword [eax]
jmp 0x518c20
jmp 0x518c30
jmp 0x518c40
jmp 0x518c50
jmp 0x518c60
jmp 0x518c70
jmp 0x518c80
jmp 0x518c90
jmp 0x518ca0
jmp 0x518cb0
jmp 0x518cc0
jmp 0x518cd0
jmp 0x518ce0
jmp 0x518cf0
jmp 0x518d00
jne 0x518de0
mov eax, dword [0x5974e8]
mov ecx, dword [0x5974ec]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x67a8215d
mov ebx, 0xe2a1ad2c
cmovne ebx, eax
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [esi + 0x70], xmm0
test edi, edx
sete byte [esi + 0x94]
mov dword [esi + 0x84], 0
mov dword [esi + 0x80], 0
cmovne eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x50]
cmovge eax, ebx
mov edx, 0x48a73950
mov ecx, 0x255a5ce
nop word cs:[eax + eax]
cmp edx, 0x48a7394f
jg 0x518da0
cmp edx, 0xe2a1ad2c
je 0x518dd9
cmp edx, 0x255a5ce
jne 0x518d80
mov edx, eax
jmp 0x518d80
cmp edx, 0x67a8215d
je 0x519447
cmp edx, 0x48a73950
jne 0x518d80
movzx ebx, byte [esi + 0x94]
movzx edx, byte [esi + 0x50]
mov dh, bl
xor dh, dl
mov edi, 0xe2a1ad2c
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x518d80
mov edx, 0x255a5ce
jmp 0x518d80
mov eax, dword [0x5974e8]
mov ecx, dword [0x5974ec]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
sete byte [esi + 0x94]
mov edx, 0x67a8215d
mov eax, 0xe2a1ad2c
cmove eax, edx
cmp ecx, 0xa
mov ecx, 0xe2a1ad2c
cmovge eax, ecx
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x84], 0
mov dword [esi + 0x80], 0
setl cl
setl byte [esi + 0x50]
xor cl, bl
cmovne eax, edx
mov edx, 0x48a73950
mov ecx, 0x255a5ce
nop dword [eax]
cmp edx, 0x48a7394f
jg 0x518e70
cmp edx, 0xe2a1ad2c
je 0x518ea5
cmp edx, 0x255a5ce
jne 0x518e50
mov edx, eax
jmp 0x518e50
cmp edx, 0x67a8215d
je 0x518eac
cmp edx, 0x48a73950
jne 0x518e50
movzx ebx, byte [esi + 0x94]
movzx edx, byte [esi + 0x50]
mov dh, bl
xor dh, dl
mov edi, 0xe2a1ad2c
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x518e50
mov edx, 0x255a5ce
jmp 0x518e50
mov dword [esi + 0x28], 5
mov eax, dword [esi + 0x28]
mov dword [esi + 0xe8], 0
lea ecx, [esi + 0x70]
push eax
push 0x586398
call fcn.004134d0
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x59995c], 0xa
setl cl
test cl, al
jne 0x519032
xor cl, al
jne 0x519032
nop
jmp 0x518f00
mov eax, dword [0x5974e8]
mov ecx, dword [0x5974ec]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x67a8215d
mov edi, 0xe2a1ad2c
cmovne edi, eax
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [esi + 0x70], xmm0
cmp edx, 0xffffffff
sete byte [esi + 0x94]
mov dword [esi + 0x84], 0
mov dword [esi + 0x80], 0
cmovne eax, edi
cmp ecx, 0xa
setl byte [esi + 0x50]
cmovge eax, edi
mov edx, 0x48a73950
mov ecx, 0x255a5ce
nop word cs:[eax + eax]
cmp edx, 0x48a7394f
jg 0x518fa0
cmp edx, 0xe2a1ad2c
je 0x518fd5
cmp edx, 0x255a5ce
jne 0x518f80
mov edx, eax
jmp 0x518f80
cmp edx, 0x67a8215d
je 0x518fdc
cmp edx, 0x48a73950
jne 0x518f80
movzx ebx, byte [esi + 0x94]
movzx edx, byte [esi + 0x50]
mov dh, bl
xor dh, dl
mov edi, 0xe2a1ad2c
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x518f80
mov edx, 0x255a5ce
jmp 0x518f80
mov dword [esi + 0x28], 0xa
mov eax, dword [esi + 0x28]
mov dword [esi + 0xe8], 0
lea ecx, [esi + 0x70]
push eax
push str.object_key
call fcn.004134d0
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x59995c], 0xa
setl cl
test cl, al
jne 0x5194a2
xor cl, al
jne 0x5194a2
nop dword [eax]
jmp 0x519030
mov dword [esi + 0xe8], 0x15
mov ecx, dword [esi + 4]
lea eax, [esi + 0x70]
push eax
push 0x10
lea eax, [esi + 0x94]
push eax
call fcn.0051b9b0
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x59995c], 0xa
setl cl
or cl, al
mov byte [esi + 0x23], cl
mov eax, dword [0x599710]
mov dword [esi + 0xac], eax
mov eax, dword [0x599714]
mov dword [esi + 0xc], eax
je 0x519796
mov eax, dword [esi + 0xac]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
sete bl
sete byte [esi + 0x50]
mov eax, 0x7b3c50fc
mov ecx, 0x8e54957c
cmove ecx, eax
cmp dword [esi + 0xc], 0xa
mov edx, 0x8e54957c
cmovge ecx, edx
setl byte [esi + 0x28]
setl dl
xor dl, bl
mov edx, dword [esi + 4]
lea edx, [edx + 0x44]
cmovne ecx, eax
mov ebx, 0xcf24a79b
mov dword [esi + 0x48], edx
nop word [eax + eax]
cmp ebx, 0xcf24a79a
jg 0x519110
cmp ebx, 0x8e54957c
je 0x519154
cmp ebx, 0x9ebc9f0d
jne 0x5190e0
mov eax, dword [edx + 8]
mov dword [esi + 0x18], eax
vmovsd xmm0, qword [edx]
vmovsd qword [esi + 0x10], xmm0
mov ebx, ecx
jmp 0x5190e0
cmp ebx, 0x7b3c50fc
je 0x51916d
cmp ebx, 0xcf24a79b
jne 0x5190e0
movzx edx, byte [esi + 0x50]
mov dh, byte [esi + 0x28]
mov ebx, edx
xor bl, dh
mov eax, 0x8e54957c
mov ebx, 0x9ebc9f0d
cmovne eax, ebx
test dh, dh
mov ebx, eax
mov dword [esi + 0x24], edi
mov edi, 0x9ebc9f0d
cmovne ebx, edi
mov edi, dword [esi + 0x24]
test dl, dl
mov edx, dword [esi + 0x48]
cmove ebx, eax
jmp 0x5190e0
mov eax, dword [edx + 8]
mov dword [esi + 0x18], eax
vmovsd xmm0, qword [edx]
vmovsd qword [esi + 0x10], xmm0
mov ebx, 0x9ebc9f0d
jmp 0x5190e0
cmp byte [esi + 0x23], 0
jne 0x51923e
test edi, edi
sete al
mov edx, dword [esi + 0xc]
cmp edx, 0xa
setl cl
xor cl, al
mov ebx, 0x7b3c50fc
mov eax, 0x8e54957c
cmovne eax, ebx
test edi, edi
sete byte [esi + 0x50]
cmovne ebx, eax
cmp edx, 0xa
setl byte [esi + 0x28]
cmovge ebx, eax
mov eax, dword [esi + 4]
lea edx, [eax + 0x44]
mov ecx, 0xcf24a79b
mov dword [esi + 0x48], edx
jmp 0x5191d0
mov eax, dword [edx + 8]
mov dword [esi + 0x18], eax
vmovsd xmm0, qword [edx]
vmovsd qword [esi + 0x10], xmm0
mov ecx, 0x9ebc9f0d
nop dword [eax + eax]
cmp ecx, 0xcf24a79a
jg 0x519200
cmp ecx, 0x8e54957c
je 0x5191b7
cmp ecx, 0x9ebc9f0d
jne 0x5191d0
mov eax, dword [edx + 8]
mov dword [esi + 0x18], eax
vmovsd xmm0, qword [edx]
vmovsd qword [esi + 0x10], xmm0
mov ecx, ebx
jmp 0x5191d0
cmp ecx, 0x7b3c50fc
je 0x51908e
cmp ecx, 0xcf24a79b
jne 0x5191d0
movzx edx, byte [esi + 0x50]
movzx ecx, byte [esi + 0x28]
mov ch, dl
xor ch, cl
mov eax, 0x8e54957c
mov edi, 0x9ebc9f0d
cmovne eax, edi
test cl, cl
mov ecx, eax
cmovne ecx, edi
test dl, dl
mov edx, dword [esi + 0x48]
cmove ecx, eax
jmp 0x5191d0
mov dword [esi + 0xe8], 0x16
lea eax, [esi + 0x10]
push 0
lea ecx, [esi + 0x94]
push ecx
push eax
push 0x65
lea eax, [esi + 0x50]
push eax
call fcn.0051b540
add esp, 0x14
mov dword [esi + 0xe8], 0x17
lea eax, [esi + 0xb0]
mov ecx, dword [esi + 8]
push eax
call fcn.0051c010
mov ecx, dword [0x599710]
mov eax, dword [0x599714]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp eax, 0xa
setl ch
xor ch, cl
mov ecx, 0x7b3c50fc
mov edi, 0x8e54957c
cmovne edi, ecx
cmp edx, 0xffffffff
sete byte [esi + 2]
cmovne ecx, edi
cmp eax, 0xa
setl byte [esi + 0x28]
cmovge ecx, edi
mov edx, 0x8e54957c
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov ebx, 0xcf24a79b
mov edi, 0x9ebc9f0d
nop dword [eax + eax]
cmp ebx, 0xcf24a79a
jg 0x519300
cmp ebx, 0x8e54957c
je 0x519332
cmp ebx, 0x9ebc9f0d
jne 0x5192e0
mov ebx, ecx
jmp 0x5192e0
cmp ebx, 0x7b3c50fc
je 0x519339
cmp ebx, 0xcf24a79b
jne 0x5192e0
movzx eax, byte [esi + 2]
movzx ebx, byte [esi + 0x28]
mov ah, bl
xor ah, al
test bl, bl
mov ebx, 0x8e54957c
cmovne ebx, edi
test al, al
cmove ebx, edx
test ah, ah
cmovne ebx, edi
jmp 0x5192e0
mov ebx, 0x9ebc9f0d
jmp 0x5192e0
mov eax, dword [0x599718]
mov edx, dword [0x59971c]
lea edi, [eax + 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete al
cmp edx, 0xa
setl cl
xor cl, al
mov ecx, 0xf69172e2
mov eax, 0xe3983b55
cmovne eax, ecx
cmp edi, 0xffffffff
sete byte [esi + 3]
cmovne ecx, eax
cmp edx, 0xa
setl byte [esi + 2]
cmovge ecx, eax
mov edi, 0x1251df4f
mov edx, 0xd4cb613a
nop dword [eax + eax]
cmp edi, 0xf69172e1
jg 0x5193b0
cmp edi, 0xd4cb613a
je 0x5193e1
cmp edi, 0xe3983b55
jne 0x519390
mov edi, 0xd4cb613a
jmp 0x519390
cmp edi, 0xf69172e2
je 0x5193e5
cmp edi, 0x1251df4f
jne 0x519390
movzx eax, byte [esi + 3]
mov ah, byte [esi + 2]
mov ebx, eax
xor bl, ah
mov ebx, 0xe3983b55
cmovne ebx, edx
test ah, ah
mov edi, ebx
cmovne edi, edx
test al, al
cmove edi, ebx
jmp 0x519390
mov edi, ecx
jmp 0x519390
mov eax, dword [esi + 4]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
mov eax, dword [ebp + 8]
mov byte [eax + 0x34], 1
movzx eax, byte [eax + 0x60]
mov byte [esi + 2], al
mov ecx, 0x3ea5a1a9
mov eax, 0x1bd5dbcd
nop word cs:[eax + eax]
cmp ecx, 0x1bd5dbcd
je 0x51a372
cmp ecx, 0x3ea5a1a9
je 0x519431
cmp ecx, 0xf948f147
jne 0x519410
jmp 0x51ae03
movzx ecx, byte [esi + 2]
not cl
or cl, 0xfe
cmp cl, 0xff
mov ecx, 0xf948f147
cmove ecx, eax
jmp 0x519410
mov dword [esi + 0x28], 5
mov eax, dword [esi + 0x28]
mov dword [esi + 0xe8], 0
lea ecx, [esi + 0x70]
push eax
push 0x586398
call fcn.004134d0
mov ecx, dword [0x599958]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x59995c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x5197aa
or cl, al
test cl, 1
je 0x5197aa
nop word [eax + eax]
jmp 0x5194a0
mov dword [esi + 0xe8], 0x21
mov ecx, dword [esi + 4]
lea eax, [esi + 0x70]
push eax
push 4
lea eax, [esi + 0x94]
push eax
call fcn.0051b9b0
mov eax, dword [0x599710]
mov ecx, dword [0x599714]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
mov edi, dword [esi + 4]
add edi, 0x44
test eax, edx
sete bl
sete byte [esi + 0x50]
mov edx, 0x7b3c50fc
mov eax, 0x8e54957c
cmove eax, edx
cmp ecx, 0xa
mov ecx, 0x8e54957c
cmovge eax, ecx
setl cl
setl byte [esi + 0x28]
xor cl, bl
cmovne eax, edx
mov edx, 0xcf24a79b
mov ecx, 0x9ebc9f0d
mov dword [esi + 4], edi
nop word [eax + eax]
cmp edx, 0xcf24a79a
jg 0x519550
cmp edx, 0x8e54957c
je 0x519585
cmp edx, 0x9ebc9f0d
jne 0x519520
mov edx, dword [edi + 8]
mov dword [esi + 0x18], edx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x10], xmm0
mov edx, eax
jmp 0x519520
cmp edx, 0x7b3c50fc
je 0x51959b
cmp edx, 0xcf24a79b
jne 0x519520
movzx ebx, byte [esi + 0x50]
movzx edx, byte [esi + 0x28]
mov dh, bl
xor dh, dl
mov edi, 0x8e54957c
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
mov edi, dword [esi + 4]
jmp 0x519520
mov edx, dword [edi + 8]
mov dword [esi + 0x18], edx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x10], xmm0
mov edx, 0x9ebc9f0d
jmp 0x519520
mov dword [esi + 0xe8], 0x22
lea eax, [esi + 0x10]
push 0
lea ecx, [esi + 0x94]
push ecx
push eax
push 0x65
lea eax, [esi + 0x50]
push eax
call fcn.0051b540
add esp, 0x14
mov dword [esi + 0xe8], 0x23
lea eax, [esi + 0xb0]
mov ecx, dword [esi + 8]
push eax
call fcn.0051c010
mov ecx, dword [0x599710]
mov eax, dword [0x599714]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete byte [esi + 2]
mov edi, 0x7b3c50fc
mov ecx, 0x8e54957c
cmove ecx, edi
sete bl
cmp eax, 0xa
setl byte [esi + 0x28]
mov edx, 0x8e54957c
cmovge ecx, edx
setl al
xor al, bl
cmovne ecx, edi
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov ebx, 0xcf24a79b
mov edi, 0x9ebc9f0d
nop
cmp ebx, 0xcf24a79a
jg 0x519650
cmp ebx, 0x8e54957c
je 0x519682
cmp ebx, 0x9ebc9f0d
jne 0x519630
mov ebx, ecx
jmp 0x519630
cmp ebx, 0x7b3c50fc
je 0x519689
cmp ebx, 0xcf24a79b
jne 0x519630
movzx eax, byte [esi + 2]
movzx ebx, byte [esi + 0x28]
mov ah, bl
xor ah, al
test bl, bl
mov ebx, 0x8e54957c
cmovne ebx, edi
test al, al
cmove ebx, edx
test ah, ah
cmovne ebx, edi
jmp 0x519630
mov ebx, 0x9ebc9f0d
jmp 0x519630
mov eax, dword [0x599718]
mov edx, dword [0x59971c]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
sete byte [esi + 3]
mov edi, 0xf69172e2
mov ecx, 0xe3983b55
cmove ecx, edi
cmp edx, 0xa
mov edx, 0xe3983b55
setl byte [esi + 2]
setl ah
cmovge ecx, edx
xor ah, al
cmovne ecx, edi
mov ebx, 0x1251df4f
mov edi, 0xd4cb613a
nop word [eax + eax]
cmp ebx, 0xf69172e1
jg 0x519700
cmp ebx, 0xd4cb613a
je 0x519736
cmp ebx, 0xe3983b55
jne 0x5196e0
mov ebx, 0xd4cb613a
jmp 0x5196e0
cmp ebx, 0xf69172e2
je 0x51973a
cmp ebx, 0x1251df4f
jne 0x5196e0
movzx edx, byte [esi + 3]
mov ah, byte [esi + 2]
mov al, dl
xor al, ah
test ah, ah
mov ebx, 0xe3983b55
cmovne ebx, edi
test dl, dl
mov edx, 0xe3983b55
cmove ebx, edx
test al, al
cmovne ebx, edi
jmp 0x5196e0
mov ebx, ecx
jmp 0x5196e0
mov eax, dword [esi + 4]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
mov eax, dword [ebp + 8]
mov byte [eax + 0x34], 1
movzx eax, byte [eax + 0x60]
mov byte [esi + 2], al
mov ecx, 0x3ea5a1a9
mov eax, 0x1bd5dbcd
nop dword [eax + eax]
cmp ecx, 0x1bd5dbcd
je 0x51a372
cmp ecx, 0x3ea5a1a9
je 0x519781
cmp ecx, 0xf948f147
jne 0x519760
jmp 0x51ae36
movzx ecx, byte [esi + 2]
mov edx, ecx
xor dl, 0xfe
test dl, cl
mov ecx, 0xf948f147
cmove ecx, eax
jmp 0x519760
mov eax, dword [esi + 0xac]
lea edi, [eax - 1]
imul edi, eax
and edi, 1
jmp 0x519177
mov dword [esi + 0xe8], 0x19
mov ecx, dword [esi + 4]
lea eax, [esi + 0x70]
push eax
push 0
lea eax, [esi + 0x94]
push eax
call fcn.0051b9b0
mov eax, dword [0x599710]
mov ecx, dword [0x599714]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x7b3c50fc
mov ebx, 0x8e54957c
cmovne ebx, eax
test edi, edx
sete byte [esi + 0x50]
cmovne eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x28]
cmovge eax, ebx
mov edi, dword [esi + 4]
add edi, 0x44
mov edx, 0xcf24a79b
mov ecx, 0x9ebc9f0d
mov dword [esi + 4], edi
nop
cmp edx, 0xcf24a79a
jg 0x519850
cmp edx, 0x8e54957c
je 0x519885
cmp edx, 0x9ebc9f0d
jne 0x519820
mov edx, dword [edi + 8]
mov dword [esi + 0x18], edx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x10], xmm0
mov edx, eax
jmp 0x519820
cmp edx, 0x7b3c50fc
je 0x51989b
cmp edx, 0xcf24a79b
jne 0x519820
movzx ebx, byte [esi + 0x50]
movzx edx, byte [esi + 0x28]
mov dh, bl
xor dh, dl
mov edi, 0x8e54957c
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
mov edi, dword [esi + 4]
jmp 0x519820
mov edx, dword [edi + 8]
mov dword [esi + 0x18], edx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x10], xmm0
mov edx, 0x9ebc9f0d
jmp 0x519820
mov dword [esi + 0xe8], 0x1a
lea eax, [esi + 0x10]
push 0
lea ecx, [esi + 0x94]
push ecx
push eax
push 0x65
lea eax, [esi + 0x50]
push eax
call fcn.0051b540
add esp, 0x14
mov dword [esi + 0xe8], 0x1b
lea eax, [esi + 0xb0]
mov ecx, dword [esi + 8]
push eax
call fcn.0051c010
mov ecx, dword [0x599710]
mov eax, dword [0x599714]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete byte [esi + 2]
mov edi, 0x7b3c50fc
mov ecx, 0x8e54957c
cmove ecx, edi
sete bl
cmp eax, 0xa
setl byte [esi + 0x28]
mov eax, 0x8e54957c
cmovge ecx, eax
setl al
xor al, bl
cmovne ecx, edi
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov ebx, 0xcf24a79b
mov edi, 0x9ebc9f0d
nop
cmp ebx, 0xcf24a79a
jg 0x519950
cmp ebx, 0x8e54957c
je 0x519986
cmp ebx, 0x9ebc9f0d
jne 0x519930
mov ebx, ecx
jmp 0x519930
cmp ebx, 0x7b3c50fc
je 0x51998d
cmp ebx, 0xcf24a79b
jne 0x519930
movzx edx, byte [esi + 2]
mov ah, byte [esi + 0x28]
mov al, dl
xor al, ah
test ah, ah
mov ebx, 0x8e54957c
cmovne ebx, edi
test dl, dl
mov edx, 0x8e54957c
cmove ebx, edx
test al, al
cmovne ebx, edi
jmp 0x519930
mov ebx, 0x9ebc9f0d
jmp 0x519930
mov eax, dword [0x599718]
mov edx, dword [0x59971c]
lea edi, [eax + 1]
imul edi, eax
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
sete al
cmp edx, 0xa
setl cl
xor cl, al
mov ecx, 0xf69172e2
mov eax, 0xe3983b55
cmovne eax, ecx
cmp edi, 0xffffffff
sete byte [esi + 3]
cmovne ecx, eax
cmp edx, 0xa
setl byte [esi + 2]
cmovge ecx, eax
mov edi, 0x1251df4f
mov edx, 0xd4cb613a
nop dword [eax]
cmp edi, 0xf69172e1
jg 0x519a00
cmp edi, 0xd4cb613a
je 0x519a31
cmp edi, 0xe3983b55
jne 0x5199e0
mov edi, 0xd4cb613a
jmp 0x5199e0
cmp edi, 0xf69172e2
je 0x519a35
cmp edi, 0x1251df4f
jne 0x5199e0
movzx eax, byte [esi + 3]
mov ah, byte [esi + 2]
mov ebx, eax
xor bl, ah
mov ebx, 0xe3983b55
cmovne ebx, edx
test ah, ah
mov edi, ebx
cmovne edi, edx
test al, al
cmove edi, ebx
jmp 0x5199e0
mov edi, ecx
jmp 0x5199e0
mov eax, dword [esi + 4]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
mov eax, dword [ebp + 8]
mov byte [eax + 0x34], 1
movzx eax, byte [eax + 0x60]
mov byte [esi + 2], al
mov ecx, 0x3ea5a1a9
mov eax, 0x1bd5dbcd
nop word cs:[eax + eax]
cmp ecx, 0x1bd5dbcd
je 0x51a372
cmp ecx, 0x3ea5a1a9
je 0x519a81
cmp ecx, 0xf948f147
jne 0x519a60
jmp 0x51ae69
movzx ecx, byte [esi + 2]
not cl
or cl, 0xfe
cmp cl, 0xff
mov ecx, 0xf948f147
cmove ecx, eax
jmp 0x519a60
mov bl, 1
jmp 0x51a39a
mov eax, dword [0x5974e8]
mov edx, dword [0x5974ec]
lea ecx, [eax + 1]
imul ecx, eax
mov ebx, ecx
xor ebx, 0xfffffffe
test ebx, ecx
sete al
cmp edx, 0xa
setl ah
xor ah, al
mov eax, 0x67a8215d
mov edi, 0xe2a1ad2c
cmovne edi, eax
test ebx, ecx
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [esi + 0x70], xmm0
sete byte [esi + 0x94]
mov dword [esi + 0x84], 0
mov dword [esi + 0x80], 0
cmovne eax, edi
cmp edx, 0xa
setl byte [esi + 0x50]
cmovge eax, edi
mov edi, 0x48a73950
mov edx, 0x255a5ce
nop dword [eax + eax]
cmp edi, 0x48a7394f
jg 0x519b2c
cmp edi, 0xe2a1ad2c
je 0x519b65
cmp edi, 0x255a5ce
jne 0x519b10
mov edi, eax
jmp 0x519b10
cmp edi, 0x67a8215d
je 0x519b6c
cmp edi, 0x48a73950
jne 0x519b10
movzx ecx, byte [esi + 0x94]
mov bh, byte [esi + 0x50]
mov bl, cl
xor bl, bh
test bh, bh
mov edi, 0xe2a1ad2c
cmovne edi, edx
test cl, cl
mov ecx, 0xe2a1ad2c
cmove edi, ecx
test bl, bl
cmovne edi, edx
jmp 0x519b10
mov edi, 0x255a5ce
jmp 0x519b10
mov dword [esi + 0x28], 5
mov eax, dword [esi + 0x28]
mov dword [esi + 0xe8], 0
lea ecx, [esi + 0x70]
push eax
push str.array
call fcn.004134d0
mov dword [esi + 0xe8], 0x11
mov ecx, dword [esi + 4]
lea eax, [esi + 0x70]
push eax
push 0xa
lea eax, [esi + 0x94]
push eax
call fcn.0051b9b0
mov eax, dword [0x599710]
mov ecx, dword [0x599714]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
add dword [esi + 4], 0x44
test eax, edx
sete bl
sete byte [esi + 0x50]
mov edx, 0x7b3c50fc
mov eax, 0x8e54957c
cmove eax, edx
cmp ecx, 0xa
mov ecx, 0x8e54957c
setl byte [esi + 0x28]
setl bh
cmovge eax, ecx
xor bh, bl
cmovne eax, edx
mov edi, 0xcf24a79b
mov edx, 0x9ebc9f0d
lea ecx, [esi + 0x50]
nop word cs:[eax + eax]
cmp edi, 0xcf24a79a
jg 0x519c2a
cmp edi, 0x8e54957c
je 0x519c61
cmp edi, 0x9ebc9f0d
jne 0x519c10
jmp 0x519c7a
cmp edi, 0x7b3c50fc
je 0x519c93
cmp edi, 0xcf24a79b
jne 0x519c10
movzx ebx, byte [esi + 0x50]
movzx ecx, byte [esi + 0x28]
mov bh, cl
xor bh, bl
test cl, cl
mov edi, 0x8e54957c
cmovne edi, edx
test bl, bl
mov ecx, 0x8e54957c
cmove edi, ecx
test bh, bh
cmovne edi, edx
jmp 0x519bfe
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
mov dword [esi + 0x18], ecx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x10], xmm0
mov edi, 0x9ebc9f0d
jmp 0x519bfe
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
mov dword [esi + 0x18], ecx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x10], xmm0
mov edi, eax
jmp 0x519bfe
mov dword [esi + 0xe8], 0x12
lea eax, [esi + 0x10]
push 0
lea edx, [esi + 0x94]
push edx
push eax
push 0x65
push ecx
call fcn.0051b540
add esp, 0x14
mov dword [esi + 0xe8], 0x13
lea eax, [esi + 0xb0]
mov ecx, dword [esi + 8]
push eax
call fcn.0051c010
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x59995c], 0xa
setl cl
or cl, al
mov byte [esi + 0xc], cl
mov eax, dword [0x599710]
mov dword [esi + 0x48], eax
mov eax, dword [0x599714]
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0x24], eax
je 0x51a3bd
mov eax, dword [esi + 0x48]
lea ebx, [eax - 1]
imul ebx, eax
mov eax, ebx
and eax, 1
sete al
mov edi, dword [esi + 8]
cmp edi, 0xa
setl cl
xor cl, al
mov edx, 0x7b3c50fc
mov eax, 0x8e54957c
cmovne eax, edx
and ebx, 1
sete byte [esi + 2]
cmovne edx, eax
cmp edi, 0xa
setl byte [esi + 0x28]
cmovge edx, eax
mov eax, 0xcf24a79b
nop word cs:[eax + eax]
cmp eax, 0xcf24a79a
jg 0x519d80
cmp eax, 0x8e54957c
je 0x519dbb
cmp eax, 0x9ebc9f0d
jne 0x519d60
mov eax, edx
jmp 0x519d60
cmp eax, 0x7b3c50fc
je 0x519dc2
cmp eax, 0xcf24a79b
jne 0x519d60
movzx ecx, byte [esi + 2]
movzx eax, byte [esi + 0x28]
mov ah, cl
xor ah, al
mov edi, 0x8e54957c
mov dword [esi + 4], ebx
mov ebx, 0x9ebc9f0d
cmovne edi, ebx
test al, al
mov eax, edi
cmovne eax, ebx
mov ebx, dword [esi + 4]
test cl, cl
cmove eax, edi
jmp 0x519d60
mov eax, 0x9ebc9f0d
jmp 0x519d60
cmp byte [esi + 0xc], 0
jne 0x519e66
test ebx, ebx
sete al
mov edx, dword [esi + 8]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x7b3c50fc
mov ecx, 0x8e54957c
cmovne ecx, eax
test ebx, ebx
sete byte [esi + 2]
cmovne eax, ecx
cmp edx, 0xa
setl byte [esi + 0x28]
cmovge eax, ecx
mov ecx, 0xcf24a79b
mov ebx, 0x9ebc9f0d
jmp 0x519e10
mov ecx, 0x9ebc9f0d
nop dword [eax]
cmp ecx, 0xcf24a79a
jg 0x519e30
cmp ecx, 0x8e54957c
je 0x519e08
cmp ecx, 0x9ebc9f0d
jne 0x519e10
mov ecx, eax
jmp 0x519e10
cmp ecx, 0x7b3c50fc
je 0x519d11
cmp ecx, 0xcf24a79b
jne 0x519e10
movzx edx, byte [esi + 2]
movzx ecx, byte [esi + 0x28]
mov ch, dl
xor ch, cl
mov edi, 0x8e54957c
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x519e10
mov eax, dword [0x599718]
mov ecx, dword [0x59971c]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0xf69172e2
mov edi, 0xe3983b55
cmovne edi, eax
cmp edx, 0xffffffff
sete byte [esi + 3]
cmovne eax, edi
cmp ecx, 0xa
setl byte [esi + 2]
cmovge eax, edi
mov edx, 0x1251df4f
mov ecx, 0xd4cb613a
nop word cs:[eax + eax]
cmp edx, 0xf69172e1
jg 0x519edf
cmp edx, 0xd4cb613a
je 0x519f11
cmp edx, 0xe3983b55
jne 0x519ec0
mov edx, 0xd4cb613a
jmp 0x519ec0
cmp edx, 0xf69172e2
je 0x519f15
cmp edx, 0x1251df4f
jne 0x519ec0
movzx ebx, byte [esi + 3]
movzx edx, byte [esi + 2]
mov dh, bl
xor dh, dl
mov edi, 0xe3983b55
cmovne edi, ecx
test dl, dl
mov edx, edi
cmovne edx, ecx
test bl, bl
cmove edx, edi
jmp 0x519ec0
mov edx, eax
jmp 0x519ec0
mov eax, dword [esi + 0x24]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
mov eax, dword [ebp + 8]
mov byte [eax + 0x34], 1
movzx eax, byte [eax + 0x60]
mov byte [esi + 2], al
mov ecx, 0x3ea5a1a9
mov eax, 0x1bd5dbcd
nop word cs:[eax + eax]
cmp ecx, 0x1bd5dbcd
je 0x51a372
cmp ecx, 0x3ea5a1a9
je 0x519f61
cmp ecx, 0xf948f147
jne 0x519f40
jmp 0x51ae9c
movzx ecx, byte [esi + 2]
mov edx, ecx
xor dl, 0xfe
test dl, cl
mov ecx, 0xf948f147
cmove ecx, eax
jmp 0x519f40
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x84], 0
mov dword [esi + 0x80], 0
mov eax, dword [0x5974e8]
mov ecx, dword [0x5974ec]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
sete byte [esi + 0x94]
mov edx, 0x67a8215d
mov eax, 0xe2a1ad2c
cmove eax, edx
cmp ecx, 0xa
mov ecx, 0xe2a1ad2c
setl byte [esi + 0x50]
setl bh
cmovge eax, ecx
xor bh, bl
cmovne eax, edx
mov edi, 0x48a73950
mov edx, 0x255a5ce
nop word cs:[eax + eax]
cmp edi, 0x48a7394f
jg 0x51a00c
cmp edi, 0xe2a1ad2c
je 0x51a045
cmp edi, 0x255a5ce
jne 0x519ff0
mov edi, eax
jmp 0x519ff0
cmp edi, 0x67a8215d
je 0x51a04c
cmp edi, 0x48a73950
jne 0x519ff0
movzx ecx, byte [esi + 0x94]
mov bh, byte [esi + 0x50]
mov bl, cl
xor bl, bh
test bh, bh
mov edi, 0xe2a1ad2c
cmovne edi, edx
test cl, cl
mov ecx, 0xe2a1ad2c
cmove edi, ecx
test bl, bl
cmovne edi, edx
jmp 0x519ff0
mov edi, 0x255a5ce
jmp 0x519ff0
mov dword [esi + 0x28], 0x10
mov eax, dword [esi + 0x28]
mov dword [esi + 0xe8], 0
lea ecx, [esi + 0x70]
push eax
push str.object_separator
call fcn.004134d0
mov dword [esi + 0xe8], 9
mov ecx, dword [esi + 4]
lea eax, [esi + 0x70]
push eax
push 0xc
lea eax, [esi + 0x94]
push eax
call fcn.0051b9b0
mov eax, dword [0x599710]
mov ecx, dword [0x599714]
lea edx, [eax + 1]
imul edx, eax
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
sete al
cmp ecx, 0xa
setl ah
xor ah, al
mov eax, 0x7b3c50fc
mov ebx, 0x8e54957c
cmovne ebx, eax
test edi, edx
sete byte [esi + 0x50]
cmovne eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x28]
cmovge eax, ebx
add dword [esi + 4], 0x44
mov edi, 0xcf24a79b
mov edx, 0x9ebc9f0d
lea ecx, [esi + 0x50]
nop word cs:[eax + eax]
cmp edi, 0xcf24a79a
jg 0x51a10a
cmp edi, 0x8e54957c
je 0x51a140
cmp edi, 0x9ebc9f0d
jne 0x51a0f0
jmp 0x51a159
cmp edi, 0x7b3c50fc
je 0x51a172
cmp edi, 0xcf24a79b
jne 0x51a0f0
movzx ecx, byte [esi + 0x50]
mov bh, byte [esi + 0x28]
mov bl, cl
xor bl, bh
test bh, bh
mov edi, 0x8e54957c
cmovne edi, edx
test cl, cl
mov ecx, 0x8e54957c
cmove edi, ecx
test bl, bl
cmovne edi, edx
jmp 0x51a0de
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
mov dword [esi + 0x18], ecx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x10], xmm0
mov edi, 0x9ebc9f0d
jmp 0x51a0de
mov edi, dword [esi + 4]
mov ecx, dword [edi + 8]
mov dword [esi + 0x18], ecx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x10], xmm0
mov edi, eax
jmp 0x51a0de
mov dword [esi + 0xe8], 0xa
lea eax, [esi + 0x10]
push 0
lea edx, [esi + 0x94]
push edx
push eax
push 0x65
push ecx
call fcn.0051b540
add esp, 0x14
mov dword [esi + 0xe8], 0xb
lea eax, [esi + 0xb0]
mov ecx, dword [esi + 8]
push eax
call fcn.0051c010
mov ecx, dword [0x599710]
mov eax, dword [0x599714]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete byte [esi + 2]
mov edi, 0x7b3c50fc
mov ecx, 0x8e54957c
cmove ecx, edi
sete bl
cmp eax, 0xa
setl byte [esi + 0x28]
mov edx, 0x8e54957c
cmovge ecx, edx
setl al
xor al, bl
cmovne ecx, edi
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov ebx, 0xcf24a79b
mov edi, 0x9ebc9f0d
nop word cs:[eax + eax]
cmp ebx, 0xcf24a79a
jg 0x51a22c
cmp ebx, 0x8e54957c
je 0x51a25e
cmp ebx, 0x9ebc9f0d
jne 0x51a210
mov ebx, ecx
jmp 0x51a210
cmp ebx, 0x7b3c50fc
je 0x51a265
cmp ebx, 0xcf24a79b
jne 0x51a210
movzx eax, byte [esi + 2]
movzx ebx, byte [esi + 0x28]
mov ah, bl
xor ah, al
test bl, bl
mov ebx, 0x8e54957c
cmovne ebx, edi
test al, al
cmove ebx, edx
test ah, ah
cmovne ebx, edi
jmp 0x51a210
mov ebx, 0x9ebc9f0d
jmp 0x51a210
mov eax, dword [0x599718]
mov edx, dword [0x59971c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
sete byte [esi + 3]
mov edi, 0xf69172e2
mov ecx, 0xe3983b55
cmove ecx, edi
cmp edx, 0xa
mov edx, 0xe3983b55
setl byte [esi + 2]
setl ah
cmovge ecx, edx
xor ah, al
cmovne ecx, edi
mov ebx, 0x1251df4f
mov edi, 0xd4cb613a
nop word cs:[eax + eax]
cmp ebx, 0xf69172e1
jg 0x51a2df
cmp ebx, 0xd4cb613a
je 0x51a315
cmp ebx, 0xe3983b55
jne 0x51a2c0
mov ebx, 0xd4cb613a
jmp 0x51a2c0
cmp ebx, 0xf69172e2
je 0x51a319
cmp ebx, 0x1251df4f
jne 0x51a2c0
movzx edx, byte [esi + 3]
mov ah, byte [esi + 2]
mov al, dl
xor al, ah
test ah, ah
mov ebx, 0xe3983b55
cmovne ebx, edi
test dl, dl
mov edx, 0xe3983b55
cmove ebx, edx
test al, al
cmovne ebx, edi
jmp 0x51a2c0
mov ebx, ecx
jmp 0x51a2c0
mov eax, dword [esi + 4]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
mov eax, dword [ebp + 8]
mov byte [eax + 0x34], 1
movzx eax, byte [eax + 0x60]
mov byte [esi + 2], al
mov ecx, 0x3ea5a1a9
mov eax, 0x1bd5dbcd
nop word [eax + eax]
cmp ecx, 0x1bd5dbcd
je 0x51a372
cmp ecx, 0x3ea5a1a9
je 0x51a35d
cmp ecx, 0xf948f147
jne 0x51a340
jmp 0x51aecf
movzx ecx, byte [esi + 2]
mov edx, ecx
xor dl, 0xfe
test dl, cl
mov ecx, 0xf948f147
cmove ecx, eax
jmp 0x51a340
lea ecx, [esi + 0xb0]
call fcn.0040e680
lea ecx, [esi + 0x50]
call fcn.0052e9c0
lea ecx, [esi + 0x94]
call fcn.0040e680
lea ecx, [esi + 0x70]
call fcn.0040e680
xor ebx, ebx
lea ecx, [esi + 0xc8]
call fcn.00465ef0
mov eax, dword [esi + 0xe0]
mov dword fs:[0], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov eax, dword [esi + 0x48]
lea ebx, [eax - 1]
imul ebx, eax
and ebx, 1
jmp 0x519dcc
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x59995c], 0xa
setl cl
xor ebx, ebx
test cl, al
jne 0x51a39a
xor cl, al
jne 0x51a39a
nop word [eax + eax]
jmp 0x51a400
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x59995c], 0xa
setl cl
test cl, al
jne 0x51a432
xor cl, al
jne 0x51a432
nop dword [eax]
jmp 0x51a430
lea ecx, [esi + 0x94]
push str.object_separator
call fcn.00413360
mov ecx, dword [0x599958]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x59995c], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x51a472
or cl, al
test cl, 1
je 0x51a472
nop dword [eax + eax]
jmp 0x51a470
mov dword [esi + 0xe8], 0x1d
mov ecx, dword [esi + 4]
lea eax, [esi + 0x94]
push eax
push 0xc
lea eax, [esi + 0x50]
push eax
call fcn.0051b9b0
lea edi, [esi + 0xb0]
mov ecx, dword [esi + 8]
push edi
call fcn.0051bf20
mov dword [esi + 0xe8], 0x1e
push 0
lea eax, [esi + 0x50]
push eax
push edi
push 0x65
lea eax, [esi + 0x28]
push eax
call fcn.0051b540
add esp, 0x14
mov dword [esi + 0xe8], 0x1f
mov ecx, dword [esi + 8]
lea eax, [esi + 0x70]
push eax
call fcn.0051c010
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x59995c], 0xa
setge cl
setl ah
xor ah, dl
mov edi, dword [esi + 8]
jne 0x51af02
or cl, al
jne 0x51af3a
jmp 0x51af02
lea ecx, [esi + 0x94]
push str.object
call fcn.00413360
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x59995c], 0xa
setl cl
test cl, al
jne 0x51a8b4
xor cl, al
jne 0x51a8b4
nop word cs:[eax + eax]
jmp 0x51a560
mov ecx, dword [0x599958]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x59995c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x51a65e
or cl, al
test cl, 1
je 0x51a65e
nop word cs:[eax + eax]
jmp 0x51a5a0
test cl, cl
je 0x51a65c
mov byte [esi + 0x10], 0x27
mov dword [esi + 0xe8], 0
mov ecx, dword [esi + 8]
lea eax, [esi + 0x94]
push eax
call fcn.0051c010
mov dword [esi + 0xe8], 1
lea eax, [esi + 0x10]
push eax
lea eax, [esi + 0x94]
push eax
push str.number_overflow_parsing_
lea eax, [esi + 0x50]
push eax
call fcn.00521e90
add esp, 0x10
mov dword [esi + 0xe8], 2
push 0
lea eax, [esi + 0x50]
push eax
push 0x196
lea eax, [esi + 0x28]
push eax
call fcn.00521b40
add esp, 0x10
mov dword [esi + 0xe8], 3
mov ecx, dword [esi + 8]
lea eax, [esi + 0x70]
push eax
call fcn.0051c010
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x59995c], 0xa
setl cl
test cl, al
mov edi, dword [esi + 8]
jne 0x51af94
xor cl, al
je 0x51afcb
jmp 0x51af94
jmp 0x51a65c
lea ecx, [esi + 0x94]
push str.object_key
call fcn.00413360
mov dword [esi + 0xe8], 0xd
mov ecx, dword [esi + 4]
lea eax, [esi + 0x94]
push eax
push 4
lea eax, [esi + 0x50]
push eax
call fcn.0051b9b0
lea edi, [esi + 0xb0]
mov ecx, dword [esi + 8]
push edi
call fcn.0051bf20
mov dword [esi + 0xe8], 0xe
push 0
lea eax, [esi + 0x50]
push eax
push edi
push 0x65
lea eax, [esi + 0x28]
push eax
call fcn.0051b540
add esp, 0x14
mov dword [esi + 0xe8], 0xf
mov ecx, dword [esi + 8]
lea eax, [esi + 0x70]
push eax
call fcn.0051c010
mov eax, dword [0x599958]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x59995c], 0xa
setge dl
mov ecx, edx
xor cl, al
or dl, al
xor dl, 1
or dl, cl
mov byte [esi + 0xac], dl
mov eax, dword [0x599710]
mov dword [esi + 0x24], eax
mov eax, dword [0x599714]
mov dword [esi + 8], eax
je 0x51adb3
mov eax, dword [esi + 0x24]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov dword [esi + 0x48], ecx
sete al
sete byte [esi + 3]
mov ecx, 0x7b3c50fc
mov edx, 0x8e54957c
cmove edx, ecx
cmp dword [esi + 8], 0xa
mov ebx, 0x8e54957c
cmovge edx, ebx
setl byte [esi + 2]
setl ah
xor ah, al
mov edi, dword [esi + 4]
lea eax, [edi + 0x44]
cmovne edx, ecx
mov ebx, 0xcf24a79b
cmp ebx, 0xcf24a79a
jg 0x51a789
cmp ebx, 0x8e54957c
je 0x51a7cd
cmp ebx, 0x9ebc9f0d
jne 0x51a75e
mov ecx, dword [eax + 8]
mov dword [esi + 0x18], ecx
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x10], xmm0
mov ebx, edx
jmp 0x51a75e
cmp ebx, 0x7b3c50fc
je 0x51a7e6
cmp ebx, 0xcf24a79b
jne 0x51a75e
movzx ecx, byte [esi + 3]
mov ch, byte [esi + 2]
mov ebx, ecx
xor bl, ch
mov edi, 0x8e54957c
mov ebx, 0x9ebc9f0d
cmovne edi, ebx
test ch, ch
mov ebx, edi
mov dword [esi + 0xc], eax
mov eax, 0x9ebc9f0d
cmovne ebx, eax
mov eax, dword [esi + 0xc]
test cl, cl
cmove ebx, edi
mov edi, dword [esi + 4]
jmp 0x51a75e
mov ecx, dword [eax + 8]
mov dword [esi + 0x18], ecx
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x10], xmm0
mov ebx, 0x9ebc9f0d
jmp 0x51a75e
cmp byte [esi + 0xac], 0
jne 0x51ab22
mov ebx, dword [esi + 0x48]
test ebx, ebx
sete al
mov edx, dword [esi + 8]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x7b3c50fc
mov ecx, 0x8e54957c
cmovne ecx, eax
test ebx, ebx
sete byte [esi + 3]
cmovne eax, ecx
cmp edx, 0xa
setl byte [esi + 2]
cmovge eax, ecx
add edi, 0x44
mov ebx, 0xcf24a79b
jmp 0x51a844
mov edx, dword [edi + 8]
mov dword [esi + 0x18], edx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x10], xmm0
mov ebx, 0x9ebc9f0d
cmp ebx, 0xcf24a79a
jg 0x51a86f
cmp ebx, 0x8e54957c
je 0x51a830
cmp ebx, 0x9ebc9f0d
jne 0x51a844
mov edx, dword [edi + 8]
mov dword [esi + 0x18], edx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x10], xmm0
mov ebx, eax
jmp 0x51a844
cmp ebx, 0x7b3c50fc
je 0x51a718
cmp ebx, 0xcf24a79b
jne 0x51a844
movzx edx, byte [esi + 3]
movzx ebx, byte [esi + 2]
mov dh, bl
xor dh, dl
test bl, bl
mov ebx, 0x8e54957c
mov ecx, 0x9ebc9f0d
cmovne ebx, ecx
test dl, dl
mov ecx, 0x8e54957c
cmove ebx, ecx
test dh, dh
mov ecx, 0x9ebc9f0d
cmovne ebx, ecx
jmp 0x51a844
mov dword [esi + 0xe8], 5
mov ecx, dword [esi + 4]
lea eax, [esi + 0x94]
push eax
push 0xb
lea eax, [esi + 0x50]
push eax
call fcn.0051b9b0
mov ecx, dword [0x599958]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x59995c], 0xa
setge ch
setl dl
xor dl, cl
or ch, al
xor ch, 1
or ch, dl
mov eax, dword [0x599710]
mov dword [esi + 0xac], eax
mov eax, dword [0x599714]
mov dword [esi + 0xc], eax
mov byte [esi + 0x23], ch
test ch, 1
je 0x51ab5c
mov eax, dword [esi + 0xac]
lea edi, [eax + 1]
imul edi, eax
mov eax, edi
and eax, 1
sete al
mov edx, dword [esi + 0xc]
cmp edx, 0xa
setl cl
xor cl, al
mov eax, 0x7b3c50fc
mov ecx, 0x8e54957c
cmovne ecx, eax
and edi, 1
sete byte [esi + 0x70]
cmovne eax, ecx
cmp edx, 0xa
setl byte [esi + 0x28]
cmovge eax, ecx
mov ecx, dword [esi + 4]
add ecx, 0x44
mov dword [esi + 0x48], ecx
mov ebx, 0xcf24a79b
cmp ebx, 0xcf24a79a
jg 0x51a99b
cmp ebx, 0x8e54957c
je 0x51a9dc
cmp ebx, 0x9ebc9f0d
jne 0x51a967
mov edx, dword [esi + 0x48]
mov ecx, dword [edx + 8]
mov dword [esi + 0xb8], ecx
vmovsd xmm0, qword [edx]
vmovsd qword [esi + 0xb0], xmm0
mov ebx, eax
jmp 0x51a967
cmp ebx, 0x7b3c50fc
je 0x51a9fe
cmp ebx, 0xcf24a79b
jne 0x51a967
movzx ecx, byte [esi + 0x70]
mov dh, byte [esi + 0x28]
mov dl, cl
xor dl, dh
test dh, dh
mov ebx, 0x8e54957c
mov dword [esi + 0x24], edi
mov edi, 0x9ebc9f0d
cmovne ebx, edi
test cl, cl
mov ecx, 0x8e54957c
cmove ebx, ecx
test dl, dl
cmovne ebx, edi
mov edi, dword [esi + 0x24]
jmp 0x51a967
mov edx, dword [esi + 0x48]
mov ecx, dword [edx + 8]
mov dword [esi + 0xb8], ecx
vmovsd xmm0, qword [edx]
vmovsd qword [esi + 0xb0], xmm0
mov ebx, 0x9ebc9f0d
jmp 0x51a967
test byte [esi + 0x23], 1
jne 0x51aad3
test edi, edi
sete byte [esi + 0x70]
sete al
mov ecx, 0x7b3c50fc
mov edi, 0x8e54957c
mov edx, 0x8e54957c
cmove edx, ecx
cmp dword [esi + 0xc], 0xa
setl ah
setl byte [esi + 0x28]
cmovge edx, edi
xor ah, al
mov eax, dword [esi + 4]
lea edi, [eax + 0x44]
cmovne edx, ecx
mov ebx, 0xcf24a79b
mov dword [esi + 0x48], edi
jmp 0x51aa60
mov eax, dword [edi + 8]
mov dword [esi + 0xb8], eax
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0xb0], xmm0
mov ebx, 0x9ebc9f0d
cmp ebx, 0xcf24a79a
jg 0x51aa91
cmp ebx, 0x8e54957c
je 0x51aa46
cmp ebx, 0x9ebc9f0d
jne 0x51aa60
mov eax, dword [edi + 8]
mov dword [esi + 0xb8], eax
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0xb0], xmm0
mov ebx, edx
jmp 0x51aa60
cmp ebx, 0x7b3c50fc
je 0x51a919
cmp ebx, 0xcf24a79b
jne 0x51aa60
movzx eax, byte [esi + 0x70]
mov ch, byte [esi + 0x28]
mov cl, al
xor cl, ch
test ch, ch
mov ebx, 0x8e54957c
mov edi, 0x9ebc9f0d
cmovne ebx, edi
test al, al
mov eax, 0x8e54957c
cmove ebx, eax
test cl, cl
cmovne ebx, edi
mov edi, dword [esi + 0x48]
jmp 0x51aa60
mov dword [esi + 0xe8], 6
lea eax, [esi + 0xb0]
push 0
lea ecx, [esi + 0x50]
push ecx
push eax
push 0x65
lea eax, [esi + 0x28]
push eax
call fcn.0051b540
add esp, 0x14
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x59995c], 0xa
setl cl
test cl, al
jne 0x51ab74
xor cl, al
jne 0x51ab74
jmp 0x51ab20
lea ecx, [esi + 0x10]
call fcn.0051c610
mov ecx, dword [0x599958]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x59995c], 0xa
setl dl
test dl, cl
jne 0x51ad93
xor dl, cl
jne 0x51ad93
jmp 0x51ab5a
mov ecx, dword [esi + 0xac]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
jmp 0x51aa08
mov dword [esi + 0xe8], 7
mov ecx, dword [esi + 8]
lea eax, [esi + 0x70]
push eax
call fcn.0051c010
mov eax, dword [0x599958]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x59995c], 0xa
setge dl
mov ecx, edx
xor cl, al
or dl, al
xor dl, 1
or dl, cl
mov byte [esi + 0x24], dl
mov eax, dword [0x599710]
mov dword [esi + 0xc], eax
mov eax, dword [0x599714]
mov dword [esi + 4], eax
je 0x51adee
mov ecx, dword [esi + 0xc]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
sete bl
sete byte [esi + 3]
mov ecx, 0x7b3c50fc
mov edx, 0x8e54957c
cmove edx, ecx
cmp dword [esi + 4], 0xa
setl byte [esi + 2]
mov eax, 0x8e54957c
cmovge edx, eax
setl bh
xor bh, bl
cmovne edx, ecx
mov ebx, 0xcf24a79b
cmp ebx, 0xcf24a79a
jg 0x51ac3d
cmp ebx, 0x8e54957c
je 0x51ac7e
cmp ebx, 0x9ebc9f0d
jne 0x51ac0f
mov ecx, dword [esi + 0x48]
mov eax, dword [ecx + 8]
mov dword [esi + 0x18], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x10], xmm0
mov ebx, edx
jmp 0x51ac0f
cmp ebx, 0x7b3c50fc
je 0x51ac9a
cmp ebx, 0xcf24a79b
jne 0x51ac0f
movzx ecx, byte [esi + 3]
mov ah, byte [esi + 2]
mov al, cl
xor al, ah
test ah, ah
mov ebx, 0x8e54957c
mov dword [esi + 8], edi
mov edi, 0x9ebc9f0d
cmovne ebx, edi
test cl, cl
mov ecx, 0x8e54957c
cmove ebx, ecx
test al, al
cmovne ebx, edi
mov edi, dword [esi + 8]
jmp 0x51ac0f
mov ecx, dword [esi + 0x48]
mov eax, dword [ecx + 8]
mov dword [esi + 0x18], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [esi + 0x10], xmm0
mov ebx, 0x9ebc9f0d
jmp 0x51ac0f
cmp byte [esi + 0x24], 0
jne 0x51ad60
test edi, edi
sete al
mov edx, dword [esi + 4]
cmp edx, 0xa
setl cl
xor cl, al
mov ebx, 0x7b3c50fc
mov ecx, 0x8e54957c
cmovne ecx, ebx
test edi, edi
sete byte [esi + 3]
mov eax, 0x8e54957c
cmovne ebx, ecx
cmp edx, 0xa
setl byte [esi + 2]
cmovge ebx, ecx
mov ecx, 0xcf24a79b
mov edi, 0x9ebc9f0d
jmp 0x51acfc
mov edx, dword [esi + 0x48]
mov ecx, dword [edx + 8]
mov dword [esi + 0x18], ecx
vmovsd xmm0, qword [edx]
vmovsd qword [esi + 0x10], xmm0
mov ecx, 0x9ebc9f0d
cmp ecx, 0xcf24a79a
jg 0x51ad2a
cmp ecx, 0x8e54957c
je 0x51ace5
cmp ecx, 0x9ebc9f0d
jne 0x51acfc
mov edx, dword [esi + 0x48]
mov ecx, dword [edx + 8]
mov dword [esi + 0x18], ecx
vmovsd xmm0, qword [edx]
vmovsd qword [esi + 0x10], xmm0
mov ecx, ebx
jmp 0x51acfc
cmp ecx, 0x7b3c50fc
je 0x51abce
cmp ecx, 0xcf24a79b
jne 0x51acfc
movzx edx, byte [esi + 3]
movzx ecx, byte [esi + 2]
mov dh, cl
xor dh, dl
test cl, cl
mov ecx, 0x8e54957c
cmovne ecx, edi
test dl, dl
cmove ecx, eax
test dh, dh
cmovne ecx, edi
jmp 0x51acfc
lea ecx, [esi + 0x10]
call fcn.0051c610
mov ecx, dword [0x599958]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x59995c], 0xa
setl dl
test dl, cl
jne 0x51adce
xor dl, cl
jne 0x51adce
jmp 0x51ad91
mov dword [esi + 0xe8], 0x10
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x28]
push edx
lea edx, [esi + 0x70]
push edx
push eax
call fcn.0051b4b0
jmp 0x51af6a
mov ecx, dword [esi + 0x24]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, eax
mov dword [esi + 0x48], ecx
mov edi, dword [esi + 4]
jmp 0x51a7f3
mov dword [esi + 0xe8], 8
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x28]
push edx
lea edx, [esi + 0x70]
push edx
push eax
call fcn.0051b4b0
jmp 0x51af6a
mov ecx, dword [esi + 0xc]
lea eax, [ecx + 1]
imul eax, ecx
mov edi, eax
xor edi, 0xfffffffe
and edi, eax
jmp 0x51aca4
lea edi, [esi + 0x28]
mov ecx, edi
lea eax, [esi + 0x50]
push eax
call fcn.00507520
mov dword [esi + 0x28], vtable.nlohmann::json_abi_v3_11_2::detail::parse_error.0
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x44], eax
mov dword [esi + 0xe8], 0x18
push 0x58cafc
push edi
call fcn.00560200
add esp, 8
lea edi, [esi + 0x28]
mov ecx, edi
lea eax, [esi + 0x50]
push eax
call fcn.00507520
mov dword [esi + 0x28], vtable.nlohmann::json_abi_v3_11_2::detail::parse_error.0
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x44], eax
mov dword [esi + 0xe8], 0x24
push 0x58cafc
push edi
call fcn.00560200
add esp, 8
lea edi, [esi + 0x28]
mov ecx, edi
lea eax, [esi + 0x50]
push eax
call fcn.00507520
mov dword [esi + 0x28], vtable.nlohmann::json_abi_v3_11_2::detail::parse_error.0
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x44], eax
mov dword [esi + 0xe8], 0x1c
push 0x58cafc
push edi
call fcn.00560200
add esp, 8
lea edi, [esi + 0x28]
mov ecx, edi
lea eax, [esi + 0x50]
push eax
call fcn.00507520
mov dword [esi + 0x28], vtable.nlohmann::json_abi_v3_11_2::detail::parse_error.0
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x44], eax
mov dword [esi + 0xe8], 0x14
push 0x58cafc
push edi
call fcn.00560200
add esp, 8
lea edi, [esi + 0x28]
mov ecx, edi
lea eax, [esi + 0x50]
push eax
call fcn.00507520
mov dword [esi + 0x28], vtable.nlohmann::json_abi_v3_11_2::detail::parse_error.0
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x44], eax
mov dword [esi + 0xe8], 0xc
push 0x58cafc
push edi
call fcn.00560200
add esp, 8
lea eax, [esi + 0x10]
mov ecx, edi
push eax
call fcn.0051bf20
mov eax, dword [0x599958]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x59995c], 0xa
setge cl
setl ah
xor ah, dl
jne 0x51af47
or cl, al
je 0x51af47
lea eax, [esi + 0x10]
mov ecx, edi
push eax
call fcn.0051bf20
jmp 0x51af02
lea ecx, [esi + 0x10]
call fcn.0051c610
mov dword [esi + 0xe8], 0x20
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x28]
push edx
lea edx, [esi + 0x70]
push edx
push eax
call fcn.0051b4b0
mov ebx, eax
lea ecx, [esi + 0x70]
call fcn.0040e680
lea ecx, [esi + 0x28]
call fcn.0052e9c0
lea ecx, [esi + 0x50]
call fcn.0040e680
lea ecx, [esi + 0x94]
call fcn.0040e680
jmp 0x51a39a
lea eax, [esi + 0xb0]
mov ecx, edi
push eax
call fcn.0051bf20
mov ecx, dword [0x599958]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x59995c], 0xa
setge cl
setl ch
xor ch, dl
jne 0x51afdb
or cl, al
test cl, 1
je 0x51afdb
lea eax, [esi + 0xb0]
mov ecx, edi
push eax
call fcn.0051bf20
jmp 0x51af94
lea ecx, [esi + 0xb0]
call fcn.0051c610
mov dword [esi + 0xe8], 4
mov ecx, dword [ebp + 8]
lea edx, [esi + 0x28]
push edx
lea edx, [esi + 0x70]
push edx
push eax
call fcn.00521ab0
jmp 0x51af6a