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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x130
mov esi, esp
mov dword [esi + 0x118], ebp
mov dword [esi + 4], ecx
mov dword [esi + 0x11c], esp
mov dword [esi + 0x128], 0xffffffff
lea eax, [esi + 0x120]
mov dword [esi + 0x124], 0x5ce290
mov ecx, dword fs:[0]
mov dword [esi + 0x120], ecx
mov dword fs:[0], eax
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
jne 0x53a419
xor cl, al
je 0x53a607
push eax
sub esp, 0xc
mov edi, esp
sub esp, 0x20
mov dword [esi + 0x70], esp
sub esp, 0x18
mov dword [esi + 0x80], esp
sub esp, 0x18
mov dword [esi + 0x84], esp
sub esp, 0xc
mov dword [esi + 0xc8], esp
sub esp, 0x18
mov dword [esi + 0x68], esp
sub esp, 0xc
mov dword [esi + 0xc4], esp
sub esp, 0x20
mov dword [esi + 0x44], esp
sub esp, 0x18
mov ebx, esp
sub esp, 0x18
mov dword [esi + 0x40], esp
sub esp, 0xc
mov dword [esi + 0xec], esp
sub esp, 0x18
mov dword [esi + 0x2c], esp
sub esp, 0xc
mov dword [esi + 0xf0], esp
push eax
mov dword [esi + 0x114], esp
push eax
mov dword [esi + 0x110], esp
sub esp, 0x1c
mov dword [esi + 0x88], esp
sub esp, 0x18
mov dword [esi + 0x5c], esp
push eax
mov dword [esi + 0xd0], esp
sub esp, 0x18
mov dword [esi + 0x60], esp
sub esp, 0x18
mov dword [esi + 0x50], esp
sub esp, 0xc
mov dword [esi + 0xf4], esp
sub esp, 0x20
mov dword [esi + 0xa0], esp
sub esp, 0x18
mov dword [esi + 0xa4], esp
sub esp, 0x18
mov dword [esi + 0xa8], esp
sub esp, 0xc
mov dword [esi + 0x104], esp
sub esp, 0x18
mov dword [esi + 0x9c], esp
sub esp, 0xc
mov dword [esi + 0xd4], esp
sub esp, 0x20
mov dword [esi + 0xb0], esp
sub esp, 0x18
mov dword [esi + 0xb4], esp
sub esp, 0x18
mov dword [esi + 0xb8], esp
sub esp, 0xc
mov dword [esi + 0x108], esp
sub esp, 0x18
mov dword [esi + 0xac], esp
sub esp, 0xc
mov dword [esi + 0x10c], esp
sub esp, 8
mov dword [esi + 8], esp
sub esp, 0x20
mov dword [esi + 0x90], esp
sub esp, 0x18
mov dword [esi + 0x94], esp
sub esp, 0x18
mov dword [esi + 0x98], esp
sub esp, 0xc
mov dword [esi + 0xfc], esp
sub esp, 0x18
mov dword [esi + 0x8c], esp
sub esp, 0xc
mov dword [esi + 0x100], esp
sub esp, 0x20
mov dword [esi + 0x74], esp
sub esp, 0x18
mov dword [esi + 0x78], esp
sub esp, 0x18
mov dword [esi + 0x7c], esp
sub esp, 0xc
mov dword [esi + 0xe8], esp
sub esp, 0x18
mov dword [esi + 0x6c], esp
sub esp, 0xc
mov dword [esi + 0xe4], esp
sub esp, 0x20
mov dword [esi + 0x3c], esp
sub esp, 0x18
mov dword [esi + 0x34], esp
sub esp, 0x18
mov dword [esi + 0x38], esp
sub esp, 0xc
mov dword [esi + 0xbc], esp
sub esp, 0x18
mov dword [esi + 0x28], esp
sub esp, 0xc
mov dword [esi + 0xc0], esp
sub esp, 0x20
mov dword [esi + 0x4c], esp
sub esp, 0x18
mov dword [esi + 0x54], esp
sub esp, 0x18
mov dword [esi + 0x58], esp
sub esp, 0xc
mov dword [esi + 0xf8], esp
sub esp, 0x18
mov dword [esi + 0x48], esp
sub esp, 0xc
mov dword [esi + 0xcc], esp
mov ecx, edi
call fcn.004a32c0
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setge cl
setl ch
xor ch, dl
jne 0x53a617
or cl, al
test cl, 1
je 0x53a617
push eax
sub esp, 0xc
mov ecx, esp
call fcn.004a32c0
jmp 0x53a419
mov dword [esi + 0x10], edi
mov ecx, dword [esi + 4]
lea eax, [ecx + 0x30]
mov dword [esi + 0x14], eax
lea eax, [ecx + 0x44]
mov dword [esi + 0xc], eax
lea eax, [ecx + 0x5c]
mov dword [esi + 0x64], eax
mov dword [esi + 0x30], ebx
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x28]
cmp eax, 6
jge 0x53a6b0
cmp eax, 3
jge 0x53a700
test eax, eax
jle 0x53b450
mov dword [esi + 0x128], 0
mov ecx, dword [ebp + 8]
cmp eax, 1
jne 0x53a947
push 1
call fcn.005421d0
mov ecx, dword [0x60cd70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete dl
cmp dword [0x60cd74], 0xa
setl cl
or cl, dl
test al, al
je 0x53b9ad
test cl, cl
mov edi, dword [esi + 0x10]
jne 0x53ac70
jmp 0x53b280
cmp eax, 9
mov edi, dword [esi + 0x60]
jae 0x53a770
cmp eax, 7
jae 0x53a820
mov eax, dword [esi + 4]
vmovsd xmm0, qword [eax + 0x78]
vmovsd qword [esi + 0x18], xmm0
mov dword [esi + 0x128], 0
mov ecx, dword [ebp + 8]
push 0
lea eax, [esi + 0x18]
push eax
lea eax, [esi + 0x20]
push eax
call fcn.00558d00
mov edi, dword [esi + 0x10]
jmp 0x53ac70
jne 0x53a85b
mov dword [esi + 0x20], 0
mov dword [esi + 0x128], 0
mov ecx, dword [ebp + 8]
push 0
lea eax, [esi + 0x20]
push eax
lea eax, [esi + 0x18]
push eax
call fcn.00558430
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setl ch
setge cl
cmp ch, dl
mov edi, dword [esi + 0x10]
jne 0x53ac70
or cl, al
test cl, 1
je 0x53ac70
jmp 0x53b270
cmp eax, 0xe
jae 0x53b32c
cmp eax, 0xa
jae 0x53b450
mov eax, dword [0x60cd70]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
jne 0x53a7ae
xor cl, al
je 0x53b260
mov dword [esi + 0x128], 0
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
call fcn.00540a20
test al, al
je 0x53b9b5
mov ecx, dword [esi + 4]
call fcn.00530470
cmp eax, 0xb
jne 0x53a98e
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setge cl
setl ch
xor ch, dl
jne 0x53a808
or cl, al
test cl, 1
jne 0x53b2a0
mov ecx, dword [ebp + 8]
call fcn.00540ba0
test al, al
mov edi, dword [esi + 0x10]
jne 0x53ac70
jmp 0x53b9b5
jne 0x53ab2f
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
jne 0x53b085
xor cl, al
je 0x53b0d6
jmp 0x53b085
cmp eax, 5
jae 0x53aba2
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
jne 0x53a890
xor cl, al
je 0x53b2f0
mov edx, dword [0x60cd78]
mov ecx, dword [0x60cd7c]
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, 0x1d054f1e
mov edi, 0xb51e73bd
cmovne edx, edi
cmp eax, 0xffffffff
sete byte [esi + 3]
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
setl byte [esi + 0x20]
cmovge eax, edx
mov ecx, 0x19c0c0c
nop dword [eax]
cmp ecx, 0x19c0c0b
jg 0x53a900
cmp ecx, 0xb111b02c
je 0x53a93c
cmp ecx, 0xb51e73bd
jne 0x53a8e0
jmp 0x53abfe
cmp ecx, 0x1d054f1e
je 0x53a940
cmp ecx, 0x19c0c0c
jne 0x53a8e0
movzx edx, byte [esi + 3]
movzx ecx, byte [esi + 0x20]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x1d054f1e
mov ebx, 0xb111b02c
cmovne ecx, ebx
test dl, dl
mov edi, 0x1d054f1e
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x53a8e0
mov ecx, eax
jmp 0x53a8e0
mov ecx, 0xb111b02c
jmp 0x53a8e0
push 0
call fcn.005421d0
test al, al
je 0x53b9b5
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
mov edi, dword [esi + 0x10]
jne 0x53ac70
xor cl, al
jne 0x53ac70
jmp 0x53b290
mov eax, dword [esi + 4]
cmp dword [eax + 0x28], 4
jne 0x53babb
mov edx, dword [0x60cd78]
mov ecx, dword [0x60cd7c]
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, 0x1d054f1e
mov ebx, 0xb51e73bd
cmovne edi, ebx
test edx, eax
sete byte [esi + 3]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x20]
cmovge eax, edi
mov ecx, 0x19c0c0c
nop word cs:[eax + eax]
cmp ecx, 0x19c0c0b
jg 0x53aa10
cmp ecx, 0xb111b02c
je 0x53aa47
cmp ecx, 0xb51e73bd
jne 0x53a9f0
jmp 0x53aa52
cmp ecx, 0x1d054f1e
je 0x53aa4b
cmp ecx, 0x19c0c0c
jne 0x53a9f0
movzx edx, byte [esi + 3]
movzx ecx, byte [esi + 0x20]
mov ch, dl
xor ch, cl
mov edi, 0x1d054f1e
mov ebx, 0xb111b02c
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x53a9f0
mov ecx, eax
jmp 0x53a9f0
mov ecx, 0xb111b02c
jmp 0x53a9f0
mov eax, dword [esi + 0x64]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x128], 0
mov ecx, dword [ebp + 8]
push eax
call fcn.00541490
mov ecx, dword [0x60cd70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x60cd74], 0xa
setl dl
test dl, cl
jne 0x53aa9a
xor dl, cl
je 0x53b2b0
test al, al
je 0x53b9b5
mov ecx, dword [esi + 4]
call fcn.00530470
cmp eax, 0xc
jne 0x53bb2e
mov eax, dword [esi + 0x114]
mov byte [eax], 0
mov ecx, dword [esi + 0x10]
push eax
call fcn.00540350
mov eax, dword [0x60cd70]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
jne 0x53aaf1
xor cl, al
je 0x53b2c0
mov ecx, dword [esi + 4]
call fcn.00530470
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x53a632
or cl, al
test cl, 1
je 0x53a632
jmp 0x53b2d0
mov dword [esi + 0x128], 0
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
call fcn.005415c0
mov edx, dword [0x60cd70]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete ah
cmp dword [0x60cd74], 0xa
setl dh
setge dl
cmp dh, ah
jne 0x53ab71
or dl, cl
test dl, 1
jne 0x53b310
test al, al
je 0x53b9b5
mov ecx, dword [esi + 4]
call fcn.00530470
cmp eax, 0xa
jne 0x53ac51
mov ecx, dword [ebp + 8]
call fcn.00541780
test al, al
mov edi, dword [esi + 0x10]
jne 0x53ac70
jmp 0x53b9b5
mov eax, dword [esi + 4]
vmovsd xmm0, qword [eax + 0x80]
vmovsd qword [esi + 0x18], xmm0
mov dword [esi + 0x128], 0
mov ecx, dword [ebp + 8]
push 0
lea eax, [esi + 0x18]
push eax
lea eax, [esi + 0x20]
push eax
call fcn.0055aa30
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
mov edi, dword [esi + 0x10]
jne 0x53ac70
xor cl, al
jne 0x53ac70
jmp 0x53b300
mov eax, dword [esi + 0x64]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x128], 0
mov ecx, dword [ebp + 8]
push 0
push eax
lea eax, [esi + 0x18]
push eax
call fcn.00559f30
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setge cl
setl ch
xor ch, dl
mov edi, dword [esi + 0x10]
jne 0x53ac70
or cl, al
test cl, 1
je 0x53ac70
jmp 0x53b320
mov eax, dword [esi + 0x110]
mov byte [eax], 1
mov ecx, dword [esi + 0x10]
push eax
call fcn.00540350
jmp 0x53a632
mov edx, dword [0x60b168]
mov ecx, dword [0x60b16c]
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, 0xa04afcb4
mov ebx, 0xade30e26
cmovne edx, ebx
cmp eax, 0xffffffff
sete byte [esi + 3]
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
setl byte [esi + 0x20]
mov ecx, dword [edi + 0xc]
mov dword [esi + 0xd8], ecx
cmovge eax, edx
mov edx, 0xb6c3b617
nop word cs:[eax + eax]
cmp edx, 0xb6c3b616
jg 0x53acf0
cmp edx, 0xa04afcb4
je 0x53ad31
cmp edx, 0xade30e26
jne 0x53acd0
jmp 0x53ad40
cmp edx, 0xc8a3d7be
je 0x53ad38
cmp edx, 0xb6c3b617
jne 0x53acd0
movzx ebx, byte [esi + 3]
movzx edx, byte [esi + 0x20]
mov bh, bl
xor bh, dl
test dl, dl
mov edx, 0xa04afcb4
mov ecx, 0xc8a3d7be
cmovne edx, ecx
test bl, bl
mov ecx, 0xa04afcb4
cmove edx, ecx
test bh, bh
mov ecx, 0xc8a3d7be
cmovne edx, ecx
jmp 0x53acd0
mov edx, 0xc8a3d7be
jmp 0x53acd0
mov edx, eax
jmp 0x53acd0
cmp dword [esi + 0xd8], 0
sete byte [esi + 0x18]
cmp byte [esi + 0x18], 0
jne 0x53b322
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60cd74], 0xa
setge cl
setl ah
xor ah, dl
jne 0x53ad90
or cl, al
jne 0x53adca
nop word cs:[eax + eax]
mov ecx, edi
mov ebx, dword [esi + 8]
push ebx
call fcn.00542300
mov eax, dword [ebx]
mov ecx, dword [0x60cd70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ecx, dword [ebx + 4]
mov eax, dword [eax]
sete dl
cmp dword [0x60cd74], 0xa
setl dh
test dh, dl
jne 0x53ade0
xor dh, dl
jne 0x53ade0
mov ecx, edi
push dword [esi + 8]
call fcn.00542300
jmp 0x53ad90
mov edx, 0xfffffffe
rol edx, cl
not eax
or eax, edx
mov dword [esi + 0x128], 0
cmp eax, 0xffffffff
je 0x53ae90
mov ecx, dword [esi + 4]
call fcn.00530470
cmp eax, 0xd
je 0x53af3f
mov eax, dword [esi + 4]
cmp dword [eax + 0x28], 0xa
jne 0x53b5c0
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60cd74], 0xa
setge cl
setl ah
xor ah, dl
jne 0x53ae4d
or cl, al
jne 0x53b240
mov ecx, dword [ebp + 8]
call fcn.00541780
test al, al
je 0x53b9b5
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
mov edi, dword [esi + 0x10]
jne 0x53af00
xor cl, al
je 0x53af36
jmp 0x53af00
mov ecx, dword [esi + 4]
call fcn.00530470
cmp eax, 0xd
je 0x53af4c
mov eax, dword [esi + 4]
cmp dword [eax + 0x28], 0xb
jne 0x53b7a9
mov ecx, dword [ebp + 8]
call fcn.00540ba0
mov ecx, dword [0x60cd70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete ah
setne cl
cmp dword [0x60cd74], 0xa
setl ch
setge dl
cmp ch, ah
jne 0x53aee8
or dl, cl
jne 0x53b250
test al, al
je 0x53b9b5
mov edi, dword [esi + 0x10]
mov ecx, edi
call fcn.00542800
jmp 0x53ac70
mov ecx, edi
call fcn.00542800
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
jne 0x53ac70
xor cl, al
jne 0x53ac70
mov ecx, edi
call fcn.00542800
jmp 0x53af00
mov ecx, dword [esi + 4]
call fcn.00530470
jmp 0x53a632
mov ecx, dword [esi + 4]
call fcn.00530470
cmp eax, 4
jne 0x53bc13
mov eax, dword [0x60cd78]
lea ecx, [eax + 1]
imul ecx, eax
mov edx, dword [0x60cd7c]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 3]
sete cl
mov eax, 0x1d054f1e
mov edi, 0xb51e73bd
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x20]
setl dl
mov ebx, 0x1d054f1e
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x19c0c0c
nop word cs:[eax + eax]
cmp ecx, 0x19c0c0b
jg 0x53afd0
cmp ecx, 0xb111b02c
je 0x53b00c
cmp ecx, 0xb51e73bd
jne 0x53afb0
jmp 0x53b017
cmp ecx, 0x1d054f1e
je 0x53b010
cmp ecx, 0x19c0c0c
jne 0x53afb0
movzx edx, byte [esi + 3]
movzx ecx, byte [esi + 0x20]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x1d054f1e
mov ebx, 0xb111b02c
cmovne ecx, ebx
test dl, dl
mov edi, 0x1d054f1e
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x53afb0
mov ecx, eax
jmp 0x53afb0
mov ecx, 0xb111b02c
jmp 0x53afb0
mov eax, dword [esi + 0x64]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x128], 0
mov ecx, dword [ebp + 8]
push eax
call fcn.00541490
mov ecx, dword [0x60cd70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete cl
cmp dword [0x60cd74], 0xa
setl dl
test dl, cl
jne 0x53b05f
xor dl, cl
je 0x53b2e0
test al, al
je 0x53b9b5
mov ecx, dword [esi + 4]
call fcn.00530470
cmp eax, 0xc
jne 0x53bca5
mov ecx, dword [esi + 4]
call fcn.00530470
jmp 0x53a632
mov eax, dword [esi + 4]
vmovsd xmm0, qword [eax + 0x88]
sub esp, 8
vmovsd qword [esi + 0xd8], xmm0
vmovsd qword [esp], xmm0
call fcn.00555c30
add esp, 8
mov ecx, dword [0x60cd70]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
sete ch
cmp dword [0x60cd74], 0xa
setge dl
setl dh
xor dh, ch
jne 0x53b0f3
or dl, cl
je 0x53b0f3
mov eax, dword [esi + 4]
vmovsd xmm0, qword [eax + 0x88]
sub esp, 8
vmovsd qword [esp], xmm0
call fcn.00555c30
add esp, 8
jmp 0x53b085
test eax, eax
jg 0x53b6ef
mov eax, dword [0x60cd78]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, dword [0x60cd7c]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete byte [esi + 3]
sete cl
mov eax, 0x1d054f1e
mov edi, 0xb51e73bd
cmove eax, edi
cmp edx, 0xa
setl byte [esi + 0x20]
setl dl
mov ebx, 0x1d054f1e
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
mov ecx, 0x19c0c0c
nop word cs:[eax + eax]
cmp ecx, 0x19c0c0b
jg 0x53b170
cmp ecx, 0xb111b02c
je 0x53b1ac
cmp ecx, 0xb51e73bd
jne 0x53b150
jmp 0x53b1b7
cmp ecx, 0x1d054f1e
je 0x53b1b0
cmp ecx, 0x19c0c0c
jne 0x53b150
movzx edx, byte [esi + 3]
movzx ecx, byte [esi + 0x20]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0x1d054f1e
mov ebx, 0xb111b02c
cmovne ecx, ebx
test dl, dl
mov edi, 0x1d054f1e
cmove ecx, edi
test dh, dh
cmovne ecx, ebx
jmp 0x53b150
mov ecx, eax
jmp 0x53b150
mov ecx, 0xb111b02c
jmp 0x53b150
mov eax, dword [esi + 0x64]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
vmovsd xmm0, qword [esi + 0xd8]
vmovsd qword [esi + 0x18], xmm0
mov dword [esi + 0x128], 0
mov ecx, dword [ebp + 8]
push 0
lea eax, [esi + 0x18]
push eax
lea eax, [esi + 0x20]
push eax
call fcn.00555f60
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x60cd74], 0xa
setl ah
setge cl
cmp ah, dl
mov edi, dword [esi + 0x10]
jne 0x53ac70
or cl, al
je 0x53ac70
nop word cs:[eax + eax]
jmp 0x53b230
jmp 0x53b240
jmp 0x53b250
jmp 0x53b260
jmp 0x53b270
jmp 0x53b280
jmp 0x53b290
jmp 0x53b2a0
jmp 0x53b2b0
jmp 0x53b2c0
jmp 0x53b2d0
jmp 0x53b2e0
jmp 0x53b2f0
jmp 0x53b300
jmp 0x53b310
jmp 0x53b320
mov al, 1
mov dword [esi + 8], eax
jmp 0x53b9bc
jne 0x53b450
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x60cd74], 0xa
setge al
setl ah
xor ah, dl
or al, cl
xor al, 1
or al, ah
test al, 1
je 0x53b368
mov dword [esi + 0x128], 0
jmp 0x53b36c
test al, 1
je 0x53b368
mov dword [esi + 0x128], 0
mov ecx, dword [esi + 0xa8]
push 0x5f74d8
call fcn.00413ae0
mov dword [esi + 0x128], 0x19
mov ecx, dword [esi + 4]
push dword [esi + 0xa8]
push 0
push dword [esi + 0xa4]
call fcn.0053cc90
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov edx, dword [esi + 0x104]
mov dword [edx + 8], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [edx], xmm0
mov dword [esi + 0x128], 0x1a
push 0
push dword [esi + 0xa4]
push edx
push 0x65
push dword [esi + 0xa0]
call fcn.0053c7a0
add esp, 0x14
mov dword [esi + 0x128], 0x1b
mov ecx, dword [esi + 0x14]
push dword [esi + 0x9c]
call fcn.0053d2d0
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x53b742
or cl, al
test cl, 1
je 0x53b742
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0xd4]
nop word cs:[eax + eax]
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [edx], xmm0
jmp 0x53b440
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne cl
cmp dword [0x60cd74], 0xa
setge al
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
je 0x53b490
mov dword [esi + 0x128], 0
jmp 0x53b494
test al, al
je 0x53b490
mov dword [esi + 0x128], 0
mov ecx, dword [esi + 0xb8]
push 0x5f74d8
call fcn.00413ae0
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60cd74], 0xa
setge cl
setl ah
xor ah, dl
jne 0x53b4e2
or cl, al
je 0x53b4e2
nop dword [eax + eax]
jmp 0x53b4e0
mov dword [esi + 0x128], 0x15
mov ecx, dword [esi + 4]
push dword [esi + 0xb8]
push 0x10
push dword [esi + 0xb4]
call fcn.0053cc90
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov edx, dword [esi + 0x108]
mov dword [edx + 8], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [edx], xmm0
mov dword [esi + 0x128], 0x16
push 0
push dword [esi + 0xb4]
push edx
push 0x65
push dword [esi + 0xb0]
call fcn.0053c7a0
add esp, 0x14
mov dword [esi + 0x128], 0x17
mov ecx, dword [esi + 0x14]
push dword [esi + 0xac]
call fcn.0053d2d0
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
mov ecx, dword [esi + 0x10c]
vmovsd qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ecx]
mov dword [esi + 0x128], 0x18
mov ecx, dword [ebp + 8]
push dword [esi + 0xb0]
push dword [esi + 0xac]
push eax
call fcn.0053c640
mov dword [esi + 8], eax
mov ecx, dword [esi + 0xac]
call fcn.0040f050
mov ecx, dword [esi + 0xb0]
call fcn.0054dd60
mov ecx, dword [esi + 0xb4]
call fcn.0040f050
mov ecx, dword [esi + 0xb8]
call fcn.0040f050
jmp 0x53b9bc
mov ecx, dword [esi + 0x98]
push str.array
call fcn.00413ae0
mov dword [esi + 0x128], 0x11
mov ecx, dword [esi + 4]
push dword [esi + 0x98]
push 0xa
push dword [esi + 0x94]
call fcn.0053cc90
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x60cd74], 0xa
setl al
or al, cl
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0x90]
mov ebx, dword [esi + 0xfc]
je 0x53b632
mov eax, dword [edx + 8]
mov dword [ebx + 8], eax
vmovsd xmm0, qword [edx]
vmovsd qword [ebx], xmm0
jmp 0x53b652
mov ecx, dword [edx + 8]
mov dword [ebx + 8], ecx
vmovsd xmm0, qword [edx]
vmovsd qword [ebx], xmm0
vmovsd xmm0, qword [edx]
vmovsd qword [ebx], xmm0
mov ecx, dword [edx + 8]
mov dword [ebx + 8], ecx
test al, al
je 0x53b632
mov dword [esi + 0x128], 0x12
push 0
push dword [esi + 0x94]
push ebx
push 0x65
push edi
call fcn.0053c7a0
add esp, 0x14
mov dword [esi + 0x128], 0x13
mov ecx, dword [esi + 0x14]
push dword [esi + 0x8c]
call fcn.0053d2d0
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
mov ecx, dword [esi + 0x100]
vmovsd qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ecx]
mov dword [esi + 0x128], 0x14
mov ecx, dword [ebp + 8]
push dword [esi + 0x90]
push dword [esi + 0x8c]
push eax
call fcn.0053c640
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x8c]
call fcn.0040f050
mov ecx, dword [esi + 0x90]
call fcn.0054dd60
mov ecx, dword [esi + 0x94]
call fcn.0040f050
mov ecx, dword [esi + 0x98]
jmp 0x53b5b6
mov eax, dword [esi + 0xd0]
mov byte [eax], 0x27
mov dword [esi + 0x128], 0
mov ecx, dword [esi + 0x14]
push edi
call fcn.0053d2d0
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x53b870
or cl, al
test cl, 1
je 0x53b870
nop dword [eax]
jmp 0x53b740
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
mov ecx, dword [esi + 0xd4]
vmovsd qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ecx]
mov dword [esi + 0x128], 0x1c
mov ecx, dword [ebp + 8]
push dword [esi + 0xa0]
push dword [esi + 0x9c]
push eax
call fcn.0053c640
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x9c]
call fcn.0040f050
mov ecx, dword [esi + 0xa0]
call fcn.0054dd60
mov ecx, dword [esi + 0xa4]
call fcn.0040f050
mov ecx, dword [esi + 0xa8]
jmp 0x53b5b6
mov ecx, dword [esi + 0x58]
push str.object
call fcn.00413ae0
mov dword [esi + 0x128], 5
mov ecx, dword [esi + 4]
push dword [esi + 0x58]
push 0xb
push dword [esi + 0x54]
call fcn.0053cc90
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov edx, dword [esi + 0xf8]
mov dword [edx + 8], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [edx], xmm0
mov dword [esi + 0x128], 6
push 0
push dword [esi + 0x54]
push edx
push 0x65
push dword [esi + 0x4c]
call fcn.0053c7a0
add esp, 0x14
mov dword [esi + 0x128], 7
mov ecx, dword [esi + 0x14]
push dword [esi + 0x48]
call fcn.0053d2d0
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
mov edx, dword [esi + 0xc]
jne 0x53b93f
xor cl, al
jne 0x53b93f
mov ecx, dword [esi + 0xcc]
nop word cs:[eax + eax]
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
vmovsd xmm0, qword [edx]
vmovsd qword [ecx], xmm0
jmp 0x53b860
mov dword [esi + 0x128], 1
push dword [esi + 0xd0]
push dword [esi + 0x60]
push str.number_overflow_parsing_
push dword [esi + 0x5c]
call fcn.00541f90
add esp, 0x10
mov dword [esi + 0x128], 2
push 0
push dword [esi + 0x5c]
push 0x196
push dword [esi + 0x88]
call fcn.00541c80
add esp, 0x10
mov dword [esi + 0x128], 3
mov ecx, dword [esi + 0x14]
push dword [esi + 0x50]
call fcn.0053d2d0
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
mov ecx, dword [esi + 0xf4]
vmovsd qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ecx]
mov dword [esi + 0x128], 4
mov ecx, dword [ebp + 8]
push dword [esi + 0x88]
push dword [esi + 0x50]
push eax
call fcn.00541b80
mov dword [esi + 8], eax
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
mov edi, dword [esi + 0x88]
mov ebx, dword [esi + 0x50]
jne 0x53bfc4
xor cl, al
je 0x53c015
jmp 0x53bfc4
vmovsd xmm0, qword [edx]
mov ecx, dword [esi + 0xcc]
vmovsd qword [ecx], xmm0
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [ecx]
mov dword [esi + 0x128], 8
mov ecx, dword [ebp + 8]
push dword [esi + 0x4c]
push dword [esi + 0x48]
push eax
call fcn.0053c640
mov dword [esi + 8], eax
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setl ch
setge cl
cmp ch, dl
mov edi, dword [esi + 0x4c]
mov ebx, dword [esi + 0x48]
jne 0x53c035
or cl, al
test cl, 1
jne 0x53c08a
jmp 0x53c035
test cl, cl
je 0x53bab9
mov dword [esi + 8], 0
mov eax, dword [0x60ac58]
mov ecx, dword [0x60ac5c]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esi + 0x20]
cmp ecx, 0xa
setl byte [esi + 0x18]
mov eax, 0x53d83449
mov edi, 0x6ef5bed2
mov ebx, 0xdcbd43c7
nop
cmp eax, 0x53d83448
jg 0x53ba10
cmp eax, 0xdcbd43c7
je 0x53ba50
cmp eax, 0x7c7c9d1
jne 0x53b9f0
jmp 0x53baa0
cmp eax, 0x6ef5bed2
je 0x53ba40
cmp eax, 0x53d83449
jne 0x53b9f0
movzx ecx, byte [esi + 0x20]
movzx eax, byte [esi + 0x18]
mov edx, ecx
xor dl, al
test al, al
mov eax, 0x6ef5bed2
cmovne eax, ebx
test cl, cl
cmove eax, edi
test dl, dl
cmovne eax, ebx
jmp 0x53b9f0
mov ecx, dword [esi + 0x10]
call fcn.00482af0
mov eax, 0xdcbd43c7
jmp 0x53b9f0
mov ecx, dword [esi + 0x10]
call fcn.00482af0
mov edx, dword [0x60ac58]
mov ecx, dword [0x60ac5c]
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 ebx, 0x6ef5bed2
mov edi, 0x7c7c9d1
cmovne ebx, edi
test edx, eax
mov eax, ebx
cmove eax, edi
mov edi, 0x6ef5bed2
cmp ecx, 0xa
cmovge eax, ebx
jmp 0x53b9ea
mov eax, dword [esi + 0x120]
mov dword fs:[0], eax
mov eax, dword [esi + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
jmp 0x53bab9
mov ecx, dword [esi + 0x84]
push str.object_key
call fcn.00413ae0
mov dword [esi + 0x128], 0x21
mov ecx, dword [esi + 4]
push dword [esi + 0x84]
push 4
push dword [esi + 0x80]
call fcn.0053cc90
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x60cd74], 0xa
setl al
or al, cl
je 0x53bcd8
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov edi, dword [esi + 0xc8]
mov dword [edi + 8], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [edi], xmm0
jmp 0x53bd01
mov ecx, dword [esi + 0x40]
push str.object_separator
call fcn.00413ae0
mov eax, dword [esi + 0x30]
mov dword [esi + 0x128], 0x1d
mov ecx, dword [esi + 4]
push dword [esi + 0x40]
push 0xc
push eax
call fcn.0053cc90
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov edx, dword [esi + 0xec]
mov dword [edx + 8], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [edx], xmm0
mov dword [esi + 0x128], 0x1e
push 0
push dword [esi + 0x30]
push edx
push 0x65
push dword [esi + 0x44]
call fcn.0053c7a0
add esp, 0x14
mov dword [esi + 0x128], 0x1f
mov ecx, dword [esi + 0x14]
push dword [esi + 0x2c]
call fcn.0053d2d0
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
mov ecx, dword [esi + 0xf0]
vmovsd qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ecx]
mov dword [esi + 0x128], 0x20
mov ecx, dword [ebp + 8]
push dword [esi + 0x44]
push dword [esi + 0x2c]
push eax
call fcn.0053c640
mov dword [esi + 8], eax
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setge dh
setl ch
xor ch, dl
mov ebx, dword [esi + 0x40]
mov edi, dword [esi + 0x30]
mov ecx, dword [esi + 0x2c]
jne 0x53c0aa
or dh, al
test dh, 1
jne 0x53c0fd
jmp 0x53c0aa
mov ecx, dword [esi + 0x7c]
push str.object_key
call fcn.00413ae0
mov dword [esi + 0x128], 0xd
mov ecx, dword [esi + 4]
push dword [esi + 0x7c]
push 4
push dword [esi + 0x78]
call fcn.0053cc90
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov edx, dword [esi + 0xe8]
mov dword [edx + 8], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [edx], xmm0
mov dword [esi + 0x128], 0xe
push 0
push dword [esi + 0x78]
push edx
push 0x65
push dword [esi + 0x74]
call fcn.0053c7a0
add esp, 0x14
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x60cd74], 0xa
setge cl
setl ah
xor ah, dl
jne 0x53bda9
or cl, al
je 0x53bda9
jmp 0x53bca3
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setge cl
setl ch
xor ch, dl
jne 0x53be13
or cl, al
test cl, 1
je 0x53be13
jmp 0x53bcd6
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0xc8]
mov ecx, dword [edx + 8]
mov dword [edi + 8], ecx
vmovsd xmm0, qword [edx]
vmovsd qword [edi], xmm0
vmovsd xmm0, qword [edx]
vmovsd qword [edi], xmm0
mov ecx, dword [edx + 8]
mov dword [edi + 8], ecx
test al, al
je 0x53bce1
mov dword [esi + 0x128], 0x22
push 0
push dword [esi + 0x80]
push edi
push 0x65
push dword [esi + 0x70]
call fcn.0053c7a0
add esp, 0x14
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
jne 0x53bd4b
xor cl, al
jne 0x53bd4b
jmp 0x53bd49
mov dword [esi + 0x128], 0x23
mov ecx, dword [esi + 0x14]
push dword [esi + 0x68]
call fcn.0053d2d0
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov edx, dword [esi + 0xc4]
mov dword [edx + 8], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [edx], xmm0
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
jne 0x53be76
xor cl, al
jne 0x53be76
jmp 0x53bda7
mov dword [esi + 0x128], 0xf
mov ecx, dword [esi + 0x14]
push dword [esi + 0x6c]
call fcn.0053d2d0
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [eax]
mov ecx, dword [esi + 0xe4]
vmovsd qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ecx]
mov dword [esi + 0x128], 0x10
mov ecx, dword [ebp + 8]
push dword [esi + 0x74]
push dword [esi + 0x6c]
push eax
call fcn.0053c640
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x6c]
call fcn.0040f050
mov ecx, dword [esi + 0x74]
call fcn.0054dd60
mov ecx, dword [esi + 0x78]
call fcn.0040f050
mov ecx, dword [esi + 0x7c]
jmp 0x53b5b6
mov ecx, dword [esi + 0x38]
push str.object_separator
call fcn.00413ae0
mov dword [esi + 0x128], 9
mov ecx, dword [esi + 4]
push dword [esi + 0x38]
push 0xc
push dword [esi + 0x34]
call fcn.0053cc90
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
cmp dword [0x60cd74], 0xa
setl al
or al, cl
je 0x53bec0
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov edi, dword [esi + 0xbc]
mov dword [edi + 8], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [edi], xmm0
jmp 0x53bee9
mov eax, dword [esi + 0xc4]
mov eax, dword [eax]
mov dword [esi + 0x128], 0x24
mov ecx, dword [ebp + 8]
push dword [esi + 0x70]
push dword [esi + 0x68]
push eax
call fcn.0053c640
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x68]
call fcn.0040f050
mov ecx, dword [esi + 0x70]
call fcn.0054dd60
mov ecx, dword [esi + 0x80]
call fcn.0040f050
mov ecx, dword [esi + 0x84]
jmp 0x53b5b6
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0xbc]
mov ecx, dword [edx + 8]
mov dword [edi + 8], ecx
vmovsd xmm0, qword [edx]
vmovsd qword [edi], xmm0
vmovsd xmm0, qword [edx]
vmovsd qword [edi], xmm0
mov ecx, dword [edx + 8]
mov dword [edi + 8], ecx
test al, al
je 0x53bec9
mov dword [esi + 0x128], 0xa
push 0
push dword [esi + 0x34]
push edi
push 0x65
push dword [esi + 0x3c]
call fcn.0053c7a0
add esp, 0x14
mov dword [esi + 0x128], 0xb
mov ecx, dword [esi + 0x14]
push dword [esi + 0x28]
call fcn.0053d2d0
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 8]
mov edx, dword [esi + 0xc0]
mov dword [edx + 8], eax
vmovsd xmm0, qword [ecx]
vmovsd qword [edx], xmm0
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x60cd74], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x53bf61
or cl, al
je 0x53bf61
jmp 0x53bf5f
mov eax, dword [esi + 0xc0]
mov eax, dword [eax]
mov dword [esi + 0x128], 0xc
mov ecx, dword [ebp + 8]
push dword [esi + 0x3c]
push dword [esi + 0x28]
push eax
call fcn.0053c640
mov dword [esi + 8], eax
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setl ch
setge dh
cmp ch, dl
mov ebx, dword [esi + 0x38]
mov edi, dword [esi + 0x34]
mov ecx, dword [esi + 0x28]
jne 0x53c11d
or dh, al
test dh, 1
jne 0x53c172
jmp 0x53c11d
mov ecx, ebx
call fcn.0040f050
mov ecx, edi
call fcn.0054dd60
mov ecx, dword [esi + 0x5c]
call fcn.0040f050
mov ecx, dword [esi + 0x60]
call fcn.0040f050
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
jne 0x53b9bc
xor cl, al
mov ebx, dword [esi + 0x50]
jne 0x53b9bc
mov ecx, ebx
call fcn.0040f050
mov ecx, edi
call fcn.0054dd60
mov ecx, dword [esi + 0x5c]
call fcn.0040f050
mov ecx, dword [esi + 0x60]
call fcn.0040f050
jmp 0x53bfc4
mov ecx, ebx
call fcn.0040f050
mov ecx, edi
call fcn.0054dd60
mov ecx, dword [esi + 0x54]
call fcn.0040f050
mov ecx, dword [esi + 0x58]
call fcn.0040f050
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setl ch
setge cl
cmp ch, dl
jne 0x53b9bc
or cl, al
test cl, 1
mov edi, dword [esi + 0x4c]
mov ebx, dword [esi + 0x48]
je 0x53b9bc
mov ecx, ebx
call fcn.0040f050
mov ecx, edi
call fcn.0054dd60
mov ecx, dword [esi + 0x54]
call fcn.0040f050
mov ecx, dword [esi + 0x58]
call fcn.0040f050
jmp 0x53c035
call fcn.0040f050
mov ecx, dword [esi + 0x44]
call fcn.0054dd60
mov ecx, edi
call fcn.0040f050
mov ecx, ebx
call fcn.0040f050
mov eax, dword [0x60cd70]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x60cd74], 0xa
setl cl
test cl, al
jne 0x53b9bc
xor cl, al
mov ecx, dword [esi + 0x2c]
mov ebx, dword [esi + 0x40]
mov edi, dword [esi + 0x30]
jne 0x53b9bc
call fcn.0040f050
mov ecx, dword [esi + 0x44]
call fcn.0054dd60
mov ecx, edi
call fcn.0040f050
mov ecx, ebx
call fcn.0040f050
mov ecx, dword [esi + 0x2c]
jmp 0x53c0aa
call fcn.0040f050
mov ecx, dword [esi + 0x3c]
call fcn.0054dd60
mov ecx, edi
call fcn.0040f050
mov ecx, ebx
call fcn.0040f050
mov ecx, dword [0x60cd70]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete dl
cmp dword [0x60cd74], 0xa
setge cl
setl ch
xor ch, dl
jne 0x53b9bc
or cl, al
test cl, 1
mov ecx, dword [esi + 0x28]
mov ebx, dword [esi + 0x38]
mov edi, dword [esi + 0x34]
je 0x53b9bc
call fcn.0040f050
mov ecx, dword [esi + 0x3c]
call fcn.0054dd60
mov ecx, edi
call fcn.0040f050
mov ecx, ebx
call fcn.0040f050
mov ecx, dword [esi + 0x28]
jmp 0x53c11d