Function at 0x4070a0
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 [0x44c0fc]
mov dword [esp + 0x10c], eax
xor eax, eax
mov dword [esp + 0x2c], ecx
test ecx, ecx
je case.0x4070dc.45
mov ebx, dword [edi + 0x118]
test ebx, ebx
jne case.default.0x40b66e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
cmp esi, 0x5f
ja case.0x4070dc.45
jmp dword [esi*4 + 0x434cfc]
lea esi, [edx - 0x52]
cmp esi, 1
ja 0x40930e
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x40b882
add eax, 0x10
cmp dword [esp + 0x28], 4
jne 0x40abc8
mov dword [edi + 0x114], ecx
nop
mov dword [edi + 0x118], 1
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b790
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 fcn.0040bab0
mov esi, dword [esp + 0x40]
test esi, esi
je 0x40a461
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
test ebx, ebx
je case.default.0x40b66e
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.default.0x40b66e
mov ecx, dword [edi + 0x114]
mov eax, ecx
test ecx, ecx
je 0x40b75c
mov dword [esp + 0x28], ebx
lea esi, [esi]
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x4071ec
mov edx, dword [eax + 4]
mov edx, dword [edx]
lea ebx, [edx - 0x19]
cmp ebx, 2
ja 0x4071f2
cmp esi, edx
je 0x40ad26
mov eax, dword [eax]
test eax, eax
jne 0x4071d0
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 0x407177
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b972
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 fcn.0040bab0
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi + 0x120]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0x40a78b
xor ebx, ebx
cmp dword [eax], 5
je 0x40b24a
mov edx, dword [eax]
cmp edx, 0x24
je 0x40ab45
mov ecx, dword [edi + 0x114]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0x110]
cmp esi, edx
je 0x40ad91
cmp edx, 0x25
je 0x40a476
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 0x407177
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4072ff
mov edx, 0x11
mov eax, edi
call fcn.0040bab0
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je case.default.0x40b66e
mov eax, dword [edi + 0x100]
cmp eax, 0xfd
ja 0x40ad60
mov edx, 0x434a55
mov eax, edi
call fcn.00403640
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 fcn.0040bab0
cmp dword [edi + 0x128], ebx
jne case.default.0x40b66e
mov eax, dword [edi + 0x100]
cmp eax, esi
jne case.default.0x40b66e
sub eax, 2
mov dword [edi + 0x100], eax
jmp case.default.0x40b66e
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 fcn.0040bab0
mov esi, dword [esp + 0x40]
test esi, esi
je 0x40ab87
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
jmp case.default.0x40b66e
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, dword [esi + 0xc]
call fcn.0040bab0
mov edx, 0x434a58
mov eax, edi
call fcn.00403640
mov ebx, dword [esi + 0x10]
cmp dword [ebx], 0x49
je 0x40aef6
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba08
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040bab0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
cmp dword [ecx], 0x28
jne 0x40a916
mov eax, dword [ecx + 0xc]
mov ebx, dword [eax + 0x10]
cmp ebx, 6
ja 0x40abfb
test ebx, ebx
je 0x40746c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
je 0x40b63e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40b144
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 fcn.0040bab0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40b10f
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 0x40b0fe
cmp ebx, 8
je 0x40b0b9
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9b8
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 fcn.0040bab0
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x40a91d
mov edx, 0x11
mov eax, edi
call fcn.0040bab0
cmp dword [ebx], 0x56
je 0x40a926
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40755f
mov ebx, 0x2e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40b39d
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 [0x44c0fc]
jne 0x40b97c
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9c2
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 fcn.0040d130
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
test ecx, ecx
je 0x4075d3
mov edx, 0x11
mov eax, edi
call fcn.0040bab0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40af8d
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 fcn.0040bab0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40af58
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40b66e
mov eax, dword [edi + 0x100]
mov ebx, str.global_destructors_keyed_to
mov esi, 0x434ca9
jmp 0x407667
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 0x40a0be
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407648
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, 0x434ca9
je 0x40a0be
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40764a
mov eax, dword [edi + 0x100]
mov ebx, str.template_parameter_object_for
mov esi, 0x434a92
jmp 0x40770b
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, 0x434a92
je 0x40a0eb
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4076e8
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 0x40a0eb
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4076ea
mov eax, dword [edi + 0x100]
mov ebx, str.guard_variable_for
mov esi, 0x434b76
jmp 0x4077a7
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 0x40a02b
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407788
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, 0x434b76
je 0x40a02b
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40778a
mov eax, dword [edi + 0x100]
mov ebx, str.non_virtual_thunk_to
mov esi, 0x434b25
jmp 0x407847
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 0x40a19f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407828
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, 0x434b25
je 0x40a19f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40782a
mov eax, dword [edi + 0x100]
mov ebx, str.covariant_return_thunk_to
mov esi, 0x434b52
jmp 0x4078e7
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 0x40a1f6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4078c8
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, 0x434b52
je 0x40a1f6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4078ca
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_name_for
jmp 0x407983
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, 0x434afe
je 0x40a250
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407960
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, 0x434afe
je 0x40a250
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407962
mov eax, dword [edi + 0x100]
mov ebx, str.java_Class_for
mov esi, 0x434b62
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 0x40a2aa
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 + 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, 0x434b62
je 0x40a2aa
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407a02
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_fn_for
mov esi, 0x434b0f
jmp 0x407abf
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 0x40a304
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407aa0
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 0x40a304
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407aa2
mov eax, dword [edi + 0x100]
mov ebx, str.virtual_thunk_to
mov esi, 0x434b37
jmp 0x407b57
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 0x40a3f2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407b38
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, 0x434b37
je 0x40a3f2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407b3a
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_for
mov esi, 0x434aeb
jmp 0x407bfb
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, 0x434aeb
je 0x40a41f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407bd8
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 0x40a41f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407bda
mov eax, dword [edi + 0x100]
mov ebx, str.construction_vtable_for
mov esi, 0x434ad8
jmp 0x407c9b
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, 0x434ad8
je 0x409bb6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407c78
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 0x409bb6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407c7a
mov eax, dword [edi + 0x100]
mov ebx, str.non_transaction_clone_for
mov esi, 0x434c07
jmp 0x407d37
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 0x409d92
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407d18
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 0x409d92
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407d1a
mov eax, dword [edi + 0x100]
mov ebx, str.vtable_for
mov esi, 0x434ab6
jmp 0x407dcf
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 0x409cb8
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407db0
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 0x409cb8
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407db2
mov eax, dword [edi + 0x100]
mov ebx, str.unnamed_type
mov esi, 0x434cc3
jmp 0x407e6b
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, 0x434cc3
je 0x409e19
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407e48
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 0x409e19
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407e4a
mov eax, dword [edi + 0x100]
mov ebx, str.VTT_for
mov esi, 0x434abf
jmp 0x407f07
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 0x409c5e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407ee8
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 0x409c5e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407eea
mov eax, dword [edi + 0x100]
mov ebx, str.transaction_clone_for
mov esi, 0x434bec
jmp 0x407fa3
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, 0x434bec
je 0x409dbf
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407f80
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 0x409dbf
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407f82
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40af23
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 [0x44c0fc]
jne 0x40ba0d
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 fcn.0040bab0
mov eax, dword [edi + 0x100]
mov ebx, str.lambda
mov esi, 0x434cb1
jmp 0x40808f
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 0x40a4b0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408070
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 0x40aff7
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408072
mov eax, dword [edi + 0x100]
mov ebx, str.initializer_for_module
mov esi, 0x434aaa
jmp 0x408127
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 0x40a27d
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408108
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 0x40a27d
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40810a
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a6b6
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], bl
mov byte [edi + 0x104], bl
jmp case.default.0x40b66e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str.__clone
mov esi, 0x434ccc
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040bab0
mov eax, dword [edi + 0x100]
jmp 0x4081ff
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 0x409a90
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4081e0
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 0x409a90
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4081e2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._abi:
mov esi, 0x434a54
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040bab0
mov eax, dword [edi + 0x100]
jmp 0x4082af
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 0x409a90
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408290
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 0x409a90
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408292
mov eax, dword [esp + 0x2c]
mov ebx, dword [edi + 0x120]
mov ecx, dword [eax + 0xc]
test ebx, ebx
jne 0x40a724
mov edx, ecx
mov eax, edi
call fcn.004036f0
xor edx, edx
test eax, eax
je 0x40a724
lea esi, [esi]
cmp dword [eax], 0x30
jne 0x40ad53
mov esi, dword [eax + 0xc]
test esi, esi
je 0x40ad53
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
jne 0x408340
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 fcn.0040bab0
mov eax, dword [esp + 0x28]
cmp ebx, eax
je case.default.0x40b66e
mov dword [esp + 0x2c], ebx
mov eax, dword [edi + 0x100]
mov esi, 0x434a55
jmp 0x4083d4
mov ecx, eax
lea eax, [ecx + 1]
add esi, 1
mov edx, 0x434a57
mov dword [edi + 0x100], eax
mov byte [edi + ecx], bl
mov byte [edi + 0x104], bl
cmp edx, esi
je 0x409acd
movzx ebx, byte [esi]
cmp eax, 0xff
jne 0x4083b0
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, 0x434a57
je 0x409acd
movzx ebx, byte [esi]
mov ecx, 1
jmp 0x4083b2
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9fe
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 fcn.0040bab0
mov esi, dword [esp + 0x2c]
mov eax, dword [edi + 0x120]
mov ecx, dword [esi + 0xc]
lea edx, [ecx + 1]
cmp eax, edx
jle 0x40a794
mov eax, dword [edi + 0x110]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
test ecx, ecx
je 0x40ace9
test eax, eax
je case.0x4070dc.45
mov edx, ecx
jmp 0x4084a8
test edx, edx
je 0x40ace9
mov eax, dword [eax + 0x10]
sub edx, 1
test eax, eax
jne 0x4084a0
jmp case.0x4070dc.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 fcn.0040bab0
cmp byte [edi + 0x104], 0x3c
je 0x40aeb0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40ae7b
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 fcn.0040bab0
cmp byte [edi + 0x104], 0x3e
je 0x40ae6a
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40ae35
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.0x40b66e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._friend_
mov esi, 0x434cd5
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040bab0
mov eax, dword [edi + 0x100]
jmp 0x4085bb
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, 0x434cd5
je case.default.0x40b66e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408598
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.0x40b66e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40859a
mov eax, dword [edi + 0x100]
mov ebx, str.template
mov esi, 0x434ce7
jmp 0x408657
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 0x409ce5
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408638
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 0x409ce5
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40863a
mov eax, dword [edi + 0x100]
mov ebx, str.typename
mov esi, 0x434cde
jmp 0x4086ef
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.0x40b66e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4086d0
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, 0x434cde
je case.default.0x40b66e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4086d2
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40b04f
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 0x4087be
jmp 0x40a1cc
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040bab0
mov esi, dword [esi + 0x10]
add dword [esp + 0x2c], 1
test esi, esi
je 0x40a1cc
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x4087a0
mov eax, dword [edi + 0x100]
mov ebx, 0x434a55
jmp 0x4087f7
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, 0x434a57
je 0x4087a0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4087d8
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, 0x434a57
je 0x4087a0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4087da
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_init_function_for
mov esi, 0x434b8d
jmp 0x408897
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 0x409dec
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408878
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, 0x434b8d
je 0x409dec
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40887a
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3c
jne case.0x4070dc.45
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3d
jne case.0x4070dc.45
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call fcn.0040da70
test eax, eax
jne case.default.0x40b66e
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040de80
test eax, eax
jne case.default.0x40b66e
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], 0x434c24
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
mov ecx, dword [esp + 0x28]
test eax, eax
jne 0x40b810
mov edx, 0x11
mov eax, edi
call fcn.0040d870
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call fcn.0040d130
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040d870
mov eax, edi
mov edx, 0x434c27
call fcn.00403640
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b963
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040d870
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x10]
cmp dword [eax], 0x3a
jne case.0x4070dc.45
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
cmp byte [eax + 1], 0x63
je 0x40b315
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call fcn.0040da70
test eax, eax
jne case.default.0x40b66e
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040de80
test eax, eax
jne case.default.0x40b66e
mov eax, dword [esi + 0xc]
cmp dword [eax], 0x33
je 0x40b795
mov esi, dword [esp + 0x2c]
mov dword [esp + 4], 0x434c1e
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 0xc]
test eax, eax
jne 0x408a7d
cmp dword [ecx], 3
je 0x40b7ea
mov edx, 0x11
mov eax, edi
call fcn.0040d870
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
mov esi, dword [eax]
mov dword [esp + 4], 0x434c21
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x40b729
mov dword [esp + 4], 0x434c1e
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x40b905
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040d870
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
cmp dword [eax], 0x33
jne case.default.0x40b66e
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne case.default.0x40b66e
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne case.default.0x40b66e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9ea
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403570
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov eax, dword [esi]
cmp eax, 0x33
je 0x40a9c4
cmp eax, 0x35
je 0x40abcf
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040d130
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba26
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040d870
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x40b66e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x408bbf
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.0x40b66e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408ba0
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.0x40b66e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408ba2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._requires
mov esi, 0x434cf9
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040bab0
mov eax, dword [edi + 0x100]
jmp 0x408c6f
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 0x40a223
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408c50
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 0x40a223
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408c52
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, 0x434c5f
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040bab0
mov eax, dword [edi + 0x100]
jmp 0x408d1b
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, 0x434c62
je case.default.0x40b66e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408cf8
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, 0x434c62
je case.default.0x40b66e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408cfa
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x434c1a
jmp 0x408dbf
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 0x40a2d7
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408da0
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 0x40a2d7
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408da2
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x434c1a
jmp 0x408e57
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 0x40a118
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408e38
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 0x40a118
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408e3a
mov eax, dword [esp + 0x2c]
mov ebx, 0x434c08
mov esi, 0x434c10
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 0x408eff
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 0x40a331
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408ee0
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 0x40a331
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408ee2
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x40a830
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9d6
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c63
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403640
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.0x40b66e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x408fd7
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.0x40b66e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408fb8
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.0x40b66e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408fba
mov eax, dword [edi + 0x100]
mov ebx, str.hidden_alias_for
mov esi, 0x434bd5
jmp 0x40906f
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 0x40a172
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409050
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, 0x434bd5
je 0x40a172
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409052
mov eax, dword [edi + 0x100]
mov ebx, str.java_resource
mov esi, 0x434c53
jmp 0x40910f
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 0x40a085
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4090f0
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 0x40a085
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4090f2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9cc
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 fcn.0040bab0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40aec1
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 fcn.0040bab0
mov esi, dword [esi + 0x10]
mov eax, dword [edi + 0x100]
mov dword [esp + 0x2c], esi
test esi, esi
je 0x409aa9
mov ebx, 0x434a55
mov esi, 0x434a57
jmp 0x409233
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 0x4091e0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409218
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 0x4091e0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40921a
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.0x4070dc.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 0x4070ef
ja 0x4070e3
lea esi, [edx - 0x1c]
cmp esi, 5
jbe 0x4070ef
mov dword [edi + 0x114], eax
mov esi, dword [esp + 0x20]
cmp edx, 2
je 0x40b180
cmp edx, 4
je 0x40b208
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040bab0
cmp dword [ebx], 4
jne 0x40934c
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 0x40a6eb
sub ebx, 0x10
cmp ebx, esi
jne 0x409355
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x114], eax
jmp case.default.0x40b66e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x40b66e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x4093b7
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.0x40b66e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409398
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.0x40b66e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40939a
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040bab0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40afc2
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 [0x44c0fc]
jne 0x40b9e0
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 fcn.0040bab0
mov eax, dword [edi + 0x100]
mov ebx, str.global_constructors_keyed_to
mov esi, 0x434c8c
jmp 0x4094bb
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, 0x434c8c
je 0x409f25
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409498
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 0x409f25
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40949a
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 4]
mov ebx, dword [eax]
test esi, esi
je 0x409ad6
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x40955f
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 0x409ad6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409540
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 0x409ad6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409542
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040bab0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40adcb
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 fcn.0040bab0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a930
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x29
mov byte [edi + 0x104], 0x29
jmp case.default.0x40b66e
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 0x4096c3
jmp 0x40b7bf
mov edx, dword [eax + 8]
test edx, edx
jne 0x4096bd
cmp ebx, 3
ja case.0x4070dc.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 0x4096d0
mov edx, dword [eax + 4]
mov edx, dword [edx]
sub edx, 0x19
cmp edx, 2
jbe 0x409688
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040bab0
mov eax, dword [esp + 0x28]
mov dword [edi + 0x114], eax
mov eax, dword [esp + 0x50]
test eax, eax
jne case.default.0x40b66e
lea esi, [esp + 0x4c]
cmp ebx, 1
jbe 0x409724
lea esi, [esi]
sub ebx, 1
mov edx, 0x11
mov eax, ebx
shl eax, 4
mov ecx, dword [esi + eax]
mov eax, edi
call fcn.0040bb60
cmp ebx, 1
jne 0x409708
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call fcn.0040ce30
jmp case.default.0x40b66e
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4097ad
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 fcn.0040bab0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [edi + 0x114], eax
test ecx, ecx
jne case.default.0x40b66e
mov edx, 0x20
mov eax, edi
call fcn.00403570
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call fcn.0040c620
jmp case.default.0x40b66e
mov eax, dword [edi + 0x100]
mov ebx, str.decltype__
jmp 0x409803
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, 0x434c5e
je 0x40a0b2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4097e0
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, 0x434c5e
je 0x40a0b2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4097e2
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xa8]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x4346fc
mov dword [esp + 4], 0x19
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.00414150
test eax, eax
js 0x4098a7
add eax, 1
cmp eax, 0x19
ja 0x40a9bf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
test eax, eax
je case.default.0x40b66e
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x4098e7
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.0x40b66e
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x4098c8
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.0x40b66e
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x4098ca
mov eax, dword [edi + 0x100]
mov ebx, str.reference_temporary_
mov esi, 0x434bbd
jmp 0x40997f
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 0x409f52
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409960
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, 0x434bbd
je 0x409f52
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409962
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_wrapper_function_for
mov esi, 0x434ba7
jmp 0x409a1f
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 0x40a058
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409a00
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, 0x434ba7
je 0x40a058
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409a02
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040bab0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a756
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x5d
mov byte [edi + 0x104], 0x5d
jmp case.default.0x40b66e
mov ebx, dword [esp + 0x2c]
jmp 0x408370
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0x8f]
movsx eax, word [eax + 0x10]
mov dword [esp + 8], 0x4346fc
mov dword [esp + 4], 0x19
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.00414150
test eax, eax
js 0x409b11
add eax, 1
cmp eax, 0x19
ja 0x40a9bf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
test eax, eax
je 0x40a44c
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x409b4f
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 0x40a44c
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x409b30
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 0x40a44c
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x409b32
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._in_
mov esi, 0x434add
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040bab0
mov eax, dword [edi + 0x100]
jmp 0x409bff
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 0x409c8b
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409be0
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 0x409c8b
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409be2
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba12
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba1c
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba03
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 fcn.0040bab0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._class
mov esi, 0x434cee
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040bab0
mov eax, dword [edi + 0x100]
jmp 0x409d2f
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.0x40b66e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409d10
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.0x40b66e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409d12
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba17
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9ef
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba21
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 fcn.0040bab0
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xf3]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x4346fc
mov dword [esp + 4], 0x19
add eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00414150
test eax, eax
js 0x409e56
add eax, 1
cmp eax, 0x19
ja 0x40a9bf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x409f00
lea esi, [ebx + eax]
jmp 0x409e93
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 0x409f00
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x409e78
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 0x40ab1f
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x409e7a
cmp edx, 0xff
je 0x40a965
lea eax, [edx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + edx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40b66e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9a4
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 fcn.0040bab0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._for
mov esi, 0x434bc3
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040bab0
mov eax, dword [edi + 0x100]
jmp 0x409f9b
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 0x409ffe
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409f80
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, 0x434bc3
je 0x409ffe
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409f82
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba57
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba84
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9d1
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9e5
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 fcn.0040bab0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
jmp 0x409601
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9b3
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b981
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 fcn.0040bab0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x148]
test eax, eax
je 0x40a149
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 fcn.0040bab0
mov ecx, dword [edi + 0x148]
test ecx, ecx
je case.default.0x40b66e
mov eax, dword [esp + 0x38]
mov dword [edi + 0x110], eax
jmp case.default.0x40b66e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba66
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b96d
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 fcn.0040bab0
mov eax, dword [edi + 0x100]
lea edx, [eax + 1]
cmp eax, 0xff
je 0x40ae00
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x3e
mov byte [edi + 0x104], 0x3e
jmp case.default.0x40b66e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b990
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba70
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b977
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba5c
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b986
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba6b
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b98b
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 fcn.0040bab0
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + 4]
movzx eax, byte [ebx]
sub eax, 0x61
cmp al, 0x19
jbe 0x40ab29
mov esi, dword [esp + 0x28]
lea eax, [esi - 1]
cmp byte [ebx + esi - 1], 0x20
cmove esi, eax
test esi, esi
je case.default.0x40b66e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x40a38f
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.0x40b66e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x40a370
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.0x40b66e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40a372
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba75
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 fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba2b
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 fcn.0040bab0
mov eax, dword [esp + 0x2c]
movzx ebx, byte [eax + 0x12]
test bl, bl
je case.default.0x40b66e
jmp 0x408191
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040bb60
jmp 0x407193
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 0x407177
jmp 0x40721e
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 0x40a4f9
cmp dword [esi], 0x59
je 0x40b407
mov dword [edi + 0x120], edx
cmp eax, 0xff
je 0x40b084
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov ecx, esi
mov edx, 0x11
mov ebx, 0x434cb2
mov byte [edi + eax], 0x28
mov eax, edi
mov esi, 0x434cb4
mov byte [edi + 0x104], 0x28
call fcn.0040bab0
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 0x40a573
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 0x40a5d6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x40a558
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, 0x434cb4
je 0x40a5d6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40a55a
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xda]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], 0x4346fc
mov dword [esp + 4], 0x19
add eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00414150
test eax, eax
js 0x40a613
add eax, 1
cmp eax, 0x19
ja 0x40a9bf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x409f00
lea esi, [ebx + eax]
jmp 0x40a64f
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 0x409f00
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x40a630
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 0x40ab1f
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x40a632
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 0x4081a5
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40b3d2
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 fcn.0040bb60
jmp 0x409360
mov eax, edi
mov edx, 0x11
call fcn.0040d870
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b995
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c5f
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403640
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 0x409ab7
mov eax, dword [esp + 0x28]
jmp 0x407284
test eax, eax
je 0x40ac68
mov eax, dword [edi + 0x100]
mov ebx, str.auto:
mov esi, 0x434a72
jmp 0x40a7cd
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 0x40acbe
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x40a7ae
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 0x40acbe
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40a7b0
mov edx, str.parm
mov eax, edi
call fcn.00403640
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0xc1]
mov dword [esp + 8], 0x4346fc
mov dword [esp + 4], 0x19
mov dword [esp], ebx
call fcn.00414150
test eax, eax
js 0x40a86f
add eax, 1
cmp eax, 0x19
ja 0x40a9bf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, dword [edi + 0x100]
mov esi, eax
test eax, eax
je 0x40a99a
add esi, ebx
jmp 0x40a8af
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 0x40a99a
movzx eax, byte [ebx]
cmp ecx, 0xff
jne 0x40a890
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 0x40b5aa
movzx eax, byte [ebx]
mov edx, 1
jmp 0x40a892
xor ebx, ebx
jmp 0x40746c
cmp esi, 0x56
jne 0x40755f
mov ebx, 0x3a
jmp 0x40753c
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 0x409621
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 0x409f0f
cmp ecx, 0xff
je 0x40b4f3
lea eax, [ecx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + ecx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40b66e
call fcn.00414090
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 0x40a9e4
movzx edx, byte [ecx + 1]
sub edx, 0x64
jne 0x40a9e4
movzx edx, byte [ecx + 2]
mov ecx, dword [ebx]
test edx, edx
jne 0x40a9f3
cmp ecx, 3
je 0x40b5fc
cmp ecx, 0x3a
je 0x40b6f2
cmp eax, 0x73
jne 0x40aa70
mov edx, dword [esp + 0x2c]
cmp byte [edx + 1], 0x5a
jne 0x40b523
movzx ecx, byte [edx + 2]
test ecx, ecx
jne 0x40b523
mov edx, ebx
mov eax, edi
call fcn.004036f0
test eax, eax
jne 0x40aa41
jmp 0x40aa46
mov edx, dword [eax + 0xc]
test edx, edx
je 0x40aa46
mov eax, dword [eax + 0x10]
add ecx, 1
test eax, eax
je 0x40aa46
cmp dword [eax], 0x30
je 0x40aa30
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9a9
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403850
mov ecx, esi
mov eax, edi
mov edx, 0x11
call fcn.0040d130
mov esi, dword [esp + 0x2c]
movzx eax, byte [esi]
cmp eax, 0x67
jne 0x40aabe
cmp byte [esi + 1], 0x73
jne 0x40aabe
cmp byte [esi + 2], 0
jne 0x40aabe
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9ae
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040bab0
cmp eax, 0x73
jne 0x40ab9c
mov esi, dword [esp + 0x2c]
cmp byte [esi + 1], 0x74
jne 0x40ab9c
cmp byte [esi + 2], 0
jne 0x40ab9c
mov edx, 0x28
mov eax, edi
call fcn.00403570
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9bd
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403570
mov edx, 1
jmp 0x409f0c
mov edx, 0x20
mov eax, edi
mov dword [esp + 0x2c], ecx
call fcn.00403570
mov ecx, dword [esp + 0x2c]
mov ebx, dword [ecx + 4]
jmp 0x40a346
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 0x407177
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040bb60
jmp 0x4073cb
cmp eax, 0x6e
jne 0x408b5c
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x78
jne 0x408b5c
cmp byte [eax + 2], 0
je 0x40aadf
jmp 0x408b5c
mov edx, ecx
jmp 0x4092d7
mov eax, edi
mov edx, 0x28
call fcn.00403570
mov ecx, dword [esi + 0xc]
mov eax, edi
mov edx, 0x11
call fcn.0040bab0
mov edx, 0x29
mov eax, edi
call fcn.00403570
jmp 0x408b5c
cmp ebx, 7
jne 0x40746c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
jne 0x40746c
cmp dword [eax + 0x10], 1
jne 0x40746c
cmp esi, 0x3e
jne 0x40746c
mov eax, dword [eax + 0xc]
movzx eax, byte [eax]
cmp al, 0x30
je 0x40ba35
cmp al, 0x31
jne 0x40746c
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba30
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, str.true
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403640
mov edx, dword [esp + 0x2c]
mov eax, edi
call fcn.004035e0
test eax, eax
je case.0x4070dc.45
cmp dword [eax], 0x30
jne 0x40ac97
mov edx, dword [edi + 0x124]
test edx, edx
js 0x40ac97
call fcn.00403420
test eax, eax
je case.0x4070dc.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 fcn.0040bab0
mov dword [edi + 0x110], ebx
jmp case.default.0x40b66e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9f9
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 fcn.00403850
test eax, eax
je case.0x4070dc.45
mov edx, dword [eax]
cmp edx, 0x5d
jne 0x40ad05
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x4070dc.45
mov edx, dword [eax]
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba89
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403950
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b968
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 fcn.0040bab0
test edx, edx
jne 0x40835e
jmp case.default.0x40b66e
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 0x40731f
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 0x407177
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 0x4095e9
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 0x40a1e0
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 0x40854c
mov edx, 0x20
mov eax, edi
call fcn.00403570
jmp 0x408538
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 0x408507
mov edx, 0x20
mov eax, edi
call fcn.00403570
jmp 0x4084f3
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 0x4091c6
mov edx, str.default_arg
mov eax, edi
call fcn.00403640
mov eax, dword [ebx + 0x10]
lea edx, [eax + 1]
mov eax, edi
call fcn.00403850
mov edx, 0x434a69
mov eax, edi
call fcn.00403640
mov ebx, dword [ebx + 0xc]
jmp 0x40740b
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 0x40801d
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 0x40761a
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 0x4075e7
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 0x409441
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 0x40b03b
cmp dword [esi], 0x59
je 0x40b407
mov dword [edi + 0x120], 1
mov eax, 1
jmp 0x40a50a
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 0x40876d
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 0x40a50d
mov edx, 0x5b
mov eax, edi
call fcn.00403570
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9f4
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x5d
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403570
mov edx, 0x2d
mov eax, edi
call fcn.00403570
jmp 0x4074cf
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 0x4074b1
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 0x407480
mov ebx, dword [ebx + 0x10]
cmp dword [ebx], 0x49
je 0x40b5ec
mov eax, dword [esp + 0x28]
shl eax, 4
lea ecx, [esi + eax]
mov eax, dword [ebx]
cmp eax, 0x4f
je 0x40b1b6
ja 0x40b1ae
lea edx, [eax - 0x1c]
cmp edx, 5
jbe 0x40b1b6
mov edx, eax
jmp 0x409321
lea edx, [eax - 0x52]
cmp edx, 1
ja 0x40b1a7
cmp dword [esp + 0x28], 4
je case.0x4070dc.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 0x40b196
jmp case.0x4070dc.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 0x40932a
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 0x40932a
mov edx, dword [edi + 0x134]
test edx, edx
jle 0x40b88d
mov ebx, dword [edi + 0x130]
mov ecx, dword [esp + 0x28]
xor eax, eax
jmp 0x40b27e
add eax, 1
add ebx, 8
cmp edx, eax
je 0x40b88d
cmp ecx, dword [ebx]
jne 0x40b270
mov ecx, dword [edi + 0x12c]
mov eax, ecx
test ecx, ecx
je 0x40b5bc
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x28]
jmp 0x40b2bb
cmp ecx, eax
je 0x40b2b0
cmp edx, esi
je 0x40b2c1
mov eax, dword [eax + 4]
test eax, eax
je 0x40b5b4
mov edx, dword [eax]
cmp edx, ebx
jne 0x40b2a8
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, edi
xor ebx, ebx
call fcn.004035e0
test eax, eax
je case.0x4070dc.45
cmp dword [eax], 0x30
jne 0x407284
mov edx, dword [edi + 0x124]
test edx, edx
js 0x40b918
call fcn.00403420
test eax, eax
jne 0x407284
test ebx, ebx
je case.0x4070dc.45
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.0x4070dc.45
movzx eax, byte [eax]
lea edx, [eax - 0x72]
cmp dl, 1
jbe 0x40b32b
sub eax, 0x63
cmp al, 1
ja 0x408a12
mov edx, 0x11
mov eax, edi
call fcn.0040d130
mov edx, 0x3c
mov eax, edi
call fcn.00403570
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040bab0
mov edx, 0x434c1b
mov eax, edi
call fcn.00403640
mov eax, dword [esi + 0x10]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b99a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403570
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 0x407550
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 0x40a6ff
mov dword [esp + 0x3c], esi
mov edx, 0x3c
mov eax, edi
call fcn.00403570
mov ebx, dword [esi + 0xc]
test ebx, ebx
jne 0x40b47a
jmp 0x40b4d0
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call fcn.0040bab0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40b49b
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 0x40b463
mov ebx, dword [ebx + 0xc]
mov edx, dword [ebx]
mov eax, dword [edi + 0x120]
lea ecx, [eax - 1]
mov eax, edi
call fcn.00403950
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x40b4d0
mov eax, dword [edi + 0x120]
lea edx, [eax + 1]
mov dword [edi + 0x120], edx
test eax, eax
je 0x40b428
mov edx, 0x434a55
mov eax, edi
call fcn.00403640
jmp 0x40b428
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 0x40b446
mov edx, 0x3e
mov eax, edi
call fcn.00403570
mov eax, dword [edi + 0x120]
mov esi, dword [esi + 0x10]
lea edx, [eax + 1]
mov eax, dword [edi + 0x100]
jmp 0x40a4f9
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 0x40a9a6
cmp eax, 0x73
jne 0x40aa70
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x50
jne 0x40aa70
xor ecx, ecx
cmp byte [eax + 2], 0
je 0x40b55e
jmp 0x40aa70
add ecx, 1
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x40b61b
cmp dword [ebx], 0x30
jne 0x40b61b
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40b61b
cmp dword [eax], 0x4d
jne 0x40b550
mov edx, dword [eax + 0xc]
mov eax, edi
call fcn.004036f0
xor edx, edx
test eax, eax
jne 0x40b5a1
jmp 0x40b5a6
mov esi, dword [eax + 0xc]
test esi, esi
je 0x40b5a6
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
je 0x40b5a6
cmp dword [eax], 0x30
je 0x40b590
add ecx, edx
jmp 0x40b553
mov ecx, 1
jmp 0x40a9a6
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 fcn.004035e0
test eax, eax
je 0x40b306
mov ebx, 1
jmp 0x40b2da
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x40b18c
jmp case.0x4070dc.45
mov edx, dword [ebx + 0xc]
cmp dword [edx], 1
jne 0x40a9fc
mov ecx, dword [ebx + 0x10]
cmp dword [ecx], 0x2a
jne 0x40a9fc
mov ebx, edx
jmp 0x40a9fc
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba98
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403850
cmp esi, 0x3f
je 0x40b93e
mov ecx, eax
mov edx, 0x11
mov eax, edi
sub ebx, 2
call fcn.0040bab0
cmp ebx, 4
ja case.default.0x40b66e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jmp dword [ebx*4 + 0x434e7c]
jne 0x40ba7a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c33
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403640
jne 0x40ba7f
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c30
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403640
jne 0x40ba8e
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x6c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403570
jne 0x40ba93
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x75
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403570
jne 0x40b9c7
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c36
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403640
mov ecx, dword [ebx + 0xc]
mov eax, edi
mov edx, 0x11
call fcn.0040d870
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b99f
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040d130
mov eax, edi
mov edx, 0x5b
call fcn.00403570
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040bab0
mov edx, 0x5d
mov eax, edi
call fcn.00403570
jmp 0x408adb
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 0x407177
call fcn.004140f0
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne 0x408a4e
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne 0x408a4e
mov edx, 0x28
mov eax, edi
call fcn.00403570
jmp 0x408a4e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040bab0
xor eax, eax
cmp dword [esp + 0x50], 0
mov dword [edi + 0x114], eax
je 0x409724
jmp case.default.0x40b66e
mov eax, dword [ecx + 0x10]
cmp dword [eax], 0x2a
je 0x40b7fc
mov dword [edi + 0x118], 1
mov ecx, dword [ecx + 0xc]
mov edx, 0x11
mov eax, edi
call fcn.0040d870
jmp 0x408a89
mov edx, str.new
mov eax, edi
mov dword [esp + 0x28], ecx
call fcn.00403640
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0xc], 0
je 0x40b842
mov edx, 0x11
mov eax, edi
call fcn.0040d870
mov edx, 0x20
mov eax, edi
call fcn.00403570
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040bab0
test esi, esi
je case.default.0x40b66e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b9db
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040d870
mov dword [edi + 0x114], eax
jmp case.0x4070dc.45
cmp edx, dword [edi + 0x138]
jge case.0x4070dc.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 0x40b95a
mov edx, dword [edi + 0x144]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edx
mov edx, dword [edi + 0x140]
jmp 0x40b8fa
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 0x40b956
cmp dword [esp + 0x24], edx
jg 0x40b8d8
jmp case.0x4070dc.45
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call fcn.0040d130
jmp 0x408ac5
movd xmm0, dword [edi + 0x114]
mov ecx, dword [edi + 0x110]
cmp esi, 0x30
je 0x40ba9d
movd xmm6, dword [esp + 0x2c]
punpckldq xmm0, xmm6
jmp 0x4072c0
mov eax, edi
mov edx, 0x2d
call fcn.00403570
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
jmp 0x40b647
mov esi, dword [esp + 0x1c]
xor eax, eax
mov dword [ebx], eax
jmp 0x40b2c5
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40ba61
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, str.false
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403640
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
call fcn.004140f0
movd xmm7, eax
mov dword [esp + 0x2c], eax
punpckldq xmm0, xmm7
jmp 0x40ada3