Function at 0x476f00
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
push edi
lea edi, [ecx + 0xc]
push esi
push ebx
mov ebx, ecx
mov ecx, edi
sub esp, 0x5c
call fcn.00451070
mov eax, dword [ebx + 0x14]
cmp eax, 0x28
je 0x477098
cmp eax, 0x27
jle 0x477104
cmp eax, 0xde
jg 0x4771b0
cmp eax, 0xc5
jle 0x4770e0
lea edx, [eax - 0xc6]
mov ecx, 0x1f3f90d
bt ecx, edx
jae 0x477104
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
movd xmm7, dword [ebx + 0x20]
sub ecx, edx
movd xmm1, edx
movd xmm0, ecx
mov ecx, dword [ebx + 0x78]
punpckldq xmm1, xmm7
movd xmm7, dword [ebx + 0x1c]
lea esi, [ecx - 1]
punpckldq xmm0, xmm7
or esi, 3
add esi, 1
mov edx, esi
sub edx, ecx
lea ebp, [edx + 0x18]
mov edx, dword [ebx + 0x7c]
sub edx, ecx
cmp edx, ebp
jb 0x477211
lea edx, [esi + 0x18]
mov dword [ebx + 0x78], edx
mov dword [esi], 0x2d
mov dword [esi + 4], eax
movq qword [esi + 8], xmm1
movq qword [esi + 0x10], xmm0
jmp 0x477023
cmp eax, 0x81
jne 0x477075
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x7c]
movd xmm4, dword [ebx + 0x20]
sub edx, eax
movd xmm1, eax
mov eax, 0x20
movd xmm5, dword [ebx + 0x1c]
movd xmm0, edx
mov edx, dword [ebx + 0x78]
punpckldq xmm1, xmm4
punpckldq xmm0, xmm5
lea esi, [edx - 1]
sub eax, edx
sub ecx, edx
or esi, 3
add esi, 1
add eax, esi
cmp ecx, eax
jb 0x477128
lea eax, [esi + 0x20]
movq xmm6, qword [esp + 0x28]
mov dword [ebx + 0x78], eax
mov dword [esi], 0x12
mov dword [esi + 0x1c], ebp
movq qword [esi + 4], xmm1
movq qword [esi + 0xc], xmm0
movq qword [esi + 0x14], xmm6
mov ecx, edi
call fcn.00451070
mov eax, dword [ebx + 0x14]
cmp eax, 0x2e
jne 0x477180
movd xmm3, dword [ebx + 0xc]
movd xmm2, esi
mov ecx, edi
mov ebp, dword [ebx + 0x10]
punpckldq xmm2, xmm3
movq qword [esp + 0x28], xmm2
call fcn.00451070
mov eax, dword [ebx + 0x14]
cmp eax, 0x84
je 0x476fbb
jle 0x476fb0
sub eax, 0xa9
cmp eax, 0x51
jbe 0x476fbb
mov dword [esp + 8], str.parse_and_visit_decorator
mov ecx, ebx
mov dword [esp + 4], 0xb8e
mov dword [esp], 0x58fbf8
call fcn.004258f0
lea esi, cs:[esi]
mov ecx, edi
call fcn.00451070
movzx eax, word [0x55edc0]
mov ecx, ebx
mov word [esp + 4], ax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.00419560
sub esp, 8
cmp dword [ebx + 0x14], 0x29
jne 0x477269
mov ecx, edi
call fcn.00451070
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 4
cmp eax, 0x81
je 0x476f52
lea edx, [eax - 0xa9]
cmp edx, 0x12
ja 0x477104
mov ecx, 0x483ff
bt ecx, edx
jb 0x476f52
mov dword [esp + 8], str.parse_and_visit_decorator
mov ecx, ebx
mov dword [esp + 4], 0xba6
mov dword [esp], 0x58fbf8
call fcn.004258f0
lea esi, [esi]
movq qword [esp + 0x38], xmm1
movq qword [esp + 0x30], xmm0
call fcn.00471540
mov ecx, eax
mov eax, dword [eax]
mov dword [esp + 4], 4
mov dword [esp], 0x1000
call dword [eax + 8]
mov edx, dword [ebx + 0x74]
mov dword [eax + 4], 0xff8
sub esp, 8
lea esi, [eax + 8]
movq xmm1, qword [esp + 0x38]
movq xmm0, qword [esp + 0x30]
mov dword [eax], edx
mov dword [ebx + 0x74], eax
add eax, 0x1000
mov dword [ebx + 0x7c], eax
jmp 0x476fff
cmp eax, 0x28
je 0x4771d8
mov eax, dword [esp + 0x70]
mov dword [esp], esi
mov ecx, ebx
mov dword [esp + 8], 1
mov dword [esp + 4], eax
call fcn.00456900
sub esp, 0xc
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 4
lea edx, [eax - 0xe3]
cmp edx, 0x17
ja 0x477104
mov ecx, 0x87427b
bt ecx, edx
jb 0x476f52
jmp 0x477104
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov byte [esp + 0x4c], 0
mov ecx, ebx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.0045cbe0
sub esp, 0x14
mov esi, eax
jmp 0x477185
movq qword [esp + 0x30], xmm0
movq qword [esp + 0x28], xmm1
call fcn.00471540
mov ecx, eax
mov eax, dword [eax]
mov dword [esp + 4], 4
mov dword [esp], 0x1000
call dword [eax + 8]
mov edx, dword [ebx + 0x74]
mov dword [eax + 4], 0xff8
sub esp, 8
lea esi, [eax + 8]
movq xmm0, qword [esp + 0x30]
movq xmm1, qword [esp + 0x28]
mov dword [eax], edx
mov dword [ebx + 0x74], eax
add eax, 0x1000
mov dword [ebx + 0x7c], eax
mov eax, dword [ebx + 0x14]
jmp 0x476f94
mov dword [esp + 8], str.parse_and_visit_decorator
mov ecx, ebx
mov dword [esp + 4], 0xba1
mov dword [esp], 0x58fbf8
call fcn.004258f0
nop
lea esi, cs:[esi]