Function at 0x4534d0
Capabilities:
Parse credit card information

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff0
push dword [edi - 4]
mov eax, edi
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x16c
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xf8], edi
mov edi, ecx
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
movq xmm3, qword [ebp - 0xe8]
mov dword [ebp - 0x110], eax
movq qword [ebp - 0xb0], xmm3
mov ecx, dword [ebp - 0xac]
movq qword [ebp - 0xb8], xmm3
mov dword [ebp - 0x108], ecx
mov ecx, dword [edi]
mov dword [ebp - 0x10c], edx
mov ebx, dword [ecx + 0x14]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x114], edx
mov dword [ebp - 0xe8], ecx
cmp ebx, 0x3f
je 0x453930
cmp ebx, 0x21
je 0x4538f0
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
cmp ebx, esi
je 0x4536f2
mov eax, esi
jmp 0x45357f
add eax, 0xc
cmp ebx, eax
je 0x4535c6
cmp dword [eax + 8], 0xc7
jne 0x453578
mov ecx, dword [ebp - 0xe8]
movq xmm6, qword [eax]
lea edx, [ebp - 0x48]
mov ecx, dword [ecx + 0x60]
movq qword [ebp - 0x48], xmm6
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x9f
call dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
mov dword [ebp - 0xe8], eax
cmp esi, ebx
je 0x4536f2
mov edx, esi
mov eax, esi
jmp 0x4535db
add eax, 0xc
cmp ebx, eax
je 0x4537d0
cmp dword [eax + 8], 0xaf
jne 0x4535d0
jmp 0x4535f7
add edx, 0xc
cmp ebx, edx
je 0x453618
cmp dword [edx + 8], 0xe8
jne 0x4535f0
test eax, eax
je 0x453618
cmp eax, edx
jae 0x453618
cmp byte [edi + 0x10], 0
je 0x453720
lea esi, [esi]
mov edx, esi
mov eax, esi
jmp 0x45362b
add eax, 0xc
cmp ebx, eax
je 0x4537c0
cmp dword [eax + 8], 0xe3
jne 0x453620
jmp 0x453647
add edx, 0xc
cmp ebx, edx
je 0x453668
cmp dword [edx + 8], 0xe8
jne 0x453640
cmp eax, edx
jae 0x453668
test eax, eax
je 0x453668
cmp byte [edi + 0x10], 0
je 0x453770
lea esi, [esi]
mov eax, esi
jmp 0x453677
add eax, 0xc
cmp ebx, eax
je 0x4536f2
cmp dword [eax + 8], 0x21
jne 0x453670
mov ecx, dword [ebp - 0xe8]
cmp byte [ecx + 0x6d], 0
je 0x4536c8
cmp byte [edi + 0x10], 0
jne 0x453de0
cmp byte [edi + 0x1c], 0
jne 0x4545d0
mov eax, dword [ecx + 0x14]
cmp eax, 0x5b
jg 0x45396c
cmp eax, 0x27
jle case.0x453719.41
sub eax, 0x28
cmp eax, 0x33
ja case.0x453719.41
jmp dword [eax*4 + 0x589b60]
mov ecx, dword [ecx + 0x60]
movq xmm7, qword [eax]
lea edx, [ebp - 0x48]
mov eax, dword [ecx]
movq qword [ebp - 0x48], xmm7
mov dword [esp + 4], edx
mov dword [esp], 0x11f
call dword [eax + 8]
mov eax, dword [edi]
sub esp, 8
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x14]
cmp ecx, 0x5b
jg 0x4537e0
cmp ecx, 0x27
jle case.0x453719.41
sub ecx, 0x28
cmp ecx, 0x33
ja case.0x453719.41
jmp dword [ecx*4 + 0x589c30]
mov esi, dword [ebp - 0xe8]
movd xmm1, dword [edx + 4]
lea edx, [ebp - 0x48]
movd xmm0, dword [eax]
mov ecx, dword [esi + 0x60]
punpckldq xmm0, xmm1
mov eax, dword [ecx]
movq qword [ebp - 0x48], xmm0
mov dword [esp + 4], edx
mov dword [esp], 0x12
call dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
mov dword [ebp - 0xe8], eax
cmp ebx, esi
jne 0x453618
jmp 0x4536f2
mov esi, dword [ebp - 0xe8]
movd xmm1, dword [edx + 4]
lea edx, [ebp - 0x48]
movd xmm0, dword [eax]
mov ecx, dword [esi + 0x60]
punpckldq xmm0, xmm1
mov eax, dword [ecx]
movq qword [ebp - 0x48], xmm0
mov dword [esp + 4], edx
mov dword [esp], 0x105
call dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
mov dword [ebp - 0xe8], eax
cmp ebx, esi
jne 0x453668
jmp 0x4536f2
xor eax, eax
jmp 0x453647
xor eax, eax
jmp 0x4535f7
cmp ecx, 0x86
jg 0x453ab8
cmp ecx, 0x7c
jle 0x453b5c
sub ecx, 0x7d
mov eax, 1
shl eax, cl
test al, 9
jne case.0x453719.44
test eax, 0x240
jne case.0x453719.64
test al, 0x90
je case.0x453719.41
mov eax, dword [ebp - 0xe8]
cmp byte [eax + 0x18], 0
jne 0x45461c
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x48], 5
mov dword [ebp - 0x44], str.const
sub eax, ecx
cmp eax, 5
je 0x45503f
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x38]
cmp edx, eax
jne 0x45386b
jmp 0x4551ce
add eax, 0xc
cmp edx, eax
je 0x4551ce
cmp dword [eax + 8], 0x3f
jne 0x453860
mov eax, dword [ebp - 0xf8]
mov ecx, edi
mov dword [esp], eax
call fcn.0044af40
sub esp, 4
cmp byte [edi + 0x10], 0
je 0x45474a
nop
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0xf8]
mov eax, dword [ecx]
mov dword [esp], esi
call dword [eax + 0x88]
mov ebx, dword [edi]
sub esp, 4
cmp byte [edi + 0x10], 0
mov eax, dword [ebx + 0x14]
jne 0x453e10
cmp eax, 0x2c
je 0x454690
cmp eax, 0x7d
je 0x4538de
cmp eax, 0x80
je 0x4538de
cmp eax, 0x3b
je 0x453d0f
cmp byte [ebx + 0x18], 0
je 0x4550a2
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 0x1c
cmp byte [ecx + 0x18], 0
movq xmm0, qword [ecx + 0xc]
jne 0x4539d0
mov eax, dword [edi + 0x3c]
cmp eax, dword [edi + 0x40]
je 0x454716
mov dword [eax + 8], ebx
add eax, 0xc
add ecx, 0xc
movq qword [eax - 0xc], xmm0
mov dword [edi + 0x3c], eax
call fcn.00451070
mov eax, dword [edi]
mov dword [ebp - 0xe8], eax
jmp 0x453562
mov ebx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
mov eax, dword [edi + 0x3c]
cmp dword [edi + 0x40], eax
je 0x454738
mov dword [eax], ebx
add eax, 0xc
add ecx, 0xc
mov dword [eax - 8], esi
mov dword [eax - 4], 0x3f
mov dword [edi + 0x3c], eax
call fcn.00451070
mov ecx, dword [edi]
mov dword [ebp - 0xe8], ecx
mov ebx, dword [ecx + 0x14]
jmp 0x453559
cmp eax, 0x86
jg 0x45540d
cmp eax, 0x7c
jle 0x4553e2
lea ecx, [eax - 0x7d]
mov edx, 1
shl edx, cl
test dl, 9
jne case.0x453719.44
test edx, 0x240
jne case.0x453719.64
and edx, 0x90
jne case.0x453719.42
mov dword [esp + 8], str.parse_and_visit_field_or_method_impl
mov dword [esp + 4], 0x43d
mov dword [esp], str.D:_a_quick_lint_js_quick_lint_js_src_quick_lint_js_fe_parse_class.cpp
mov ecx, dword [ebp - 0xe8]
call fcn.004258f0
lea esi, [esi]
mov eax, dword [ebp - 0xe8]
movd xmm4, dword [ebp - 0x108]
lea edx, [ebp - 0x48]
movq qword [ebp - 0x120], xmm0
mov esi, dword [eax + 0x10]
movd xmm1, dword [eax + 0xc]
mov ecx, dword [eax + 0x60]
movd xmm2, esi
mov dword [ebp - 0xe8], esi
punpckldq xmm1, xmm2
movd xmm2, dword [ebp - 0xfc]
mov eax, dword [ecx]
punpckldq xmm2, xmm4
punpcklqdq xmm1, xmm2
movups xmmword [ebp - 0x48], xmm1
mov dword [esp + 4], edx
mov dword [esp], 0xef
call dword [eax + 8]
mov ecx, dword [edi]
movq xmm0, qword [ebp - 0x120]
sub esp, 8
mov ebx, dword [ecx + 0x14]
jmp 0x4538ff
mov eax, dword [ebp - 0xf8]
mov ecx, edi
mov dword [esp], eax
call fcn.0044af40
sub esp, 4
cmp byte [edi + 0x10], 0
jne 0x453890
mov ecx, dword [edi]
cmp byte [ecx + 0x6d], 0
je 0x453890
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x38]
cmp edx, eax
jne 0x453a8b
jmp 0x453890
add eax, 0xc
cmp edx, eax
je 0x453890
cmp dword [eax + 8], 0x21
jne 0x453a80
mov ecx, dword [ecx + 0x60]
movq xmm4, qword [eax]
lea edx, [ebp - 0x48]
movq qword [ebp - 0x48], xmm4
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x121
call dword [eax + 8]
sub esp, 8
jmp 0x453890
sub ecx, 0xa9
cmp ecx, 0x51
ja case.0x453719.41
mov eax, dword [ebp - 0xe8]
cmp byte [eax + 0x18], 0
je 0x45625b
mov eax, dword [ebp - 0xf8]
mov ecx, edi
mov dword [esp], eax
call fcn.0044af40
sub esp, 4
cmp byte [edi + 0x10], 0
jne 0x453b37
mov ecx, dword [edi]
cmp byte [ecx + 0x6d], 0
je 0x453b37
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x38]
cmp edx, eax
jne 0x453b0f
jmp 0x453b37
add eax, 0xc
cmp edx, eax
je 0x453b37
cmp dword [eax + 8], 0x21
jne 0x453b08
mov ecx, dword [ecx + 0x60]
movq xmm2, qword [eax]
lea edx, [ebp - 0x48]
mov eax, dword [ecx]
movq qword [ebp - 0x48], xmm2
mov dword [esp + 4], edx
mov dword [esp], 0x121
call dword [eax + 8]
sub esp, 8
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0xf8]
mov eax, dword [ecx]
mov dword [esp], esi
call dword [eax + 0x88]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 0x1c
cmp ecx, 0x7b
jne case.0x453719.41
mov eax, dword [ebp - 0xe8]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
cmp byte [eax + 0x6d], 0
je 0x453e5d
cmp ebx, esi
je 0x45477e
mov eax, esi
jmp 0x453b9b
add eax, 0xc
cmp ebx, eax
je 0x453e65
cmp dword [eax + 8], 0x21
jne 0x453b90
mov esi, dword [ebp - 0xe8]
cmp byte [esi + 0x18], 0
je 0x453e2d
mov ecx, dword [edi + 4]
mov edi, dword [ebp - 0xf8]
mov eax, dword [ecx]
mov dword [esp], edi
call dword [eax + 0x88]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 0x1c
mov eax, dword [ebp - 0xf8]
mov ecx, edi
mov dword [esp], eax
call fcn.0044af40
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x38]
sub esp, 4
cmp edx, eax
jne 0x453c0b
jmp 0x454ee7
add eax, 0xc
cmp edx, eax
je 0x454ee7
cmp dword [eax + 8], 0x21
jne 0x453c00
mov eax, dword [edi]
lea ecx, [eax + 0xc]
call fcn.00451070
mov esi, dword [edi + 4]
mov ebx, dword [edi]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x48]
lea edx, [ebp - 0x48]
mov dword [ebp - 0x34], 0
mov ecx, ebx
mov dword [ebp - 0x30], 0x1010001
mov dword [ebp - 0x2c], 0x10101
mov dword [esp + 4], edx
mov dword [ebp - 0xe8], edx
mov dword [esp], esi
call fcn.00427b90
mov eax, dword [esi]
mov ecx, esi
sub esp, 8
call dword [eax + pe_nt_image_headers32]
mov eax, dword [edi]
mov edx, dword [ebp - 0xe8]
cmp dword [eax + 0x14], 0x3d
je 0x4550d8
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0xf8]
mov dword [ebp - 0xe8], edx
mov eax, dword [ecx]
mov dword [esp], esi
call dword [eax + 0x88]
mov ebx, dword [edi]
mov edx, dword [ebp - 0xe8]
sub esp, 4
cmp byte [edi + 0x10], 0
mov eax, dword [ebx + 0x14]
jne 0x4545ff
cmp eax, 0x2c
je 0x45508e
cmp eax, 0x7d
je 0x4538de
cmp eax, 0x80
je 0x4538de
cmp eax, 0x3b
je 0x453d0f
cmp byte [ebx + 0x18], 0
jne 0x4538de
movd xmm0, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x60]
xor esi, esi
mov dword [ebx + 0x14], 0x3b
mov word [ebx + 0x18], si
movdqa xmm1, xmm0
movd dword [ebx + 0x2c], xmm0
punpckldq xmm1, xmm0
movq qword [ebx + 0xc], xmm1
movq qword [ebp - 0x48], xmm1
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0xdb
call dword [eax + 8]
sub esp, 8
lea ecx, [ebx + 0xc]
call fcn.00451070
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 0x1c
mov eax, dword [ebp - 0xf8]
mov ecx, edi
mov dword [esp], eax
call fcn.0044af40
sub esp, 4
cmp byte [edi + 0x10], 0
jne 0x453d90
mov ecx, dword [edi]
cmp byte [ecx + 0x6d], 0
je 0x453d90
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x38]
cmp edx, eax
jne 0x453d5f
jmp 0x453d90
add eax, 0xc
cmp edx, eax
je 0x453d90
cmp dword [eax + 8], 0x21
jne 0x453d58
mov ecx, dword [ecx + 0x60]
movq xmm6, qword [eax]
lea edx, [ebp - 0x48]
mov eax, dword [ecx]
movq qword [ebp - 0x48], xmm6
mov dword [esp + 4], edx
mov dword [esp], 0x121
call dword [eax + 8]
sub esp, 8
lea esi, cs:[esi]
nop
mov ecx, edi
call fcn.004510a0
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 0xf8]
mov eax, dword [ecx]
mov dword [esp], esi
call dword [eax + 0x88]
mov ebx, dword [edi]
sub esp, 4
cmp byte [edi + 0x10], 0
mov eax, dword [ebx + 0x14]
jne 0x453e10
cmp eax, 0x2c
jne 0x4538bf
mov ecx, dword [ebx + 0x60]
movq xmm2, qword [ebx + 0xc]
lea edx, [ebp - 0x48]
movq qword [ebp - 0x48], xmm2
mov eax, dword [ecx]
jmp 0x4546a2
mov ecx, dword [ecx + 0x60]
movq xmm4, qword [eax]
lea edx, [ebp - 0x48]
mov eax, dword [ecx]
movq qword [ebp - 0x48], xmm4
mov dword [esp + 4], edx
mov dword [esp], 0x11e
call dword [eax + 8]
mov eax, dword [edi]
sub esp, 8
mov dword [ebp - 0xe8], eax
jmp 0x4536f2
cmp eax, 0x7d
je 0x4538de
jg 0x454f02
cmp eax, 0x2c
jne 0x4538cb
jmp 0x453d0f
mov ecx, dword [esi + 0x60]
movq xmm2, qword [eax]
lea edx, [ebp - 0x48]
mov eax, dword [ecx]
movq qword [ebp - 0x48], xmm2
mov dword [esp + 4], edx
mov dword [esp], 0x122
call dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
mov dword [ebp - 0xe8], eax
cmp ebx, esi
je 0x45477e
mov edx, esi
mov eax, esi
jmp 0x453e7b
add eax, 0xc
cmp ebx, eax
je 0x453f0b
cmp dword [eax + 8], 0xaa
jne 0x453e70
mov ecx, dword [ebp - 0xe8]
movd xmm0, dword [ecx + 0xc]
movd xmm2, dword [ecx + 0x10]
jmp 0x453eab
add esi, 0xc
cmp ebx, esi
je 0x455270
cmp dword [esi + 8], 0xc8
jne 0x453ea0
movd xmm1, dword [eax]
movd xmm6, dword [eax + 4]
punpckldq xmm0, xmm2
lea edx, [ebp - 0x48]
mov ecx, dword [ebp - 0xe8]
movq xmm4, qword [esi]
punpckldq xmm1, xmm6
mov ecx, dword [ecx + 0x60]
punpcklqdq xmm0, xmm1
mov ebx, dword [ecx]
movups xmmword [ebp - 0x48], xmm0
movq qword [ebp - 0x38], xmm4
mov dword [esp + 4], edx
mov dword [esp], 0x45
call dword [ebx + 8]
sub esp, 8
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
mov dword [ebp - 0xe8], eax
cmp ebx, esi
je 0x45477e
mov eax, esi
jmp 0x453f17
add eax, 0xc
cmp ebx, eax
je 0x453f5e
cmp dword [eax + 8], 0xbb
jne 0x453f10
mov esi, dword [ebp - 0xe8]
movq xmm4, qword [eax]
lea edx, [ebp - 0x48]
mov ecx, dword [esi + 0x60]
movq qword [ebp - 0x48], xmm4
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x14b
call dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
mov dword [ebp - 0xe8], eax
cmp ebx, esi
je 0x45477e
mov ecx, esi
mov eax, esi
jmp 0x453f6f
add eax, 0xc
cmp ebx, eax
je 0x453feb
cmp dword [eax + 8], 0x2a
jne 0x453f68
mov edx, esi
jmp 0x453f8b
add edx, 0xc
cmp ebx, edx
je 0x454273
cmp dword [edx + 8], 0xc8
jne 0x453f80
movd xmm1, dword [edx]
movd xmm2, dword [edx + 4]
lea edx, [ebp - 0x48]
movd xmm0, dword [eax]
movd xmm6, dword [eax + 4]
mov ecx, dword [ebp - 0xe8]
punpckldq xmm1, xmm2
punpckldq xmm0, xmm6
mov ecx, dword [ecx + 0x60]
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x1c9
call dword [eax + 8]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
mov eax, dword [edi]
mov dword [ebp - 0xe8], eax
cmp ebx, esi
je 0x45477e
mov ecx, esi
mov eax, esi
jmp 0x453fff
add eax, 0xc
cmp ebx, eax
je 0x45407b
cmp dword [eax + 8], 0xaf
jne 0x453ff8
mov edx, esi
jmp 0x45401b
add edx, 0xc
cmp ebx, edx
je 0x4542db
cmp dword [edx + 8], 0xc8
jne 0x454010
movd xmm1, dword [edx]
movd xmm7, dword [edx + 4]
lea edx, [ebp - 0x48]
movd xmm0, dword [eax]
movd xmm4, dword [eax + 4]
mov esi, dword [ebp - 0xe8]
punpckldq xmm1, xmm7
punpckldq xmm0, xmm4
mov ecx, dword [esi + 0x60]
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x1ca
call dword [eax + 8]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
mov eax, dword [edi]
mov dword [ebp - 0xe8], eax
cmp esi, ebx
je 0x45477e
mov eax, esi
jmp 0x45408b
add eax, 0xc
cmp ebx, eax
je 0x454ef3
cmp dword [eax + 8], 0xe3
jne 0x454080
mov esi, dword [ebp - 0xe8]
movq xmm6, qword [eax]
lea edx, [ebp - 0x48]
mov ecx, dword [esi + 0x60]
movq qword [ebp - 0x48], xmm6
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x164
call dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
sub esp, 8
cmp byte [edi + 0x10], 0
mov esi, dword [edi + 0x38]
mov dword [ebp - 0xe8], eax
je 0x45417f
cmp ebx, esi
je 0x45477e
mov eax, esi
jmp 0x4540e7
add eax, 0xc
cmp ebx, eax
je 0x45412e
cmp dword [eax + 8], 0xaf
jne 0x4540e0
mov ecx, dword [ebp - 0xe8]
movq xmm4, qword [eax]
lea edx, [ebp - 0x48]
mov ecx, dword [ecx + 0x60]
movq qword [ebp - 0x48], xmm4
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x1a9
call dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
mov dword [ebp - 0xe8], eax
cmp ebx, esi
je 0x45477e
mov eax, esi
jmp 0x454143
add eax, 0xc
cmp ebx, eax
je 0x4552d2
cmp dword [eax + 8], 0x2a
jne 0x454138
mov esi, dword [ebp - 0xe8]
movq xmm7, qword [eax]
lea edx, [ebp - 0x48]
mov ecx, dword [esi + 0x60]
movq qword [ebp - 0x48], xmm7
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x1aa
call dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
mov dword [ebp - 0xe8], eax
cmp byte [edi + 0x1c], 0
je 0x454233
cmp esi, ebx
je 0x45477e
mov eax, esi
jmp 0x45419f
add eax, 0xc
cmp ebx, eax
je 0x4541e6
cmp dword [eax + 8], 0xaf
jne 0x454198
mov ecx, dword [ebp - 0xe8]
movq xmm6, qword [eax]
lea edx, [ebp - 0x48]
mov ecx, dword [ecx + 0x60]
movq qword [ebp - 0x48], xmm6
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x1c
call dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
mov dword [ebp - 0xe8], eax
cmp esi, ebx
je 0x45477e
mov eax, esi
jmp 0x4541f7
add eax, 0xc
cmp ebx, eax
je 0x45423b
cmp dword [eax + 8], 0x2a
jne 0x4541f0
mov esi, dword [ebp - 0xe8]
movq xmm2, qword [eax]
lea edx, [ebp - 0x48]
mov ecx, dword [esi + 0x60]
movq qword [ebp - 0x48], xmm2
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x1d
call dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
mov dword [ebp - 0xe8], eax
cmp ebx, esi
je 0x454780
mov edx, esi
mov eax, esi
jmp 0x454253
add eax, 0xc
cmp ebx, eax
je 0x454414
cmp dword [eax + 8], 0xa9
jne 0x454248
jmp 0x45433f
add ecx, 0xc
cmp ebx, ecx
je 0x453feb
cmp dword [ecx + 8], 0xe7
jne 0x454268
movd xmm1, dword [ecx]
movd xmm4, dword [ecx + 4]
lea edx, [ebp - 0x48]
movd xmm0, dword [eax]
movd xmm6, dword [eax + 4]
mov esi, dword [ebp - 0xe8]
punpckldq xmm1, xmm4
punpckldq xmm0, xmm6
mov ebx, dword [esi + 0x60]
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ebx]
mov ecx, ebx
mov dword [esp + 4], edx
mov dword [esp], 0x1c9
call dword [eax + 8]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
jmp 0x453fdb
add ecx, 0xc
cmp ebx, ecx
je 0x45407b
cmp dword [ecx + 8], 0xe7
jne 0x4542d0
movd xmm1, dword [ecx]
movd xmm2, dword [ecx + 4]
lea edx, [ebp - 0x48]
movd xmm0, dword [eax]
movd xmm7, dword [eax + 4]
mov esi, dword [ebp - 0xe8]
punpckldq xmm1, xmm2
punpckldq xmm0, xmm7
mov ebx, dword [esi + 0x60]
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ebx]
mov ecx, ebx
mov dword [esp + 4], edx
mov dword [esp], 0x1ca
call dword [eax + 8]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
jmp 0x45406b
add edx, 0xc
cmp ebx, edx
je 0x4543ab
cmp dword [edx + 8], 0xaf
jne 0x454338
mov esi, dword [ebp - 0xe8]
movd xmm1, dword [eax]
mov dword [ebp - 0xe8], eax
movd xmm6, dword [eax + 4]
movd xmm0, dword [edx]
movd xmm4, dword [edx + 4]
mov ecx, dword [esi + 0x60]
lea edx, [ebp - 0x48]
punpckldq xmm1, xmm6
punpckldq xmm0, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov ebx, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 1
call dword [ebx + 8]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
mov eax, dword [ebp - 0xe8]
cmp esi, ebx
je 0x4555ae
mov ecx, dword [edi]
mov dword [ebp - 0xe8], ecx
mov edx, esi
jmp 0x4543b7
add edx, 0xc
cmp ebx, edx
je 0x454414
cmp dword [edx + 8], 0x2a
jne 0x4543b0
movd xmm1, dword [eax]
movd xmm7, dword [eax + 4]
movd xmm0, dword [edx]
movd xmm2, dword [edx + 4]
lea edx, [ebp - 0x48]
mov esi, dword [ebp - 0xe8]
punpckldq xmm1, xmm7
punpckldq xmm0, xmm2
mov ecx, dword [esi + 0x60]
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 2
call dword [eax + 8]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
cmp ebx, esi
je 0x4555ae
mov eax, dword [edi]
mov dword [ebp - 0xe8], eax
mov eax, esi
jmp 0x45442b
add eax, 0xc
cmp ebx, eax
je 0x4551f7
mov edx, dword [eax + 8]
lea ecx, [edx - 0xe0]
cmp ecx, 2
ja 0x454420
cmp byte [edi + 0x10], 0
jne 0x4546cb
mov ecx, dword [ebp - 0xe8]
cmp byte [ecx + 0x6d], 0
jne 0x4550f2
cmp edx, 0xe1
je 0x455420
mov ecx, dword [ecx + 0x60]
cmp edx, 0xe2
je 0x45544d
movq xmm7, qword [eax]
mov eax, dword [ecx]
lea edx, [ebp - 0x48]
movq qword [ebp - 0x48], xmm7
mov dword [esp + 4], edx
mov dword [esp], 0x160
call dword [eax + 8]
mov esi, dword [edi + 0x38]
mov ebx, dword [edi + 0x3c]
sub esp, 8
mov eax, dword [edi]
cmp byte [eax + 0x6d], 0
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0x120], eax
jne 0x4550ea
cmp byte [edi + 0x10], 0
jne 0x4547c0
mov eax, ebx
sub eax, esi
mov edx, eax
sar edx, 2
imul edx, edx, 0xaaaaaaab
mov dword [ebp - 0xe8], edx
test eax, eax
jle 0x45627d
lea eax, [esi + 8]
xor ecx, ecx
jmp 0x4544ee
add ecx, 1
add eax, 0xc
cmp ecx, edx
jge 0x4547c0
cmp dword [eax], 0x40
je 0x4544e0
mov eax, dword [ebp - 0xe8]
cmp ecx, eax
jge 0x4547c0
lea eax, [ecx + ecx*2]
shl eax, 2
lea edx, [esi + eax]
mov dword [ebp - 0x118], edx
mov edx, dword [edx + 8]
cmp edx, 0xa9
je 0x4547c0
mov dword [ebp - 0xe8], esi
mov esi, ecx
mov ecx, ebx
mov ebx, eax
mov eax, dword [ebp - 0xe8]
jmp 0x454557
mov edx, ecx
add esi, 1
add ebx, 0xc
sub edx, eax
sar edx, 2
imul edx, edx, 0xaaaaaaab
cmp esi, edx
jge 0x4547bc
mov edx, dword [eax + ebx + 8]
cmp edx, 0x40
jne 0x454538
mov edx, dword [ebp - 0x118]
add eax, ebx
mov ecx, dword [ebp - 0x120]
mov dword [ebp - 0xe8], eax
mov eax, dword [edx + 4]
movd xmm1, dword [edx]
lea edx, [ebp - 0x48]
mov ecx, dword [ecx + 0x60]
mov dword [ebp - 0x120], eax
movd xmm7, eax
mov eax, dword [ebp - 0xe8]
punpckldq xmm1, xmm7
movd xmm0, dword [eax]
movd xmm2, dword [eax + 4]
punpckldq xmm0, xmm2
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x2a
call dword [eax + 8]
mov edx, dword [edi]
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x3c]
sub esp, 8
mov dword [ebp - 0x120], edx
jmp 0x454538
mov ecx, dword [ecx + 0x60]
movq xmm4, qword [eax]
lea edx, [ebp - 0x48]
mov eax, dword [ecx]
movq qword [ebp - 0x48], xmm4
mov dword [esp + 4], edx
mov dword [esp], 0x11d
call dword [eax + 8]
mov eax, dword [edi]
sub esp, 8
mov dword [ebp - 0xe8], eax
jmp 0x4536f2
cmp eax, 0x7d
je 0x4538de
jg 0x4552e1
cmp eax, 0x2c
jne 0x453cc1
jmp 0x453d0f
mov eax, dword [ebp - 0xf8]
mov ecx, edi
mov dword [esp], eax
call fcn.0044af40
sub esp, 4
cmp byte [edi + 0x10], 0
jne 0x453bb1
mov ecx, dword [edi]
cmp byte [ecx + 0x6d], 0
je 0x453bb1
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x38]
cmp edx, eax
jne 0x454663
jmp 0x453bb1
add eax, 0xc
cmp edx, eax
je 0x453bb1
cmp dword [eax + 8], 0x21
jne 0x454658
mov ecx, dword [ecx + 0x60]
movq xmm3, qword [eax]
lea edx, [ebp - 0x48]
mov eax, dword [ecx]
movq qword [ebp - 0x48], xmm3
mov dword [esp + 4], edx
mov dword [esp], 0x121
call dword [eax + 8]
sub esp, 8
jmp 0x453bb1
mov ecx, dword [ebx + 0x60]
movq xmm4, qword [ebx + 0xc]
lea edx, [ebp - 0x48]
movq qword [ebp - 0x48], xmm4
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x1bb
call dword [eax + 8]
mov ecx, dword [edi]
sub esp, 8
add ecx, 0xc
call fcn.00451070
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret 0x1c
mov esi, dword [ebp - 0xe8]
mov ecx, dword [esi + 0x60]
cmp edx, 0xe1
je 0x4553b8
cmp edx, 0xe2
je 0x455380
movq xmm7, qword [eax]
mov eax, dword [ecx]
lea edx, [ebp - 0x48]
movq qword [ebp - 0x48], xmm7
mov dword [esp + 4], edx
mov dword [esp], 0x1ad
call dword [eax + 8]
mov esi, dword [edi + 0x38]
mov ebx, dword [edi + 0x3c]
sub esp, 8
jmp 0x454493
lea ecx, [edi + 0x38]
movq qword [ebp - 0xe8], xmm0
call fcn.00479500
mov ecx, dword [edi]
mov eax, dword [edi + 0x3c]
movq xmm0, qword [ebp - 0xe8]
jmp 0x45390b
lea ecx, [edi + 0x38]
call fcn.00479500
mov ecx, dword [edi]
mov eax, dword [edi + 0x3c]
jmp 0x453942
mov ecx, dword [edi]
cmp byte [ecx + 0x6d], 0
je 0x453890
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x38]
cmp edx, eax
jne 0x454773
jmp 0x453890
add eax, 0xc
cmp edx, eax
je 0x453890
cmp dword [eax + 8], 0x21
jne 0x454768
jmp 0x453a91
mov ebx, esi
mov eax, dword [ebp - 0xe8]
mov esi, ebx
cmp byte [eax + 0x6d], 0
mov dword [ebp - 0x120], eax
je 0x4544ab
cmp byte [edi + 0x10], 0
jne 0x4549e4
mov eax, ebx
xor ecx, ecx
sub eax, esi
sar eax, 2
imul eax, eax, 0xaaaaaaab
mov dword [ebp - 0xe8], eax
jmp 0x4544f3
mov ebx, ecx
mov esi, eax
cmp esi, ebx
je 0x454cc2
mov eax, esi
mov edx, esi
jmp 0x4547db
add edx, 0xc
cmp ebx, edx
je 0x45486c
cmp dword [edx + 8], 0xa9
jne 0x4547d0
mov dword [ebp - 0xe8], edi
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x120]
jmp 0x454807
add esi, 0xc
cmp ebx, esi
je 0x454852
cmp dword [esi + 8], 0x40
jne 0x454800
movd xmm1, dword [edi]
movd xmm4, dword [edi + 4]
lea edx, [ebp - 0x48]
movd xmm0, dword [esi]
movd xmm7, dword [esi + 4]
mov ecx, dword [eax + 0x60]
punpckldq xmm1, xmm4
punpckldq xmm0, xmm7
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x2e
call dword [eax + 8]
mov eax, dword [ebp - 0xe8]
sub esp, 8
mov eax, dword [eax]
jmp 0x454800
mov edi, dword [ebp - 0xe8]
mov dword [ebp - 0x120], eax
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
cmp ebx, esi
je 0x454cc2
mov edx, esi
mov eax, esi
jmp 0x454883
add eax, 0xc
cmp ebx, eax
je 0x454d00
cmp dword [eax + 8], 0xde
jne 0x454878
jmp 0x454897
add edx, 0xc
cmp ebx, edx
je 0x454907
cmp dword [edx + 8], 0xe8
jne 0x454890
cmp eax, edx
jae 0x454907
movd xmm1, dword [eax]
movd xmm7, dword [eax + 4]
mov dword [ebp - 0xe8], eax
movd xmm0, dword [edx]
movd xmm4, dword [edx + 4]
lea edx, [ebp - 0x48]
mov esi, dword [ebp - 0x120]
punpckldq xmm1, xmm7
punpckldq xmm0, xmm4
mov ecx, dword [esi + 0x60]
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov ebx, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x4a
call dword [ebx + 8]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
mov eax, dword [edi]
sub esp, 8
cmp ebx, esi
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xe8]
je 0x454ccc
mov edx, esi
jmp 0x45491b
add edx, 0xc
cmp ebx, edx
je 0x454d00
cmp dword [edx + 8], 0xa9
jne 0x454910
cmp eax, edx
jae 0x454d00
movd xmm1, dword [eax]
movd xmm2, dword [eax + 4]
movd xmm0, dword [edx]
movd xmm7, dword [edx + 4]
lea edx, [ebp - 0x48]
mov ecx, dword [ebp - 0x120]
punpckldq xmm1, xmm2
punpckldq xmm0, xmm7
mov ecx, dword [ecx + 0x60]
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x4a
call dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
sub esp, 8
cmp byte [edi + 0x10], 0
mov esi, dword [edi + 0x38]
mov dword [ebp - 0x120], eax
je 0x454a36
cmp ebx, esi
je 0x454ccc
mov eax, esi
jmp 0x45499f
add eax, 0xc
cmp ebx, eax
je 0x4549ec
cmp dword [eax + 8], 0xde
jne 0x454998
mov ecx, dword [ebp - 0x120]
movq xmm4, qword [eax]
lea edx, [ebp - 0x48]
mov ecx, dword [ecx + 0x60]
movq qword [ebp - 0x48], xmm4
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0xfe
call dword [eax + 8]
sub esp, 8
cmp byte [edi + 0x10], 0
je 0x454a28
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
mov dword [ebp - 0x120], eax
cmp ebx, esi
je 0x454ccc
mov eax, esi
jmp 0x4549f7
add eax, 0xc
cmp ebx, eax
je 0x454a3e
cmp dword [eax + 8], 0xe8
jne 0x4549f0
mov esi, dword [ebp - 0x120]
movq xmm7, qword [eax]
lea edx, [ebp - 0x48]
mov ecx, dword [esi + 0x60]
movq qword [ebp - 0x48], xmm7
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x1af
call dword [eax + 8]
sub esp, 8
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
mov dword [ebp - 0x120], eax
cmp ebx, esi
je 0x454ccc
mov edx, esi
mov eax, esi
jmp 0x454a53
add eax, 0xc
cmp ebx, eax
je 0x45521c
cmp dword [eax + 8], 0xa9
jne 0x454a48
jmp 0x454a6b
add edx, 0xc
cmp ebx, edx
je 0x45521c
cmp dword [edx + 8], 0xe8
jne 0x454a60
movd xmm1, dword [edx]
movd xmm4, dword [edx + 4]
lea edx, [ebp - 0x48]
movd xmm0, dword [eax]
movd xmm7, dword [eax + 4]
mov esi, dword [ebp - 0x120]
punpckldq xmm1, xmm4
punpckldq xmm0, xmm7
mov ecx, dword [esi + 0x60]
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x116
call dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [edi + 0x3c]
sub esp, 8
mov esi, dword [edi + 0x38]
cmp byte [eax + 0x6d], 0
mov dword [ebp - 0x120], eax
jne 0x454b1b
cmp byte [edi + 0x10], 0
jne 0x454b1b
cmp ebx, esi
je 0x454ccc
mov eax, esi
jmp 0x454ae7
add eax, 0xc
cmp ebx, eax
je 0x454b23
cmp dword [eax + 8], 0x3f
jne 0x454ae0
mov esi, dword [ebp - 0x120]
movq xmm2, qword [eax]
lea edx, [ebp - 0x48]
mov ecx, dword [esi + 0x60]
movq qword [ebp - 0x48], xmm2
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x157
call dword [eax + 8]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
cmp ebx, esi
je 0x454ccc
mov eax, esi
jmp 0x454b37
add eax, 0xc
cmp ebx, eax
je 0x454b54
cmp dword [eax + 8], 0xa9
jne 0x454b30
cmp byte [edi + 0x10], 0
jne 0x455231
cmp byte [edi + 0x11], 0
je 0x4552f1
mov edx, esi
mov eax, esi
jmp 0x454b6b
add eax, 0xc
cmp ebx, eax
je 0x454eb0
cmp dword [eax + 8], 0xaf
jne 0x454b60
mov ecx, 1
jmp 0x454b8b
add edx, 0xc
cmp ebx, edx
je 0x454eb9
cmp dword [edx + 8], 0x2a
jne 0x454b80
mov dword [ebp - 0xe8], 1
test cl, cl
je 0x45533a
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0x18]
pxor xmm0, xmm0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x68], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], eax
mov eax, esi
jmp 0x454bd3
add eax, 0xc
cmp ebx, eax
je 0x454cf1
cmp dword [eax + 8], 0xa9
jne 0x454bc8
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov byte [ebp - 0x120], 1
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov ecx, dword [ebp - 0xf8]
cmp byte [ecx + 0x10], 0
jne 0x454d18
mov byte [ebp - 0x118], 0
movzx ecx, byte [edi + 0x10]
movzx eax, cl
xor al, 1
mov ah, cl
cmp ebx, esi
jne 0x454c2b
jmp 0x454d11
add esi, 0xc
cmp ebx, esi
je 0x454d11
cmp dword [esi + 8], 0xa9
jne 0x454c20
mov ebx, dword [edi + 4]
mov edx, dword [ebx]
mov edx, dword [edx + 0x30]
test cl, cl
je 0x454d5d
mov word [ebp - 0x110], ax
mov ecx, ebx
call edx
movzx eax, byte [ebp - 0x120]
movdqu xmm7, xmmword [ebp - 0x68]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov byte [ebp - 0x54], al
movzx eax, byte [ebp - 0x118]
mov byte [ebp - 0x50], al
movzx eax, word [ebp - 0x110]
mov word [ebp - 0x4e], ax
movups xmmword [esp + 0x14], xmm7
movdqu xmm2, xmmword [ebp - 0x5c]
movups xmmword [esp + 0x20], xmm2
mov eax, dword [ebp - 0xe8]
mov byte [esp + 0xc], 1
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x108]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xfc]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00483f70
mov ecx, dword [edi + 4]
sub esp, 0x30
mov eax, dword [ecx]
call dword [eax + 0x70]
jmp 0x453bb1
cmp byte [edi + 0x10], 0
je 0x454a36
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0x18]
mov dword [ebp - 0x50], 0
mov ebx, esi
mov dword [ebp - 0xe8], 3
mov dword [ebp - 0x68], eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], eax
mov byte [ebp - 0x120], 0
jmp 0x454bee
movzx eax, byte [edi + 0x10]
test al, al
je 0x454a36
jmp 0x45498d
xor esi, esi
jmp 0x454c34
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
cmp eax, 0xb
jne 0x454bfe
mov dword [esp], 0xb
lea edx, [ebp - 0x48]
mov dword [esp + 4], str.constructor
mov ecx, edx
call fcn.004065b0
sub esp, 8
test eax, eax
jne 0x454bfe
mov byte [ebp - 0x118], 1
jmp 0x454c05
mov ecx, dword [edi]
cmp byte [edi + 0x1c], 0
mov dword [ebp - 0x124], ecx
jne 0x454f12
movzx ecx, byte [ecx + 0x6e]
mov byte [ebp - 0x128], cl
test cl, cl
jne 0x454f12
test esi, esi
je 0x455477
mov ecx, ebx
mov word [ebp - 0x110], ax
call edx
movdqu xmm7, xmmword [ebp - 0x68]
mov esi, dword [edi]
lea ecx, [ebp - 0x90]
movzx eax, byte [ebp - 0x120]
mov ebx, dword [edi + 4]
movups xmmword [ebp - 0x48], xmm7
mov byte [ebp - 0x54], al
movzx eax, byte [ebp - 0x118]
mov byte [ebp - 0x50], al
movzx eax, word [ebp - 0x110]
mov word [ebp - 0x4e], ax
mov eax, dword [ebp - 0xe8]
movdqu xmm2, xmmword [ebp - 0x5c]
movups xmmword [ebp - 0x3c], xmm2
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004248d0
movdqu xmm4, xmmword [ebp - 0x48]
mov ecx, esi
sub esp, 8
movups xmmword [esp + 0x10], xmm4
movdqu xmm6, xmmword [ebp - 0x3c]
mov byte [esp + 0xc], 1
movups xmmword [esp + 0x1c], xmm6
mov eax, dword [ebp - 0x108]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00483ac0
sub esp, 0x2c
cmp eax, 2
jg 0x455541
test eax, eax
jg 0x4555bb
jne 0x454e84
mov ecx, dword [esi + 0x60]
movq xmm7, qword [esi + 0xc]
lea edx, [ebp - 0x80]
mov eax, dword [ecx]
movq qword [ebp - 0x80], xmm7
mov dword [esp + 4], edx
mov dword [esp], 5
call dword [eax + 8]
mov eax, dword [ebx]
mov ecx, ebx
sub esp, 8
call dword [eax + 0x34]
movzx eax, byte [ebp - 0x80]
mov byte [ebp - 0x74], 0
mov ecx, esi
and eax, 0xfffffff0
or eax, 3
mov byte [ebp - 0x80], al
movdqu xmm2, xmmword [ebp - 0x80]
mov dword [esp], ebx
movups xmmword [esp + 4], xmm2
call fcn.00476e20
sub esp, 0x14
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [edi + 4]
mov dword [eax + 0xca], edx
movzx edx, byte [ebp - 0x88]
mov byte [eax + 0xce], dl
mov eax, dword [ecx]
call dword [eax + 0x70]
jmp 0x453bb1
xor ecx, ecx
xor eax, eax
jmp 0x454b8b
mov dword [ebp - 0xe8], 0
test cl, cl
jne 0x454ba3
test eax, eax
mov edx, 3
sete al
movzx eax, al
and eax, ecx
sub edx, eax
mov dword [ebp - 0xe8], edx
jmp 0x454ba3
mov ecx, dword [edi]
call fcn.00424590
jmp 0x453c1b
cmp byte [edi + 0x10], 0
jne 0x4540dc
jmp 0x45417f
cmp eax, 0x80
je 0x4538de
jmp 0x4538d4
movzx ecx, byte [ebp - 0x120]
movdqu xmm7, xmmword [ebp - 0x68]
mov word [ebp - 0x4e], ax
mov byte [ebp - 0x54], cl
movzx ecx, byte [ebp - 0x118]
movups xmmword [ebp - 0x48], xmm7
mov byte [ebp - 0x50], cl
movdqu xmm2, xmmword [ebp - 0x5c]
mov ecx, ebx
movups xmmword [ebp - 0x3c], xmm2
call edx
mov eax, dword [ebp - 0xe8]
lea ecx, [ebp - 0x80]
mov dword [esp + 4], eax
mov esi, dword [ebp - 0x124]
mov dword [esp], esi
call fcn.004248d0
movdqu xmm6, xmmword [ebp - 0x48]
mov ecx, esi
sub esp, 8
movups xmmword [esp + 0x10], xmm6
movdqu xmm7, xmmword [ebp - 0x3c]
mov byte [esp + 0xc], 1
movups xmmword [esp + 0x1c], xmm7
mov eax, dword [ebp - 0x108]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xfc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00483ac0
sub esp, 0x2c
cmp eax, 2
jg 0x4553aa
test eax, eax
jg 0x45534b
jne 0x45501d
mov esi, dword [ebp - 0x124]
lea edx, [ebp - 0x90]
mov ecx, dword [esi + 0x60]
movq xmm2, qword [esi + 0xc]
mov eax, dword [ecx]
movq qword [ebp - 0xe8], xmm2
movq qword [ebp - 0x90], xmm2
mov dword [esp + 4], edx
mov dword [esp], 0x1e
call dword [eax + 8]
mov eax, dword [ebx]
mov ecx, ebx
sub esp, 8
call dword [eax + 0x34]
movzx eax, byte [ebp - 0xa0]
mov byte [ebp - 0x94], 0
mov ecx, esi
and eax, 0xfffffff0
or eax, 3
mov byte [ebp - 0xa0], al
movdqu xmm6, xmmword [ebp - 0xa0]
mov dword [esp], ebx
movups xmmword [esp + 4], xmm6
call fcn.00476e20
sub esp, 0x14
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x70]
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x80]
mov dword [eax + 0xca], edx
movzx edx, byte [ebp - 0x78]
mov byte [eax + 0xce], dl
jmp 0x453bb1
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x48]
mov dword [esp], 5
call fcn.004065b0
sub esp, 8
test eax, eax
jne 0x45384f
mov eax, dword [ebp - 0xe8]
movq xmm6, qword [ebp - 0x110]
lea edi, [ebp - 0x48]
mov ecx, dword [eax + 0x60]
movq qword [ebp - 0x48], xmm6
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], 0x16f
call dword [eax + 8]
sub esp, 8
jmp 0x4538de
mov ecx, dword [ebx + 0x60]
movq xmm6, qword [ebx + 0xc]
mov eax, dword [ecx]
movq qword [ebp - 0x48], xmm6
jmp 0x4546a2
movd xmm0, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x60]
xor edi, edi
lea edx, [ebp - 0x48]
mov dword [ebx + 0x14], 0x3b
movdqa xmm1, xmm0
movd dword [ebx + 0x2c], xmm0
punpckldq xmm1, xmm0
mov word [ebx + 0x18], di
movq qword [ebx + 0xc], xmm1
movq qword [ebp - 0x48], xmm1
mov eax, dword [ecx]
jmp 0x453cfe
mov ecx, edi
call fcn.004510a0
mov edx, dword [ebp - 0xe8]
jmp 0x453c72
cmp esi, ebx
je 0x454798
mov eax, 0xaf
mov edx, 0xde
mov dword [ebp - 0x60], 0xe8
mov ecx, esi
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
jmp 0x45511b
add ecx, 0xc
cmp ebx, ecx
je 0x455344
mov eax, dword [ecx + 8]
sub eax, 0xe0
cmp eax, 2
ja 0x455110
lea edx, [ebp - 0x68]
mov eax, esi
mov esi, edx
mov edx, ecx
lea esi, [esi]
mov ecx, dword [esi]
cmp eax, ebx
jne 0x455147
jmp 0x4551a5
add eax, 0xc
cmp ebx, eax
je 0x4551a5
cmp ecx, dword [eax + 8]
jne 0x455140
cmp eax, edx
jae 0x4551a5
movd xmm1, dword [eax]
movd xmm7, dword [eax + 4]
lea ebx, [ebp - 0x48]
mov dword [ebp - 0x120], edx
movd xmm0, dword [edx]
movd xmm2, dword [edx + 4]
mov ecx, dword [ebp - 0xe8]
punpckldq xmm1, xmm7
punpckldq xmm0, xmm2
mov ecx, dword [ecx + 0x60]
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], ebx
mov dword [esp], 0x1c2
call dword [eax + 8]
mov eax, dword [edi]
mov edx, dword [ebp - 0x120]
sub esp, 8
mov dword [ebp - 0xe8], eax
add esi, 4
lea eax, [ebp - 0x5c]
mov ebx, dword [edi + 0x3c]
cmp esi, eax
je 0x4551ba
mov eax, dword [edi + 0x38]
jmp 0x455138
mov eax, dword [ebp - 0xe8]
mov esi, dword [edi + 0x38]
mov dword [ebp - 0x120], eax
jmp 0x4544ab
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [eax + 0x60]
mov eax, dword [ebp - 0x110]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004190a0
sub esp, 8
jmp 0x4538de
mov eax, dword [ebp - 0xe8]
cmp byte [eax + 0x6d], 0
mov dword [ebp - 0x120], eax
jne 0x4550f2
cmp byte [edi + 0x10], 0
je 0x4544b5
jmp 0x4547c8
mov eax, dword [ebp - 0x120]
cmp byte [eax + 0x6d], 0
je 0x454ac9
jmp 0x454b23
mov edx, dword [edi]
movq xmm4, qword [eax]
mov ecx, dword [edx + 0x60]
lea edx, [ebp - 0x48]
movq qword [ebp - 0x48], xmm4
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 3
call dword [eax + 8]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
cmp ebx, esi
jne 0x454b54
jmp 0x454ccc
mov ecx, dword [ebp - 0xe8]
movd xmm1, dword [eax]
punpckldq xmm0, xmm2
movd xmm7, dword [eax + 4]
mov ecx, dword [ecx + 0x60]
punpckldq xmm1, xmm7
mov esi, dword [ecx]
punpcklqdq xmm0, xmm1
jmp 0x4552a3
add edx, 0xc
cmp ebx, edx
je 0x4553f0
cmp dword [edx + 8], 0xe7
jne 0x455298
movq xmm2, qword [edx]
lea edx, [ebp - 0x48]
movups xmmword [ebp - 0x48], xmm0
movq qword [ebp - 0x38], xmm2
mov dword [esp + 4], edx
mov dword [esp], 0x45
call dword [esi + 8]
sub esp, 8
jmp 0x453ef5
cmp byte [edi + 0x1c], 0
jne 0x454191
jmp 0x454233
cmp eax, 0x80
je 0x4538de
jmp 0x453cc6
movd xmm0, dword [eax]
movd xmm7, dword [eax + 4]
mov edx, dword [edi]
movd xmm1, dword [edi + 8]
movd xmm6, dword [edi + 0xc]
punpckldq xmm0, xmm7
mov ecx, dword [edx + 0x60]
lea edx, [ebp - 0x48]
punpckldq xmm1, xmm6
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 4
call dword [eax + 8]
mov ebx, dword [edi + 0x3c]
mov esi, dword [edi + 0x38]
sub esp, 8
jmp 0x45525b
mov ecx, 1
jmp 0x454ecb
xor ecx, ecx
jmp 0x455128
mov esi, dword [ebp - 0x124]
mov eax, dword [esi + 0x14]
cmp eax, 0x7d
je 0x45501d
cmp eax, 0x80
je 0x45501d
cmp eax, 0x3b
jne 0x45554f
mov ecx, esi
add ecx, 0xc
call fcn.00451070
jmp 0x45501d
movq xmm6, qword [eax]
mov eax, dword [ecx]
lea edx, [ebp - 0x48]
movq qword [ebp - 0x48], xmm6
mov dword [esp + 4], edx
mov dword [esp], 0x1ac
call dword [eax + 8]
mov esi, dword [edi + 0x38]
mov ebx, dword [edi + 0x3c]
sub esp, 8
jmp 0x454493
cmp eax, 3
je 0x454fab
jmp 0x45501d
movq xmm4, qword [eax]
mov eax, dword [ecx]
lea edx, [ebp - 0x48]
movq qword [ebp - 0x48], xmm4
mov dword [esp + 4], edx
mov dword [esp], 0x1ae
call dword [eax + 8]
mov esi, dword [edi + 0x38]
mov ebx, dword [edi + 0x3c]
sub esp, 8
jmp 0x454493
cmp eax, 0x7b
je 0x453b83
jmp case.0x453719.41
lea edx, [ebp - 0x48]
movups xmmword [ebp - 0x48], xmm0
mov dword [esp + 4], edx
mov dword [esp], 0x46
call dword [esi + 8]
sub esp, 8
jmp 0x453ef5
sub eax, 0xa9
cmp eax, 0x51
jbe case.0x453719.64
jmp case.0x453719.41
mov ecx, dword [ecx + 0x60]
movq xmm2, qword [eax]
lea edx, [ebp - 0x48]
mov eax, dword [ecx]
movq qword [ebp - 0x48], xmm2
mov dword [esp + 4], edx
mov dword [esp], 0x161
call dword [eax + 8]
mov esi, dword [edi + 0x38]
mov ebx, dword [edi + 0x3c]
sub esp, 8
jmp 0x454493
movq xmm4, qword [eax]
mov eax, dword [ecx]
lea edx, [ebp - 0x48]
movq qword [ebp - 0x48], xmm4
mov dword [esp + 4], edx
mov dword [esp], 0x162
call dword [eax + 8]
mov esi, dword [edi + 0x38]
mov ebx, dword [edi + 0x3c]
sub esp, 8
jmp 0x454493
mov ecx, ebx
mov word [ebp - 0x124], ax
call edx
mov ebx, dword [edi]
mov eax, dword [ebp - 0xe8]
lea ecx, [ebp - 0xa0]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004248d0
movdqu xmm4, xmmword [ebp - 0x68]
mov edx, dword [edi + 4]
mov ecx, ebx
movzx eax, byte [ebp - 0x120]
sub esp, 8
mov byte [ebp - 0x54], al
movzx eax, byte [ebp - 0x118]
mov byte [ebp - 0x50], al
movzx eax, word [ebp - 0x124]
mov word [ebp - 0x4e], ax
movups xmmword [esp + 0x10], xmm4
movdqu xmm6, xmmword [ebp - 0x5c]
mov byte [esp + 0xc], 1
movups xmmword [esp + 0x1c], xmm6
mov eax, dword [ebp - 0x108]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xfc]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00483ac0
sub esp, 0x2c
cmp eax, 1
je 0x455a04
mov ecx, dword [edi + 4]
cmp eax, 3
je 0x45562f
test eax, eax
je 0x45562f
mov eax, dword [ecx]
call dword [eax + 0x70]
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa0]
mov dword [eax + 0xca], edx
movzx edx, byte [ebp - 0x98]
mov byte [eax + 0xce], dl
jmp 0x453bb1
cmp eax, 3
je 0x454e32
jmp 0x454e84
cmp byte [esi + 0x18], 0
jne 0x45501d
movd xmm0, dword [esi + 0x28]
xor ecx, ecx
lea edx, [ebp - 0x90]
mov dword [esi + 0x14], 0x3b
mov word [esi + 0x18], cx
mov ecx, dword [esi + 0x60]
movdqa xmm1, xmm0
movd dword [esi + 0x2c], xmm0
punpckldq xmm1, xmm0
movq qword [esi + 0xc], xmm1
mov eax, dword [ecx]
movq qword [ebp - 0x90], xmm1
mov dword [esp + 4], edx
mov dword [esp], 0xd8
call dword [eax + 8]
lea ecx, [esi + 0xc]
sub esp, 8
call fcn.00451070
jmp 0x45501d
mov eax, dword [edi]
mov dword [ebp - 0xe8], eax
jmp 0x454780
mov eax, dword [esi + 0x14]
cmp eax, 0x7d
je 0x454e84
cmp eax, 0x80
je 0x454e84
cmp eax, 0x3b
je 0x455622
cmp byte [esi + 0x18], 0
jne 0x454e84
movd xmm0, dword [esi + 0x28]
mov ecx, dword [esi + 0x60]
lea edx, [ebp - 0x80]
mov dword [esi + 0x14], 0x3b
mov word [esi + 0x18], 0
movdqa xmm1, xmm0
movd dword [esi + 0x2c], xmm0
punpckldq xmm1, xmm0
movq qword [esi + 0xc], xmm1
mov eax, dword [ecx]
movq qword [ebp - 0x80], xmm1
mov dword [esp + 4], edx
mov dword [esp], 0xd7
call dword [eax + 8]
push edx
push edx
lea ecx, [esi + 0xc]
call fcn.00451070
jmp 0x454e84
mov eax, dword [ecx]
call dword [eax + 0x34]
mov edx, dword [edi + 4]
mov ecx, dword [edi]
mov byte [ebp - 0x84], 0
movzx eax, byte [ebp - 0x90]
and eax, 0xfffffff0
or eax, 3
mov byte [ebp - 0x90], al
movdqu xmm7, xmmword [ebp - 0x90]
mov dword [esp], edx
movups xmmword [esp + 4], xmm7
call fcn.00476e20
mov esi, dword [ebp - 0xf8]
mov ecx, dword [edi + 0x4c]
sub esp, 0x14
mov eax, dword [esi + 0x10]
movdqu xmm2, xmmword [esi]
mov dword [ebp - 0x134], ecx
movq xmm6, qword [esi]
movq xmm7, qword [esi + 8]
mov dword [ebp - 0x70], eax
movzx eax, byte [esi + 0x10]
mov esi, dword [edi + 0x48]
movups xmmword [ebp - 0xe8], xmm2
mov byte [ebp - 0x118], al
movups xmmword [ebp - 0x80], xmm2
movq qword [ebp - 0x110], xmm6
movq qword [ebp - 0x108], xmm7
cmp esi, ecx
je 0x4559b9
test al, al
jne 0x455709
mov eax, esi
jmp 0x4556d0
add eax, 0x30
cmp dword [ebp - 0x134], eax
je 0x455709
cmp byte [eax + 0x24], 0
je 0x4556c5
movdqu xmm2, xmmword [eax + 0x14]
movups xmmword [ebp - 0x80], xmm2
mov edx, dword [eax + 0x24]
mov dword [ebp - 0x70], edx
movq xmm4, qword [eax + 0x14]
movq xmm6, qword [eax + 0x1c]
movzx eax, byte [eax + 0x24]
movq qword [ebp - 0x110], xmm4
mov byte [ebp - 0x118], al
movq qword [ebp - 0x108], xmm6
movq xmm7, qword [ebp - 0x108]
movq xmm4, qword [ebp - 0x110]
movq qword [ebp - 0xc0], xmm7
mov eax, dword [ebp - 0xbc]
movq qword [ebp - 0xd0], xmm4
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x108]
movq qword [ebp - 0xc8], xmm7
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0xcc]
movq qword [ebp - 0xd8], xmm4
mov ecx, dword [edi + 0x3c]
mov edx, dword [edi + 0x38]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x140], eax
cmp ecx, edx
je 0x455f07
mov ebx, edx
mov eax, edx
jmp 0x455788
add eax, 0xc
cmp ecx, eax
je 0x455f42
cmp dword [eax + 8], 0xc8
mov dword [ebp - 0x124], eax
jne 0x45577d
mov eax, edx
jmp 0x4557a6
add eax, 0xc
cmp ecx, eax
je 0x455f28
cmp dword [eax + 8], 0x3f
jne 0x45579b
mov dword [ebp - 0x12c], eax
mov eax, edx
jmp 0x4557c1
add eax, 0xc
cmp ecx, eax
je 0x455f35
cmp dword [eax + 8], 0xe8
jne 0x4557b6
mov dword [ebp - 0x120], eax
jmp 0x4557e3
add ebx, 0xc
cmp ecx, ebx
je 0x455f1b
mov eax, dword [ebx + 8]
sub eax, 0xe0
cmp eax, 2
ja 0x4557d8
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0xe8], edi
mov eax, dword [esi + 4]
mov edi, dword [esi]
lea eax, [eax + eax*2]
lea ebx, [edi + eax*4]
cmp edi, ebx
je 0x455dc4
mov eax, edi
jmp 0x45581a
add eax, 0xc
cmp ebx, eax
je 0x45585d
cmp dword [eax + 8], 0x2a
jne 0x455813
mov edi, dword [ebp - 0xe8]
movq xmm7, qword [eax]
mov ecx, dword [edi]
lea edi, [ebp - 0x48]
mov ecx, dword [ecx + 0x60]
movq qword [ebp - 0x48], xmm7
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], 0x13a
call dword [eax + 8]
mov eax, dword [esi + 4]
mov edi, dword [esi]
sub esp, 8
lea eax, [eax + eax*2]
lea ebx, [edi + eax*4]
cmp edi, ebx
je 0x455dc4
mov eax, edi
jmp 0x455868
add eax, 0xc
cmp ebx, eax
je 0x4558c4
cmp dword [eax + 8], 0x40
jne 0x455861
mov edi, dword [ebp - 0xe8]
movd xmm6, dword [eax + 4]
movd xmm0, dword [edi + 0x34]
mov ecx, dword [edi]
lea edi, [ebp - 0x48]
movdqa xmm1, xmm0
mov ecx, dword [ecx + 0x60]
punpckldq xmm1, xmm0
movd xmm0, dword [eax]
punpckldq xmm0, xmm6
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], 0x2f
call dword [eax + 8]
mov eax, dword [esi + 4]
mov edi, dword [esi]
sub esp, 8
lea eax, [eax + eax*2]
lea ebx, [edi + eax*4]
cmp edi, ebx
je 0x455dcc
mov edx, edi
mov eax, edi
jmp 0x4558d5
add eax, 0xc
cmp ebx, eax
je 0x455a4b
cmp dword [eax + 8], 0xc8
mov ecx, eax
jne 0x4558ca
cmp byte [esi + 0x24], 0
je 0x455a5b
cmp byte [ebp - 0x118], 0
je 0x455a5b
mov eax, dword [esi + 0x18]
mov edx, dword [ebp - 0x130]
cmp edx, dword [esi + 0x20]
jne 0x45591b
jmp 0x455df3
add edi, 0xc
cmp ebx, edi
je 0x455e2d
cmp dword [edi + 8], 0x3f
jne 0x455910
mov eax, dword [ebp - 0xe8]
movdqu xmm5, xmmword [esi + 0x14]
lea edi, [ebp - 0x48]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x88]
mov byte [ebp - 0x38], 1
movups xmmword [ebp - 0x48], xmm5
mov dword [esp], edi
call eax
sub esp, 4
add esi, 0x30
cmp dword [ebp - 0x134], esi
jne 0x4557fc
mov esi, dword [ebp - 0x124]
mov edi, dword [ebp - 0xe8]
test esi, esi
je 0x455995
cmp byte [ebp - 0x128], 0
je 0x455995
mov eax, dword [edi]
movq xmm7, qword [esi]
lea edx, [ebp - 0x48]
mov ecx, dword [eax + 0x60]
movq qword [ebp - 0x48], xmm7
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x88
call dword [eax + 8]
push eax
push eax
movzx eax, byte [ebp - 0x118]
movq xmm2, qword [ebp - 0x110]
movq xmm3, qword [ebp - 0x108]
mov byte [ebp - 0x70], al
movq qword [ebp - 0x80], xmm2
movq qword [ebp - 0x78], xmm3
mov eax, dword [ebp - 0x70]
movq xmm4, qword [ebp - 0x110]
movq xmm5, qword [ebp - 0x108]
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x38], eax
movzx eax, byte [ebp - 0x118]
movq qword [ebp - 0x48], xmm4
mov byte [ebp - 0x38], al
mov eax, dword [ebp - 0x38]
movq qword [ebp - 0x40], xmm5
movdqu xmm6, xmmword [ebp - 0x48]
mov dword [ecx + 0x10], eax
movups xmmword [ecx], xmm6
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
call dword [eax + 0x70]
jmp 0x45551d
mov ebx, dword [edi]
cmp byte [ebx + 0x6d], 0
jne 0x455f65
mov edx, dword [edi + 0x3c]
mov eax, dword [edi + 0x38]
cmp edx, eax
jne 0x455a2b
jmp 0x4561a1
add eax, 0xc
cmp edx, eax
je 0x4561a1
cmp dword [eax + 8], 0x3f
jne 0x455a20
mov ecx, dword [edi + 4]
jmp 0x455518
add edx, 0xc
cmp ebx, edx
je 0x455e98
cmp dword [edx + 8], 0xe7
jne 0x455a40
mov ecx, edx
jmp 0x4558e0
test ecx, ecx
je 0x455a95
mov ebx, dword [ebp - 0x124]
test ebx, ebx
jne 0x455a95
mov eax, dword [ebp - 0xe8]
movq xmm4, qword [ecx]
lea edi, [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 0x60]
movq qword [ebp - 0x48], xmm4
mov ebx, dword [eax]
mov ecx, eax
mov dword [esp + 4], edi
mov dword [esp], 0x4b
call dword [ebx + 8]
sub esp, 8
mov ecx, dword [esi + 4]
mov eax, dword [esi]
lea ecx, [ecx + ecx*2]
lea ecx, [eax + ecx*4]
cmp eax, ecx
jne 0x455abb
jmp 0x455ca2
add eax, 0xc
cmp ecx, eax
je 0x455ca2
cmp dword [eax + 8], 0x3f
jne 0x455ab0
mov ecx, dword [ebp - 0x12c]
test ecx, ecx
jne 0x455b0f
mov edi, dword [ebp - 0xe8]
movd xmm0, dword [eax]
movd xmm6, dword [eax + 4]
mov eax, dword [ebp - 0x114]
mov ecx, dword [edi]
lea edi, [ebp - 0x48]
movd xmm1, eax
punpckldq xmm0, xmm6
mov ecx, dword [ecx + 0x60]
punpckldq xmm1, xmm1
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], 0x48
call dword [eax + 8]
sub esp, 8
mov ecx, dword [esi + 4]
mov eax, dword [esi]
movd xmm0, dword [esi + 0x28]
lea ecx, [ecx + ecx*2]
lea ecx, [eax + ecx*4]
cmp eax, ecx
je 0x45622e
mov ebx, eax
jmp 0x455b36
add ebx, 0xc
cmp ecx, ebx
je 0x455cfc
cmp dword [ebx + 8], 0xe8
jne 0x455b2b
mov edx, dword [ebp - 0x120]
test edx, edx
jne 0x455b98
mov eax, dword [ebp - 0xe8]
movd xmm0, dword [ebx]
lea edi, [ebp - 0x48]
movd xmm4, dword [ebx + 4]
mov eax, dword [eax]
punpckldq xmm0, xmm4
mov ecx, dword [eax + 0x60]
mov eax, dword [ebp - 0x100]
movd xmm1, eax
punpckldq xmm1, xmm1
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], 0x48
call dword [eax + 8]
mov ecx, dword [esi + 4]
mov eax, dword [esi]
sub esp, 8
lea ecx, [ecx + ecx*2]
lea ecx, [eax + ecx*4]
cmp eax, ecx
jne 0x455bb3
jmp 0x45623b
add eax, 0xc
cmp ecx, eax
je 0x455d51
mov edi, dword [eax + 8]
lea edx, [edi - 0xe0]
cmp edx, 2
ja 0x455ba8
mov ebx, dword [ebp - 0xfc]
test ebx, ebx
je 0x455eb1
mov edi, dword [ebp - 0xfc]
mov ecx, dword [edi + 8]
cmp ecx, 0xe2
je 0x455e9f
cmp dword [eax + 8], ecx
je 0x455c3a
movd xmm1, dword [eax]
movd xmm5, dword [eax + 4]
mov edi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xfc]
punpckldq xmm1, xmm5
mov ecx, dword [edi]
mov edi, dword [eax + 4]
movd xmm0, dword [eax]
movd xmm6, edi
mov ecx, dword [ecx + 0x60]
mov dword [ebp - 0x128], edi
lea edi, [ebp - 0x48]
punpckldq xmm0, xmm6
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], 0x159
call dword [eax + 8]
sub esp, 8
cmp dword [esi + 0xc], 1
mov edi, dword [ebp - 0xe8]
mov ebx, 1
jle 0x455c96
mov eax, dword [edi]
mov ecx, dword [eax + 0x60]
mov eax, dword [esi + 8]
lea edx, [eax + ebx*8]
movd xmm1, dword [eax]
movd xmm6, dword [eax + 4]
add ebx, 1
movd xmm0, dword [edx]
movd xmm4, dword [edx + 4]
lea edx, [ebp - 0x48]
punpckldq xmm1, xmm6
punpckldq xmm0, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0x18c
call dword [eax + 8]
sub esp, 8
cmp ebx, dword [esi + 0xc]
jl 0x455c4b
mov byte [ebp - 0x128], 1
jmp 0x45594a
mov edi, dword [ebp - 0x12c]
movd xmm0, dword [esi + 0x2c]
test edi, edi
je 0x455b0f
mov eax, dword [ebp - 0xe8]
movd xmm1, dword [edi]
punpckldq xmm0, xmm0
mov eax, dword [eax]
mov ecx, dword [eax + 0x60]
mov eax, dword [edi + 4]
lea edi, [ebp - 0x48]
movd xmm2, eax
mov dword [ebp - 0x128], eax
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], 0x49
call dword [eax + 8]
sub esp, 8
jmp 0x455b0f
mov edx, dword [ebp - 0x120]
test edx, edx
je 0x455b98
mov eax, dword [ebp - 0xe8]
punpckldq xmm0, xmm0
mov eax, dword [eax]
mov ecx, dword [eax + 0x60]
mov eax, dword [ebp - 0x120]
mov edi, dword [eax + 4]
movd xmm1, dword [eax]
movd xmm7, edi
mov dword [ebp - 0x128], edi
lea edi, [ebp - 0x48]
punpckldq xmm1, xmm7
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], 0x49
jmp 0x455b87
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x455c3a
mov eax, dword [ebp - 0xfc]
cmp dword [eax + 8], 0xe2
je 0x455c3a
mov eax, dword [ebp - 0xe8]
movd xmm0, dword [esi + 0x28]
mov eax, dword [eax]
punpckldq xmm0, xmm0
mov ecx, dword [eax + 0x60]
mov eax, dword [ebp - 0xfc]
mov edi, dword [eax + 4]
movd xmm1, dword [eax]
movd xmm4, edi
mov dword [ebp - 0x128], edi
lea edi, [ebp - 0x48]
punpckldq xmm1, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], 0x49
call dword [eax + 8]
sub esp, 8
jmp 0x455c3a
imul ebx, dword [esi + 4], 0xc
mov edi, dword [esi]
add ebx, edi
cmp byte [esi + 0x24], 0
je 0x455ca2
cmp byte [ebp - 0x118], 0
je 0x455a95
mov eax, dword [esi + 0x18]
mov edx, dword [ebp - 0x130]
xor ecx, ecx
cmp edx, dword [esi + 0x20]
jne 0x455e25
test edx, edx
je 0x455a5b
mov dword [ebp - 0x144], ecx
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x138]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sub.msvcrt.dll_memcmp
mov ecx, dword [ebp - 0x144]
test eax, eax
je 0x455a5b
cmp edi, ebx
jne 0x45591b
mov eax, dword [ebp - 0xe8]
mov edx, dword [esi + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x60]
mov edi, dword [eax]
test edx, edx
je 0x455e49
test ecx, ecx
je 0x4561d4
movd xmm0, dword [esi + 0x10]
lea ebx, [ebp - 0x48]
mov ecx, eax
punpckldq xmm0, xmm0
movq qword [ebp - 0x48], xmm0
mov dword [esp + 4], ebx
mov dword [esp], 0xc0
call dword [edi + 8]
mov eax, dword [ebp - 0xe8]
movdqu xmm2, xmmword [esi + 0x14]
sub esp, 8
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x88]
mov byte [ebp - 0x38], 1
movups xmmword [ebp - 0x48], xmm2
mov dword [esp], ebx
call eax
sub esp, 4
jmp 0x45594a
xor ecx, ecx
jmp 0x4558e0
cmp dword [eax + 8], 0xe2
jne 0x455be9
jmp 0x455c3a
cmp dword [eax + 8], 0xe2
je 0x455c3a
mov edi, dword [ebp - 0xe8]
movd xmm0, dword [eax]
movd xmm2, dword [eax + 4]
mov eax, dword [ebp - 0x100]
mov ecx, dword [edi]
lea edi, [ebp - 0x48]
movd xmm1, eax
punpckldq xmm0, xmm2
mov ecx, dword [ecx + 0x60]
punpckldq xmm1, xmm1
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edi
mov dword [esp], 0x48
call dword [eax + 8]
sub esp, 8
jmp 0x455c3a
xor eax, eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x124], eax
xor eax, eax
mov dword [ebp - 0xfc], eax
jmp 0x4557f6
xor eax, eax
mov dword [ebp - 0x12c], eax
jmp 0x4557b2
xor eax, eax
mov dword [ebp - 0x120], eax
jmp 0x4557e3
mov eax, edx
jmp 0x455f51
add eax, 0xc
cmp ecx, eax
je 0x456284
cmp dword [eax + 8], 0xe7
jne 0x455f46
mov dword [ebp - 0x124], eax
jmp 0x455797
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0xfc], eax
xor eax, eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
lea eax, [ebx + 0x80]
mov dword [ebp - 0x74], eax
mov eax, dword [ebx + 0x14]
cmp eax, 0x3b
je 0x455fa9
jmp 0x456131
movq qword [esi], xmm7
add esi, 8
mov dword [ebp - 0x7c], esi
call fcn.00451070
mov ebx, dword [edi]
mov eax, dword [ebx + 0x14]
cmp eax, 0x3b
jne 0x455fe2
movq xmm7, qword [ebx + 0xc]
lea ecx, [ebx + 0xc]
movq qword [ebp - 0xe8], xmm7
cmp dword [ebp - 0x78], esi
jne 0x455f90
lea ecx, [ebp - 0x80]
call fcn.00479bc0
mov edx, dword [ebp - 0x7c]
mov ecx, dword [edi]
movq xmm2, qword [ebp - 0xe8]
lea esi, [edx + 8]
add ecx, 0xc
movq qword [edx], xmm2
mov dword [ebp - 0x7c], esi
jmp 0x455f9a
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0xe8], ecx
cmp ecx, esi
je 0x456139
mov ecx, dword [ebp - 0xe8]
mov ebx, dword [edi + 0x38]
xor edx, edx
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x38], edx
sub esi, ecx
mov ecx, dword [ebp - 0xf8]
mov dword [edi + 0x3c], edx
mov dword [edi + 0x40], edx
sub eax, ebx
sar esi, 3
movdqu xmm4, xmmword [ecx]
mov edx, dword [ecx + 0x10]
sar eax, 2
imul eax, eax, 0xaaaaaaab
mov ecx, dword [edi + 0x4c]
mov dword [ebp - 0x24], edx
movups xmmword [ebp - 0xf8], xmm4
movups xmmword [ebp - 0x34], xmm4
cmp dword [edi + 0x50], ecx
je 0x456118
mov edx, dword [edi + 0x4c]
movq xmm6, qword [ebp - 0x110]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x3c], esi
add edx, 0x30
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xfc]
movdqu xmm7, xmmword [ebp - 0x48]
movq qword [ebp - 0x20], xmm6
mov dword [ebp - 0x38], eax
mov eax, dword [ecx]
movups xmmword [edx - 0x30], xmm7
movdqu xmm2, xmmword [ebp - 0x38]
movups xmmword [edx - 0x20], xmm2
movdqu xmm3, xmmword [ebp - 0x28]
movups xmmword [edx - 0x10], xmm3
mov dword [edi + 0x4c], edx
call dword [eax + 0x70]
mov eax, dword [edi]
cmp byte [edi + 0x30], 0
mov eax, dword [eax + 0xc]
mov dword [edi + 0x34], eax
je 0x4560a7
mov byte [edi + 0x30], 0
mov eax, dword [edi + 0x38]
test eax, eax
je 0x4560e2
mov ecx, dword [edi + 0x44]
mov ebx, dword [ecx]
mov dword [esp + 8], 4
mov edx, dword [edi + 0x3c]
mov dword [esp], eax
sub edx, eax
mov dword [esp + 4], edx
call dword [ebx + 0xc]
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
sub esp, 0xc
mov dword [edi + 0x40], 0
mov ecx, edi
call fcn.00451ee0
test al, al
jne 0x4560f4
mov ecx, edi
call fcn.00452320
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x9c]
mov dword [eax + 0xca], edx
movzx edx, byte [ebp - 0x98]
mov byte [eax + 0xce], dl
jmp 0x4538de
lea ecx, [edi + 0x48]
mov dword [ebp - 0xf8], eax
call fcn.00479650
mov eax, dword [ebp - 0xf8]
jmp 0x456041
xor esi, esi
mov dword [ebp - 0xe8], esi
cmp eax, 0x7d
je 0x45614b
cmp eax, 0x80
je 0x45614b
cmp byte [ebx + 0x18], 0
je 0x456156
mov esi, dword [ebp - 0xe8]
jmp 0x455ff3
movd xmm0, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x60]
lea edx, [ebp - 0x48]
mov dword [ebx + 0x14], 0x3b
mov word [ebx + 0x18], 0
movdqa xmm1, xmm0
movd dword [ebx + 0x2c], xmm0
punpckldq xmm1, xmm0
movq qword [ebx + 0xc], xmm1
mov eax, dword [ecx]
movq qword [ebp - 0x48], xmm1
mov dword [esp + 4], edx
mov dword [esp], 0xda
call dword [eax + 8]
push ecx
push ecx
lea ecx, [ebx + 0xc]
call fcn.00451070
jmp 0x45614b
movd xmm0, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x60]
lea edx, [ebp - 0x48]
punpckldq xmm0, xmm0
movq qword [ebp - 0x48], xmm0
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], 0xc0
call dword [eax + 8]
push eax
push eax
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
call dword [eax + 0x70]
jmp 0x45551d
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 0x1c]
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x128], ecx
add ebx, ecx
mov ecx, dword [ebp - 0x13c]
movd xmm1, edx
movd xmm7, ebx
lea ebx, [ebp - 0x48]
add ecx, edx
movd xmm0, ecx
mov ecx, eax
punpckldq xmm1, xmm0
movd xmm0, dword [ebp - 0x128]
punpckldq xmm0, xmm7
punpcklqdq xmm0, xmm1
movups xmmword [ebp - 0x48], xmm0
mov dword [esp + 4], ebx
mov dword [esp], 0x139
call dword [edi + 8]
push ebx
push ebx
jmp 0x455c96
cmp dword [ebp - 0x120], 0
jne 0x455d0a
mov eax, dword [ebp - 0xfc]
test eax, eax
je 0x455c3a
cmp dword [eax + 8], 0xe2
jne 0x455d72
jmp 0x455c3a
mov dword [esp + 8], str.parse_and_visit_field_or_method_impl
mov dword [esp + 4], 0x426
mov dword [esp], str.D:_a_quick_lint_js_quick_lint_js_src_quick_lint_js_fe_parse_class.cpp
mov ecx, dword [ebp - 0xe8]
call fcn.004258f0
xor ecx, ecx
jmp 0x4544f3
xor eax, eax
mov dword [ebp - 0x124], eax
jmp 0x455797