Function at 0x4057a0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, eax
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x110
mov eax, dword [0x5140ec]
mov dword [esp + 0x10c], eax
xor eax, eax
mov dword [esp + 0x2c], ecx
test ecx, ecx
je case.0x4057dc.45
mov ebx, dword [edi + 0x118]
test ebx, ebx
jne case.default.0x40a35e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
cmp esi, 0x5f
ja case.0x4057dc.45
jmp dword [esi*4 + 0x4cbb1c]
lea esi, [edx - 0x52]
cmp esi, 1
ja 0x407eb6
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x40a572
add eax, 0x10
cmp dword [esp + 0x28], 4
jne 0x4098b8
mov dword [edi + 0x114], ecx
nop
mov dword [edi + 0x118], 1
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a480
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [esp + 0x38]
movd xmm0, dword [edi + 0x114]
movd xmm1, dword [esp + 0x2c]
mov dword [esp + 0x40], 0
mov dword [edi + 0x114], eax
mov eax, dword [edi + 0x110]
punpckldq xmm0, xmm1
mov dword [esp + 0x44], eax
movd eax, xmm1
movq qword [esp + 0x38], xmm0
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
mov edx, 0x11
mov eax, edi
call sym._d_print_comp
mov esi, dword [esp + 0x40]
test esi, esi
je 0x4090f1
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
test ebx, ebx
je case.default.0x40a35e
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.default.0x40a35e
mov ecx, dword [edi + 0x114]
mov eax, ecx
test ecx, ecx
je 0x40a44c
mov dword [esp + 0x28], ebx
lea esi, [esi]
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x4058ec
mov edx, dword [eax + 4]
mov edx, dword [edx]
lea ebx, [edx - 0x19]
cmp ebx, 2
ja 0x4058f2
cmp esi, edx
je 0x409a16
mov eax, dword [eax]
test eax, eax
jne 0x4058d0
lea eax, [esp + 0x38]
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x28]
mov dword [edi + 0x114], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x110]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], eax
jmp 0x405877
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a662
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi + 0x120]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0x40945b
xor ebx, ebx
cmp dword [eax], 5
je 0x409f3a
mov edx, dword [eax]
cmp edx, 0x24
je 0x409835
mov ecx, dword [edi + 0x114]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0x110]
cmp esi, edx
je 0x409a81
cmp edx, 0x25
je 0x409106
movd xmm0, dword [esp + 0x24]
movd xmm7, dword [esp + 0x2c]
punpckldq xmm0, xmm7
lea eax, [esp + 0x38]
mov dword [esp + 0x40], 0
mov dword [edi + 0x114], eax
mov dword [esp + 0x44], ecx
movq qword [esp + 0x38], xmm0
jmp 0x405877
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4059ff
mov edx, 0x11
mov eax, edi
call sym._d_print_comp
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je case.default.0x40a35e
mov eax, dword [edi + 0x100]
cmp eax, 0xfd
ja 0x409a50
mov edx, 0x4cb875
mov eax, edi
call sym._d_append_string
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, dword [edi + 0x128]
mov esi, dword [edi + 0x100]
mov ecx, dword [eax + 0x10]
mov eax, edi
call sym._d_print_comp
cmp dword [edi + 0x128], ebx
jne case.default.0x40a35e
mov eax, dword [edi + 0x100]
cmp eax, esi
jne case.default.0x40a35e
sub eax, 2
mov dword [edi + 0x100], eax
jmp case.default.0x40a35e
lea eax, [esp + 0x38]
movd xmm0, dword [edi + 0x114]
movd xmm3, dword [esp + 0x2c]
mov dword [esp + 0x40], 0
mov dword [edi + 0x114], eax
mov eax, dword [edi + 0x110]
mov edx, 0x11
punpckldq xmm0, xmm3
mov dword [esp + 0x44], eax
movd eax, xmm3
mov ecx, dword [eax + 0x10]
movq qword [esp + 0x38], xmm0
mov eax, edi
call sym._d_print_comp
mov esi, dword [esp + 0x40]
test esi, esi
je 0x409877
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
jmp case.default.0x40a35e
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, dword [esi + 0xc]
call sym._d_print_comp
mov edx, 0x4cb878
mov eax, edi
call sym._d_append_string
mov ebx, dword [esi + 0x10]
cmp dword [ebx], 0x49
je 0x409be6
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6f8
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
cmp dword [ecx], 0x28
jne 0x409606
mov eax, dword [ecx + 0xc]
mov ebx, dword [eax + 0x10]
cmp ebx, 6
ja 0x4098eb
test ebx, ebx
je 0x405b6c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
je 0x40a32e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409e34
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov edx, 0x11
mov byte [edi + eax], 0x28
mov eax, edi
mov byte [edi + 0x104], 0x28
call sym._d_print_comp
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409dff
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x29
mov eax, dword [esp + 0x2c]
mov byte [edi + 0x104], 0x29
cmp dword [eax], 0x3f
je 0x409dee
cmp ebx, 8
je 0x409da9
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6a8
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x40960d
mov edx, 0x11
mov eax, edi
call sym._d_print_comp
cmp dword [ebx], 0x56
je 0x409616
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x405c5f
mov ebx, 0x2e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a08d
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], bl
mov byte [edi + 0x104], bl
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a66c
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6b2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_expr_op
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
test ecx, ecx
je 0x405cd3
mov edx, 0x11
mov eax, edi
call sym._d_print_comp
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409c7d
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov ecx, ebx
mov edx, 0x11
mov byte [edi + eax], 0x7b
mov eax, edi
mov byte [edi + 0x104], 0x7b
call sym._d_print_comp
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409c48
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40a35e
mov eax, dword [edi + 0x100]
mov ebx, str.global_destructors_keyed_to
mov esi, 0x4cbac9
jmp 0x405d9f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408d3e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x405d80
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cbac9
je 0x408d3e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x405d82
mov eax, dword [edi + 0x100]
mov ebx, str.template_parameter_object_for
mov esi, 0x4cb8b2
jmp 0x405e63
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb8b2
je 0x408d6b
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x405e40
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408d6b
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x405e42
mov eax, dword [edi + 0x100]
mov ebx, str.guard_variable_for
mov esi, 0x4cb996
jmp 0x405f1f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408cab
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x405f00
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb996
je 0x408cab
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x405f02
mov eax, dword [edi + 0x100]
mov ebx, str.non_virtual_thunk_to
mov esi, 0x4cb945
jmp 0x405fdf
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408e1f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x405fc0
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb945
je 0x408e1f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x405fc2
mov eax, dword [edi + 0x100]
mov ebx, str.covariant_return_thunk_to
mov esi, 0x4cb972
jmp 0x40609f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408e76
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406080
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb972
je 0x408e76
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406082
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_name_for
jmp 0x406163
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb91e
je 0x408ed0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406140
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb91e
je 0x408ed0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406142
mov eax, dword [edi + 0x100]
mov ebx, str.java_Class_for
mov esi, 0x4cb982
jmp 0x40621f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408f2a
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406200
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb982
je 0x408f2a
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406202
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_fn_for
mov esi, 0x4cb92f
jmp 0x4062df
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408f84
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4062c0
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408f84
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4062c2
mov eax, dword [edi + 0x100]
mov ebx, str.virtual_thunk_to
mov esi, 0x4cb957
jmp 0x40639f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x409082
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406380
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb957
je 0x409082
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406382
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_for
mov esi, 0x4cb90b
jmp 0x406463
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb90b
je 0x4090af
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406440
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4090af
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406442
mov eax, dword [edi + 0x100]
mov ebx, str.construction_vtable_for
mov esi, 0x4cb8f8
jmp 0x406523
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb8f8
je 0x408806
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406500
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408806
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406502
mov eax, dword [edi + 0x100]
mov ebx, str.non_transaction_clone_for
mov esi, 0x4cba27
jmp 0x4065df
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408a02
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4065c0
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408a02
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4065c2
mov eax, dword [edi + 0x100]
mov ebx, str.vtable_for
mov esi, 0x4cb8d6
jmp 0x40669f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408918
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406680
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408918
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406682
mov eax, dword [edi + 0x100]
mov ebx, str.unnamed_type
mov esi, 0x4cbae3
jmp 0x406763
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cbae3
je 0x408a89
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406740
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408a89
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406742
mov eax, dword [edi + 0x100]
mov ebx, str.VTT_for
mov esi, 0x4cb8df
jmp 0x40681f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4088be
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406800
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4088be
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406802
mov eax, dword [edi + 0x100]
mov ebx, str.transaction_clone_for
mov esi, 0x4cba0c
jmp 0x4068e3
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cba0c
je 0x408a2f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4068c0
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408a2f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4068c2
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409c13
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x7e
mov byte [edi + 0x104], 0x7e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6fd
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [edi + 0x100]
mov ebx, str.lambda
mov esi, 0x4cbad1
jmp 0x4069df
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x409140
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4069c0
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x409ce7
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4069c2
mov eax, dword [edi + 0x100]
mov ebx, str.initializer_for_module
mov esi, 0x4cb8ca
jmp 0x406a9f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408efd
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406a80
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408efd
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406a82
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409386
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], bl
mov byte [edi + 0x104], bl
jmp case.default.0x40a35e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str.__clone
mov esi, 0x4cbaec
mov ecx, dword [eax + 0xc]
mov eax, edi
call sym._d_print_comp
mov eax, dword [edi + 0x100]
jmp 0x406b9f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4086d0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406b80
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4086d0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406b82
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._abi:
mov esi, 0x4cb874
mov ecx, dword [eax + 0xc]
mov eax, edi
call sym._d_print_comp
mov eax, dword [edi + 0x100]
jmp 0x406c5f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4086d0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406c40
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4086d0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406c42
mov eax, dword [esp + 0x2c]
mov ebx, dword [edi + 0x120]
mov ecx, dword [eax + 0xc]
test ebx, ebx
jne 0x4093f4
mov edx, ecx
mov eax, edi
call sym._d_find_pack
xor edx, edx
test eax, eax
je 0x4093f4
lea esi, [esi]
cmp dword [eax], 0x30
jne 0x409a43
mov esi, dword [eax + 0xc]
test esi, esi
je 0x409a43
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
jne 0x406cf0
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
lea esi, cs:[esi]
nop
mov dword [edi + 0x124], ebx
mov ecx, dword [esp + 0x24]
mov eax, edi
mov edx, 0x11
add ebx, 1
call sym._d_print_comp
mov eax, dword [esp + 0x28]
cmp ebx, eax
je case.default.0x40a35e
mov dword [esp + 0x2c], ebx
mov eax, dword [edi + 0x100]
mov esi, 0x4cb875
jmp 0x406da4
mov ecx, eax
lea eax, [ecx + 1]
add esi, 1
mov edx, 0x4cb877
mov dword [edi + 0x100], eax
mov byte [edi + ecx], bl
mov byte [edi + 0x104], bl
cmp edx, esi
je 0x40870d
movzx ebx, byte [esi]
cmp eax, 0xff
jne 0x406d80
mov eax, dword [edi + 0x10c]
add esi, 1
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], bl
mov byte [edi + 0x104], bl
cmp esi, 0x4cb877
je 0x40870d
movzx ebx, byte [esi]
mov ecx, 1
jmp 0x406d82
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6ee
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov esi, dword [esp + 0x2c]
mov eax, dword [edi + 0x120]
mov ecx, dword [esi + 0xc]
lea edx, [ecx + 1]
cmp eax, edx
jle 0x409464
mov eax, dword [edi + 0x110]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
test ecx, ecx
je 0x4099d9
test eax, eax
je case.0x4057dc.45
mov edx, ecx
jmp 0x406e78
test edx, edx
je 0x4099d9
mov eax, dword [eax + 0x10]
sub edx, 1
test eax, eax
jne 0x406e70
jmp case.0x4057dc.45
mov eax, dword [esp + 0x2c]
mov ebx, dword [edi + 0x148]
mov edx, 0x11
mov esi, dword [edi + 0x114]
mov dword [edi + 0x114], 0
mov dword [edi + 0x148], eax
mov ecx, dword [eax + 0xc]
mov eax, edi
call sym._d_print_comp
cmp byte [edi + 0x104], 0x3c
je 0x409ba0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409b6b
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov edx, 0x11
mov byte [edi + eax], 0x3c
mov eax, dword [esp + 0x2c]
mov byte [edi + 0x104], 0x3c
mov ecx, dword [eax + 0x10]
mov eax, edi
call sym._d_print_comp
cmp byte [edi + 0x104], 0x3e
je 0x409b5a
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409b25
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x3e
mov byte [edi + 0x104], 0x3e
mov dword [edi + 0x114], esi
mov dword [edi + 0x148], ebx
jmp case.default.0x40a35e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._friend_
mov esi, 0x4cbaf5
mov ecx, dword [eax + 0xc]
mov eax, edi
call sym._d_print_comp
mov eax, dword [edi + 0x100]
jmp 0x406fa3
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cbaf5
je case.default.0x40a35e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406f80
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je case.default.0x40a35e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406f82
mov eax, dword [edi + 0x100]
mov ebx, str.template
mov esi, 0x4cbb07
jmp 0x40705f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408945
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407040
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408945
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407042
mov eax, dword [edi + 0x100]
mov ebx, str.typename
mov esi, 0x4cbafe
jmp 0x40711f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je case.default.0x40a35e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407100
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cbafe
je case.default.0x40a35e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407102
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409d3f
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x3c
mov eax, dword [esp + 0x2c]
mov byte [edi + 0x104], 0x3c
mov esi, dword [eax + 0xc]
mov dword [esp + 0x2c], 0
test esi, esi
jne 0x4071ee
jmp 0x408e4c
mov ecx, esi
mov edx, 0x11
mov eax, edi
call sym._d_print_comp
mov esi, dword [esi + 0x10]
add dword [esp + 0x2c], 1
test esi, esi
je 0x408e4c
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x4071d0
mov eax, dword [edi + 0x100]
mov ebx, 0x4cb875
jmp 0x407263
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb877
je 0x4071d0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407240
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb877
je 0x4071d0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407242
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_init_function_for
mov esi, 0x4cb9ad
jmp 0x40731f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408a5c
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407300
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb9ad
je 0x408a5c
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407302
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3c
jne case.0x4057dc.45
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3d
jne case.0x4057dc.45
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call sym._d_maybe_print_fold_expression
test eax, eax
jne case.default.0x40a35e
mov ecx, esi
mov edx, 0x11
mov eax, edi
call sym._d_maybe_print_designated_init
test eax, eax
jne case.default.0x40a35e
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0xc]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], esi
mov esi, dword [eax + 0x10]
mov dword [esp + 4], 0x4cba44
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call sym._strcmp
mov ecx, dword [esp + 0x28]
test eax, eax
jne 0x40a500
mov edx, 0x11
mov eax, edi
call sym._d_print_subexpr
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call sym._d_print_expr_op
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call sym._d_print_subexpr
mov eax, edi
mov edx, 0x4cba47
call sym._d_append_string
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a653
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_subexpr
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x10]
cmp dword [eax], 0x3a
jne case.0x4057dc.45
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
cmp byte [eax + 1], 0x63
je 0x40a005
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call sym._d_maybe_print_fold_expression
test eax, eax
jne case.default.0x40a35e
mov ecx, esi
mov edx, 0x11
mov eax, edi
call sym._d_maybe_print_designated_init
test eax, eax
jne case.default.0x40a35e
mov eax, dword [esi + 0xc]
cmp dword [eax], 0x33
je 0x40a485
mov esi, dword [esp + 0x2c]
mov dword [esp + 4], 0x4cba3e
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call sym._strcmp
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 0xc]
test eax, eax
jne 0x4074fd
cmp dword [ecx], 3
je 0x40a4da
mov edx, 0x11
mov eax, edi
call sym._d_print_subexpr
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
mov esi, dword [eax]
mov dword [esp + 4], 0x4cba41
mov dword [esp], esi
call sym._strcmp
test eax, eax
je 0x40a419
mov dword [esp + 4], 0x4cba3e
mov dword [esp], esi
call sym._strcmp
test eax, eax
jne 0x40a5f5
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call sym._d_print_subexpr
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
cmp dword [eax], 0x33
jne case.default.0x40a35e
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne case.default.0x40a35e
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne case.default.0x40a35e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6da
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_char
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov eax, dword [esi]
cmp eax, 0x33
je 0x4096b4
cmp eax, 0x35
je 0x4098bf
mov ecx, esi
mov edx, 0x11
mov eax, edi
call sym._d_print_expr_op
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a716
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_subexpr
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x40a35e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x40765f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je case.default.0x40a35e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407640
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, esi
je case.default.0x40a35e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407642
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._requires
mov esi, 0x4cbb19
mov ecx, dword [eax + 0xc]
mov eax, edi
call sym._d_print_comp
mov eax, dword [edi + 0x100]
jmp 0x40771f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408ea3
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407700
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408ea3
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407702
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, 0x4cba7f
mov ecx, dword [eax + 0xc]
mov eax, edi
call sym._d_print_comp
mov eax, dword [edi + 0x100]
jmp 0x4077e3
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cba82
je case.default.0x40a35e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4077c0
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cba82
je case.default.0x40a35e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4077c2
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x4cba3a
jmp 0x40789f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408f57
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407880
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408f57
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407882
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x4cba3a
jmp 0x40795f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408d98
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407940
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408d98
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407942
mov eax, dword [esp + 0x2c]
mov ebx, 0x4cba28
mov esi, 0x4cba30
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x100]
jmp 0x407a1f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408fb1
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407a00
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408fb1
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407a02
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x409500
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6c6
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x4cba83
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_string
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 4]
mov ebx, dword [eax]
test esi, esi
je case.default.0x40a35e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x407b1f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je case.default.0x40a35e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407b00
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, esi
je case.default.0x40a35e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407b02
mov eax, dword [edi + 0x100]
mov ebx, str.hidden_alias_for
mov esi, 0x4cb9f5
jmp 0x407bdf
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408df2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407bc0
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb9f5
je 0x408df2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407bc2
mov eax, dword [edi + 0x100]
mov ebx, str.java_resource
mov esi, 0x4cba73
jmp 0x407c9f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408d05
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407c80
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408d05
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407c82
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6bc
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409bb1
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x5b
mov byte [edi + 0x104], 0x5b
lea esi, cs:[esi]
nop
mov esi, dword [esp + 0x2c]
mov eax, edi
mov edx, 0x11
mov ecx, dword [esi + 0xc]
call sym._d_print_comp
mov esi, dword [esi + 0x10]
mov eax, dword [edi + 0x100]
mov dword [esp + 0x2c], esi
test esi, esi
je 0x4086e9
mov ebx, 0x4cb875
mov esi, 0x4cb877
jmp 0x407ddb
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x407d70
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407dc0
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x407d70
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407dc2
mov eax, dword [edi + 0x114]
mov dword [edi + 0x114], 0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
test ebx, ebx
je case.0x4057dc.45
lea esi, [esp + 0x48]
mov eax, dword [edi + 0x110]
mov dword [esp + 0x28], 0
xor edx, edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
mov eax, esi
mov dword [eax], edx
mov edx, dword [esp + 0x24]
mov ecx, eax
mov dword [eax + 8], 0
mov dword [eax + 0xc], edx
mov edx, dword [ebx]
add dword [esp + 0x28], 1
mov dword [eax + 4], ebx
cmp edx, 0x4f
je 0x4057ef
ja 0x4057e3
lea esi, [edx - 0x1c]
cmp esi, 5
jbe 0x4057ef
mov dword [edi + 0x114], eax
mov esi, dword [esp + 0x20]
cmp edx, 2
je 0x409e70
cmp edx, 4
je 0x409ef8
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call sym._d_print_comp
cmp dword [ebx], 4
jne 0x407ef4
mov eax, dword [esp + 0x38]
mov dword [edi + 0x110], eax
mov ebx, dword [esp + 0x28]
shl ebx, 4
add ebx, esi
mov eax, dword [ebx - 8]
test eax, eax
je 0x4093bb
sub ebx, 0x10
cmp ebx, esi
jne 0x407efd
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x114], eax
jmp case.default.0x40a35e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x40a35e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x407f5f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je case.default.0x40a35e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407f40
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je case.default.0x40a35e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407f42
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call sym._d_print_comp
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409cb2
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x40
mov byte [edi + 0x104], 0x40
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6d0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [edi + 0x100]
mov ebx, str.global_constructors_keyed_to
mov esi, 0x4cbaac
jmp 0x408063
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cbaac
je 0x408ba5
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408040
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408ba5
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408042
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 4]
mov ebx, dword [eax]
test esi, esi
je 0x408716
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x40811f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408716
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408100
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408716
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408102
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call sym._d_print_comp
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409abb
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x28
mov eax, dword [esp + 0x2c]
mov byte [edi + 0x104], 0x28
mov ecx, dword [eax + 0x10]
mov eax, edi
mov edx, 0x11
call sym._d_print_comp
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409620
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x29
mov byte [edi + 0x104], 0x29
jmp case.default.0x40a35e
mov edx, dword [edi + 0x114]
movd xmm2, dword [esp + 0x2c]
lea esi, [esp + 0x48]
mov dword [esp + 0x50], 0
mov eax, dword [edi + 0x110]
mov dword [edi + 0x114], esi
mov ecx, esi
mov ebx, 1
movd xmm0, edx
mov dword [esp + 0x28], edx
punpckldq xmm0, xmm2
mov dword [esp + 0x54], eax
mov eax, edx
movq qword [esp + 0x48], xmm0
test edx, edx
jne 0x408283
jmp 0x40a4af
mov edx, dword [eax + 8]
test edx, edx
jne 0x40827d
cmp ebx, 3
ja case.0x4057dc.45
movdqu xmm0, xmmword [eax]
mov edx, ebx
add ebx, 1
shl edx, 4
movups xmmword [esp + edx + 0x48], xmm0
mov dword [esp + edx + 0x48], ecx
lea ecx, [esi + edx]
mov dword [edi + 0x114], ecx
mov dword [eax + 8], 1
mov eax, dword [eax]
test eax, eax
je 0x408290
mov edx, dword [eax + 4]
mov edx, dword [edx]
sub edx, 0x19
cmp edx, 2
jbe 0x408248
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call sym._d_print_comp
mov eax, dword [esp + 0x28]
mov dword [edi + 0x114], eax
mov eax, dword [esp + 0x50]
test eax, eax
jne case.default.0x40a35e
lea esi, [esp + 0x4c]
cmp ebx, 1
jbe 0x4082ec
lea esi, cs:[esi]
lea esi, [esi]
sub ebx, 1
mov edx, 0x11
mov eax, ebx
shl eax, 4
mov ecx, dword [esi + eax]
mov eax, edi
call sym._d_print_mod
cmp ebx, 1
jne 0x4082d0
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call sym._d_print_array_type
jmp case.default.0x40a35e
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x408375
movd xmm4, eax
lea eax, [esp + 0x38]
mov edx, 0x11
movd xmm0, dword [edi + 0x114]
mov dword [edi + 0x114], eax
mov eax, dword [edi + 0x110]
mov dword [esp + 0x40], 0
punpckldq xmm0, xmm4
mov dword [esp + 0x44], eax
mov eax, edi
movq qword [esp + 0x38], xmm0
call sym._d_print_comp
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [edi + 0x114], eax
test ecx, ecx
jne case.default.0x40a35e
mov edx, 0x20
mov eax, edi
call sym._d_append_char
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call sym._d_print_function_type
jmp case.default.0x40a35e
mov eax, dword [edi + 0x100]
mov ebx, str.decltype__
jmp 0x4083e3
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cba7e
je 0x408d32
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4083c0
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cba7e
je 0x408d32
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4083c2
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xa8]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x4cb51c
mov dword [esp + 4], 0x19
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call dbg.__mingw_snprintf
test eax, eax
js 0x408487
add eax, 1
cmp eax, 0x19
ja 0x4096af
mov dword [esp], ebx
call sym._strlen
test eax, eax
je case.default.0x40a35e
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x4084df
mov ecx, edx
lea edx, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], edx
mov byte [edi + ecx], al
mov byte [edi + 0x104], al
cmp esi, ebx
je case.default.0x40a35e
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x4084c0
mov edx, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx eax, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], al
mov byte [edi + 0x104], al
cmp esi, ebx
je case.default.0x40a35e
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x4084c2
mov eax, dword [edi + 0x100]
mov ebx, str.reference_temporary_
mov esi, 0x4cb9dd
jmp 0x40859f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408bd2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408580
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb9dd
je 0x408bd2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408582
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_wrapper_function_for
mov esi, 0x4cb9c7
jmp 0x40865f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408cd8
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408640
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb9c7
je 0x408cd8
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408642
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call sym._d_print_comp
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409426
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x5d
mov byte [edi + 0x104], 0x5d
jmp case.default.0x40a35e
mov ebx, dword [esp + 0x2c]
jmp 0x406d20
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0x8f]
movsx eax, word [eax + 0x10]
mov dword [esp + 8], 0x4cb51c
mov dword [esp + 4], 0x19
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call dbg.__mingw_snprintf
test eax, eax
js 0x408751
add eax, 1
cmp eax, 0x19
ja 0x4096af
mov dword [esp], ebx
call sym._strlen
test eax, eax
je 0x4090dc
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x40879f
mov ecx, edx
lea edx, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], edx
mov byte [edi + ecx], al
mov byte [edi + 0x104], al
cmp esi, ebx
je 0x4090dc
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x408780
mov edx, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx eax, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], al
mov byte [edi + 0x104], al
cmp ebx, esi
je 0x4090dc
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x408782
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._in_
mov esi, 0x4cb8fd
mov ecx, dword [eax + 0xc]
mov eax, edi
call sym._d_print_comp
mov eax, dword [edi + 0x100]
jmp 0x40885f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4088eb
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408840
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4088eb
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408842
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a702
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a70c
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6f3
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._class
mov esi, 0x4cbb0e
mov ecx, dword [eax + 0xc]
mov eax, edi
call sym._d_print_comp
mov eax, dword [edi + 0x100]
jmp 0x40899f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je case.default.0x40a35e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408980
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je case.default.0x40a35e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408982
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a707
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6df
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a711
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xf3]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x4cb51c
mov dword [esp + 4], 0x19
add eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call dbg.__mingw_snprintf
test eax, eax
js 0x408ac6
add eax, 1
cmp eax, 0x19
ja 0x4096af
mov dword [esp], ebx
call sym._strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x408b80
lea esi, [ebx + eax]
jmp 0x408b1b
mov ecx, edx
lea edx, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], edx
mov byte [edi + ecx], al
mov byte [edi + 0x104], al
cmp esi, ebx
je 0x408b80
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x408b00
mov edx, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx eax, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], al
mov byte [edi + 0x104], al
cmp esi, ebx
je 0x40980f
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x408b02
cmp edx, 0xff
je 0x409655
lea eax, [edx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + edx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40a35e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a694
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._for
mov esi, 0x4cb9e3
mov ecx, dword [eax + 0x10]
mov eax, edi
call sym._d_print_comp
mov eax, dword [edi + 0x100]
jmp 0x408c1b
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408c7e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408c00
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cb9e3
je 0x408c7e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408c02
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a747
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a774
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6c1
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6d5
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
jmp 0x4081c1
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6a3
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a671
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x148]
test eax, eax
je 0x408dc9
movd xmm0, dword [edi + 0x110]
movd xmm5, eax
lea eax, [esp + 0x38]
mov dword [edi + 0x110], eax
punpckldq xmm0, xmm5
movq qword [esp + 0x38], xmm0
mov edx, 0x11
mov eax, edi
call sym._d_print_comp
mov ecx, dword [edi + 0x148]
test ecx, ecx
je case.default.0x40a35e
mov eax, dword [esp + 0x38]
mov dword [edi + 0x110], eax
jmp case.default.0x40a35e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a756
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a65d
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [edi + 0x100]
lea edx, [eax + 1]
cmp eax, 0xff
je 0x409af0
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x3e
mov byte [edi + 0x104], 0x3e
jmp case.default.0x40a35e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a680
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a760
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a667
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a74c
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a676
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a75b
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a67b
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + 4]
movzx eax, byte [ebx]
sub eax, 0x61
cmp al, 0x19
jbe 0x409819
mov esi, dword [esp + 0x28]
lea eax, [esi - 1]
cmp byte [ebx + esi - 1], 0x20
cmove esi, eax
test esi, esi
je case.default.0x40a35e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x40901f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je case.default.0x40a35e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409000
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, esi
je case.default.0x40a35e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409002
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a765
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a71b
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
mov eax, dword [esp + 0x2c]
movzx ebx, byte [eax + 0x12]
test bl, bl
je case.default.0x40a35e
jmp 0x406b09
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call sym._d_print_mod
jmp 0x405893
mov esi, dword [eax + 0xc]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [edi + 0x114], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], esi
mov dword [esp + 0x3c], eax
test esi, esi
jne 0x405877
jmp 0x40591e
mov esi, dword [esp + 0x2c]
mov edx, dword [edi + 0x110]
mov dword [esp + 0x3c], 0
mov ebx, dword [edi + 0x120]
mov esi, dword [esi + 0xc]
mov dword [esp + 0x38], edx
lea edx, [esp + 0x38]
mov dword [edi + 0x110], edx
mov edx, 1
mov dword [esp + 0x28], ebx
mov dword [edi + 0x120], 0
test esi, esi
je 0x409189
cmp dword [esi], 0x59
je 0x40a0f7
mov dword [edi + 0x120], edx
cmp eax, 0xff
je 0x409d74
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov ecx, esi
mov edx, 0x11
mov ebx, 0x4cbad2
mov byte [edi + eax], 0x28
mov eax, edi
mov esi, 0x4cbad4
mov byte [edi + 0x104], 0x28
call sym._d_print_comp
mov eax, dword [esp + 0x28]
mov dword [edi + 0x120], eax
mov eax, dword [esp + 0x38]
mov dword [edi + 0x110], eax
mov eax, dword [edi + 0x100]
jmp 0x40921b
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x40927e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409200
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x4cbad4
je 0x40927e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409202
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xda]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], 0x4cb51c
mov dword [esp + 4], 0x19
add eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call dbg.__mingw_snprintf
test eax, eax
js 0x4092bb
add eax, 1
cmp eax, 0x19
ja 0x4096af
mov dword [esp], ebx
call sym._strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x408b80
lea esi, [ebx + eax]
jmp 0x40931f
mov ecx, edx
lea edx, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], edx
mov byte [edi + ecx], al
mov byte [edi + 0x104], al
cmp ebx, esi
je 0x408b80
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x409300
mov edx, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx eax, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], al
mov byte [edi + 0x104], al
cmp ebx, esi
je 0x40980f
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x409302
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x406b1d
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a0c2
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov ecx, dword [ebx - 0xc]
mov edx, 0x11
mov byte [edi + eax], 0x20
mov eax, edi
mov byte [edi + 0x104], 0x20
call sym._d_print_mod
jmp 0x407f08
mov eax, edi
mov edx, 0x11
call sym._d_print_subexpr
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a685
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x4cba7f
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_string
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x4086f7
mov eax, dword [esp + 0x28]
jmp 0x405984
test eax, eax
je 0x409958
mov eax, dword [edi + 0x100]
mov ebx, str.auto:
mov esi, 0x4cb892
jmp 0x40949d
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4099ae
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x40947e
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4099ae
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409480
mov edx, str.parm
mov eax, edi
call sym._d_append_string
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0xc1]
mov dword [esp + 8], 0x4cb51c
mov dword [esp + 4], 0x19
mov dword [esp], ebx
call dbg.__mingw_snprintf
test eax, eax
js 0x40953f
add eax, 1
cmp eax, 0x19
ja 0x4096af
mov dword [esp], ebx
call sym._strlen
mov ecx, dword [edi + 0x100]
mov esi, eax
test eax, eax
je 0x40968a
add esi, ebx
jmp 0x40959f
mov edx, ecx
lea ecx, [edx + 1]
add ebx, 1
mov dword [edi + 0x100], ecx
mov byte [edi + edx], al
mov byte [edi + 0x104], al
cmp esi, ebx
je 0x40968a
movzx eax, byte [ebx]
cmp ecx, 0xff
jne 0x409580
mov edx, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx eax, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], al
mov byte [edi + 0x104], al
cmp esi, ebx
je 0x40a29a
movzx eax, byte [ebx]
mov edx, 1
jmp 0x409582
xor ebx, ebx
jmp 0x405b6c
cmp esi, 0x56
jne 0x405c5f
mov ebx, 0x3a
jmp 0x405c3c
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x4081e1
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov eax, 1
xor edx, edx
jmp 0x408b8f
cmp ecx, 0xff
je 0x40a1e3
lea eax, [ecx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + ecx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40a35e
call dbg.__chk_fail
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
movzx eax, byte [ecx]
mov dword [esp + 0x2c], ecx
mov edx, eax
sub edx, 0x61
jne 0x4096d4
movzx edx, byte [ecx + 1]
sub edx, 0x64
jne 0x4096d4
movzx edx, byte [ecx + 2]
mov ecx, dword [ebx]
test edx, edx
jne 0x4096e3
cmp ecx, 3
je 0x40a2ec
cmp ecx, 0x3a
je 0x40a3e2
cmp eax, 0x73
jne 0x409760
mov edx, dword [esp + 0x2c]
cmp byte [edx + 1], 0x5a
jne 0x40a213
movzx ecx, byte [edx + 2]
test ecx, ecx
jne 0x40a213
mov edx, ebx
mov eax, edi
call sym._d_find_pack
test eax, eax
jne 0x409731
jmp 0x409736
mov edx, dword [eax + 0xc]
test edx, edx
je 0x409736
mov eax, dword [eax + 0x10]
add ecx, 1
test eax, eax
je 0x409736
cmp dword [eax], 0x30
je 0x409720
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a699
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_num
mov ecx, esi
mov eax, edi
mov edx, 0x11
call sym._d_print_expr_op
mov esi, dword [esp + 0x2c]
movzx eax, byte [esi]
cmp eax, 0x67
jne 0x4097ae
cmp byte [esi + 1], 0x73
jne 0x4097ae
cmp byte [esi + 2], 0
jne 0x4097ae
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a69e
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
cmp eax, 0x73
jne 0x40988c
mov esi, dword [esp + 0x2c]
cmp byte [esi + 1], 0x74
jne 0x40988c
cmp byte [esi + 2], 0
jne 0x40988c
mov edx, 0x28
mov eax, edi
call sym._d_append_char
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6ad
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_char
mov edx, 1
jmp 0x408b8c
mov edx, 0x20
mov eax, edi
mov dword [esp + 0x2c], ecx
call sym._d_append_char
mov ecx, dword [esp + 0x2c]
mov ebx, dword [ecx + 4]
jmp 0x408fc6
movd xmm0, dword [edi + 0x114]
movd xmm6, eax
lea ecx, [esp + 0x38]
mov dword [esp + 0x2c], eax
mov edx, dword [edi + 0x110]
mov dword [edi + 0x114], ecx
punpckldq xmm0, xmm6
mov dword [esp + 0x40], 0
movq qword [esp + 0x38], xmm0
mov esi, dword [eax + 0xc]
mov dword [esp + 0x44], edx
mov dword [esp + 0x28], esi
jmp 0x405877
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call sym._d_print_mod
jmp 0x405acb
cmp eax, 0x6e
jne 0x4075dc
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x78
jne 0x4075dc
cmp byte [eax + 2], 0
je 0x4097cf
jmp 0x4075dc
mov edx, ecx
jmp 0x407e7f
mov eax, edi
mov edx, 0x28
call sym._d_append_char
mov ecx, dword [esi + 0xc]
mov eax, edi
mov edx, 0x11
call sym._d_print_comp
mov edx, 0x29
mov eax, edi
call sym._d_append_char
jmp 0x4075dc
cmp ebx, 7
jne 0x405b6c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
jne 0x405b6c
cmp dword [eax + 0x10], 1
jne 0x405b6c
cmp esi, 0x3e
jne 0x405b6c
mov eax, dword [eax + 0xc]
movzx eax, byte [eax]
cmp al, 0x30
je 0x40a725
cmp al, 0x31
jne 0x405b6c
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a720
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x4cba60
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_string
mov edx, dword [esp + 0x2c]
mov eax, edi
call sym._d_lookup_template_argument
test eax, eax
je case.0x4057dc.45
cmp dword [eax], 0x30
jne 0x409987
mov edx, dword [edi + 0x124]
test edx, edx
js 0x409987
call sym._d_index_template_argument.part.0
test eax, eax
je case.0x4057dc.45
mov ebx, dword [edi + 0x110]
mov ecx, eax
mov eax, edi
mov edx, dword [ebx]
mov dword [edi + 0x110], edx
mov edx, 0x11
call sym._d_print_comp
mov dword [edi + 0x110], ebx
jmp case.default.0x40a35e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6e9
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
add edx, 1
pop edi
pop ebp
jmp sym._d_append_num
test eax, eax
je case.0x4057dc.45
mov edx, dword [eax]
cmp edx, 0x5d
jne 0x4099f5
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x4057dc.45
mov edx, dword [eax]
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a779
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_lambda_parm_name
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a658
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_comp
test edx, edx
jne 0x406d0e
jmp case.default.0x40a35e
mov byte [edi + eax], 0
mov edx, dword [edi + 0x10c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 0
jmp 0x405a1f
movd xmm0, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
movd xmm6, eax
punpckldq xmm0, xmm6
mov dword [esp + 0x40], 0
lea edx, [esp + 0x38]
movq qword [esp + 0x38], xmm0
mov eax, dword [eax + 0xc]
mov dword [edi + 0x114], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], eax
jmp 0x405877
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x4081a9
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x408e60
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x406f1c
mov edx, 0x20
mov eax, edi
call sym._d_append_char
jmp 0x406f08
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x406ed7
mov edx, 0x20
mov eax, edi
call sym._d_append_char
jmp 0x406ec3
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x407d56
mov edx, str.default_arg
mov eax, edi
call sym._d_append_string
mov eax, dword [ebx + 0x10]
lea edx, [eax + 1]
mov eax, edi
call sym._d_append_num
mov edx, 0x4cb889
mov eax, edi
call sym._d_append_string
mov ebx, dword [ebx + 0xc]
jmp 0x405b0b
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x40695d
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x405d1a
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x405ce7
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x407fe9
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], 0
mov esi, dword [eax + 0xc]
mov eax, dword [edi + 0x120]
mov dword [edi + 0x120], 0
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x110]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [edi + 0x110], eax
test esi, esi
je 0x409d2b
cmp dword [esi], 0x59
je 0x40a0f7
mov dword [edi + 0x120], 1
mov eax, 1
jmp 0x40919a
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x40719d
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x40919d
mov edx, 0x5b
mov eax, edi
call sym._d_append_char
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6e4
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x5d
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_char
mov edx, 0x2d
mov eax, edi
call sym._d_append_char
jmp 0x405bcf
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x405bb1
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
mov eax, dword [esp + 0x2c]
mov edx, 1
add dword [edi + 0x128], 1
mov ecx, dword [eax + 0xc]
xor eax, eax
jmp 0x405b80
mov ebx, dword [ebx + 0x10]
cmp dword [ebx], 0x49
je 0x40a2dc
mov eax, dword [esp + 0x28]
shl eax, 4
lea ecx, [esi + eax]
mov eax, dword [ebx]
cmp eax, 0x4f
je 0x409ea6
ja 0x409e9e
lea edx, [eax - 0x1c]
cmp edx, 5
jbe 0x409ea6
mov edx, eax
jmp 0x407ec9
lea edx, [eax - 0x52]
cmp edx, 1
ja 0x409e97
cmp dword [esp + 0x28], 4
je case.0x4057dc.45
movdqu xmm0, xmmword [ecx - 0x10]
lea eax, [ecx - 0x10]
mov dword [ecx - 0xc], ebx
movd xmm6, eax
mov dword [ecx - 8], 0
movups xmmword [ecx], xmm0
movd xmm0, dword [esp + 0x24]
mov dword [edi + 0x114], ecx
add ecx, 0x10
punpckldq xmm0, xmm6
add dword [esp + 0x28], 1
movq qword [ecx - 0x14], xmm0
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x409e86
jmp case.0x4057dc.45
movd xmm0, dword [esp + 0x24]
movd xmm7, ebx
lea eax, [esp + 0x38]
mov dword [edi + 0x110], eax
punpckldq xmm0, xmm7
movq qword [esp + 0x38], xmm0
mov eax, dword [ebx + 0x10]
cmp dword [eax], 0x5e
jne 0x407ed2
mov edx, dword [eax + 0xc]
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 0x10], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0xc], edx
mov dword [ecx + 0x10], eax
jmp 0x407ed2
mov edx, dword [edi + 0x134]
test edx, edx
jle 0x40a57d
mov ebx, dword [edi + 0x130]
mov ecx, dword [esp + 0x28]
xor eax, eax
jmp 0x409f6e
add eax, 1
add ebx, 8
cmp edx, eax
je 0x40a57d
cmp ecx, dword [ebx]
jne 0x409f60
mov ecx, dword [edi + 0x12c]
mov eax, ecx
test ecx, ecx
je 0x40a2ac
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x28]
jmp 0x409fab
cmp ecx, eax
je 0x409fa0
cmp edx, esi
je 0x409fb1
mov eax, dword [eax + 4]
test eax, eax
je 0x40a2a4
mov edx, dword [eax]
cmp edx, ebx
jne 0x409f98
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, edi
xor ebx, ebx
call sym._d_lookup_template_argument
test eax, eax
je case.0x4057dc.45
cmp dword [eax], 0x30
jne 0x405984
mov edx, dword [edi + 0x124]
test edx, edx
js 0x40a608
call sym._d_index_template_argument.part.0
test eax, eax
jne 0x405984
test ebx, ebx
je case.0x4057dc.45
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.0x4057dc.45
movzx eax, byte [eax]
lea edx, [eax - 0x72]
cmp dl, 1
jbe 0x40a01b
sub eax, 0x63
cmp al, 1
ja 0x407492
mov edx, 0x11
mov eax, edi
call sym._d_print_expr_op
mov edx, 0x3c
mov eax, edi
call sym._d_append_char
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, edi
call sym._d_print_comp
mov edx, 0x4cba3b
mov eax, edi
call sym._d_append_string
mov eax, dword [esi + 0x10]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call sym._d_print_comp
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a68a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_char
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x405c50
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x4093cf
mov dword [esp + 0x3c], esi
mov edx, 0x3c
mov eax, edi
call sym._d_append_char
mov ebx, dword [esi + 0xc]
test ebx, ebx
jne 0x40a16a
jmp 0x40a1c0
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call sym._d_print_comp
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a18b
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x20
mov byte [edi + 0x104], 0x20
mov edx, dword [ebx]
cmp edx, 0x5d
jne 0x40a153
mov ebx, dword [ebx + 0xc]
mov edx, dword [ebx]
mov eax, dword [edi + 0x120]
lea ecx, [eax - 1]
mov eax, edi
call sym._d_print_lambda_parm_name
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x40a1c0
mov eax, dword [edi + 0x120]
lea edx, [eax + 1]
mov dword [edi + 0x120], edx
test eax, eax
je 0x40a118
mov edx, 0x4cb875
mov eax, edi
call sym._d_append_string
jmp 0x40a118
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x40a136
mov edx, 0x3e
mov eax, edi
call sym._d_append_char
mov eax, dword [edi + 0x120]
mov esi, dword [esi + 0x10]
lea edx, [eax + 1]
mov eax, dword [edi + 0x100]
jmp 0x409189
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
xor ecx, ecx
jmp 0x409696
cmp eax, 0x73
jne 0x409760
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x50
jne 0x409760
xor ecx, ecx
cmp byte [eax + 2], 0
je 0x40a24e
jmp 0x409760
add ecx, 1
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x40a30b
cmp dword [ebx], 0x30
jne 0x40a30b
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40a30b
cmp dword [eax], 0x4d
jne 0x40a240
mov edx, dword [eax + 0xc]
mov eax, edi
call sym._d_find_pack
xor edx, edx
test eax, eax
jne 0x40a291
jmp 0x40a296
mov esi, dword [eax + 0xc]
test esi, esi
je 0x40a296
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
je 0x40a296
cmp dword [eax], 0x30
je 0x40a280
add ecx, edx
jmp 0x40a243
mov ecx, 1
jmp 0x409696
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
mov eax, dword [edi + 0x110]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 4]
mov dword [edi + 0x110], eax
mov eax, edi
call sym._d_lookup_template_argument
test eax, eax
je 0x409ff6
mov ebx, 1
jmp 0x409fca
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x409e7c
jmp case.0x4057dc.45
mov edx, dword [ebx + 0xc]
cmp dword [edx], 1
jne 0x4096ec
mov ecx, dword [ebx + 0x10]
cmp dword [ecx], 0x2a
jne 0x4096ec
mov ebx, edx
jmp 0x4096ec
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a788
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_num
cmp esi, 0x3f
je 0x40a62e
mov ecx, eax
mov edx, 0x11
mov eax, edi
sub ebx, 2
call sym._d_print_comp
cmp ebx, 4
ja case.default.0x40a35e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jmp dword [ebx*4 + 0x4cbc9c]
jne 0x40a76a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x4cba53
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_string
jne 0x40a76f
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x4cba50
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_string
jne 0x40a77e
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x6c
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_char
jne 0x40a783
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x75
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_char
jne 0x40a6b7
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x4cba56
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_string
mov ecx, dword [ebx + 0xc]
mov eax, edi
mov edx, 0x11
call sym._d_print_subexpr
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a68f
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_expr_op
mov eax, edi
mov edx, 0x5b
call sym._d_append_char
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call sym._d_print_comp
mov edx, 0x5d
mov eax, edi
call sym._d_append_char
jmp 0x40755b
lea eax, [esp + 0x38]
xor esi, esi
mov dword [edi + 0x114], eax
xor eax, eax
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x110]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x28], eax
jmp 0x405877
call dbg.__stack_chk_fail
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne 0x4074ce
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne 0x4074ce
mov edx, 0x28
mov eax, edi
call sym._d_append_char
jmp 0x4074ce
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call sym._d_print_comp
xor eax, eax
cmp dword [esp + 0x50], 0
mov dword [edi + 0x114], eax
je 0x4082ec
jmp case.default.0x40a35e
mov eax, dword [ecx + 0x10]
cmp dword [eax], 0x2a
je 0x40a4ec
mov dword [edi + 0x118], 1
mov ecx, dword [ecx + 0xc]
mov edx, 0x11
mov eax, edi
call sym._d_print_subexpr
jmp 0x407509
mov edx, str.new
mov eax, edi
mov dword [esp + 0x28], ecx
call sym._d_append_string
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0xc], 0
je 0x40a532
mov edx, 0x11
mov eax, edi
call sym._d_print_subexpr
mov edx, 0x20
mov eax, edi
call sym._d_append_char
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call sym._d_print_comp
test esi, esi
je case.default.0x40a35e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a6cb
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_print_subexpr
mov dword [edi + 0x114], eax
jmp case.0x4057dc.45
cmp edx, dword [edi + 0x138]
jge case.0x4057dc.45
mov eax, dword [edi + 0x130]
mov ebx, dword [esp + 0x28]
lea eax, [eax + edx*8]
add edx, 1
mov dword [edi + 0x134], edx
mov dword [eax], ebx
lea ebx, [eax + 4]
mov eax, dword [edi + 0x110]
test eax, eax
je 0x40a64a
mov edx, dword [edi + 0x144]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edx
mov edx, dword [edi + 0x140]
jmp 0x40a5ea
mov ecx, dword [edi + 0x13c]
mov esi, dword [eax + 4]
lea ecx, [ecx + edx*8]
add edx, 1
mov dword [edi + 0x140], edx
mov dword [ecx + 4], esi
mov dword [ebx], ecx
mov eax, dword [eax]
mov ebx, ecx
test eax, eax
je 0x40a646
cmp dword [esp + 0x24], edx
jg 0x40a5c8
jmp case.0x4057dc.45
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call sym._d_print_expr_op
jmp 0x407545
movd xmm0, dword [edi + 0x114]
mov ecx, dword [edi + 0x110]
cmp esi, 0x30
je 0x40a78d
movd xmm6, dword [esp + 0x2c]
punpckldq xmm0, xmm6
jmp 0x4059c0
mov eax, edi
mov edx, 0x2d
call sym._d_append_char
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
jmp 0x40a337
mov esi, dword [esp + 0x1c]
xor eax, eax
mov dword [ebx], eax
jmp 0x409fb5
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
mov eax, dword [esp + 0x10c]
sub eax, dword [0x5140ec]
jne 0x40a751
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x4cba5a
pop ebx
pop esi
pop edi
pop ebp
jmp sym._d_append_string
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
call dbg.__stack_chk_fail
movd xmm7, eax
mov dword [esp + 0x2c], eax
punpckldq xmm0, xmm7
jmp 0x409a93