Function at 0x405a20
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 [0x4490e8]
mov dword [esp + 0x10c], eax
xor eax, eax
mov dword [esp + 0x2c], ecx
test ecx, ecx
je case.0x405a5c.45
mov ebx, dword [edi + 0x118]
test ebx, ebx
jne case.default.0x409fee
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
cmp esi, 0x5f
ja case.0x405a5c.45
jmp dword [esi*4 + 0x432c3c]
lea esi, [edx - 0x52]
cmp esi, 1
ja 0x407c8e
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x40a202
add eax, 0x10
cmp dword [esp + 0x28], 4
jne 0x409548
mov dword [edi + 0x114], ecx
nop
mov dword [edi + 0x118], 1
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a110
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.0040a430
mov esi, dword [esp + 0x40]
test esi, esi
je 0x408de1
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
test ebx, ebx
je case.default.0x409fee
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.default.0x409fee
mov ecx, dword [edi + 0x114]
mov eax, ecx
test ecx, ecx
je 0x40a0dc
mov dword [esp + 0x28], ebx
lea esi, [esi]
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x405b6c
mov edx, dword [eax + 4]
mov edx, dword [edx]
lea ebx, [edx - 0x19]
cmp ebx, 2
ja 0x405b72
cmp esi, edx
je 0x4096a6
mov eax, dword [eax]
test eax, eax
jne 0x405b50
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 0x405af7
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a2f2
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.0040a430
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi + 0x120]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0x40910b
xor ebx, ebx
cmp dword [eax], 5
je 0x409bca
mov edx, dword [eax]
cmp edx, 0x24
je 0x4094c5
mov ecx, dword [edi + 0x114]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0x110]
cmp esi, edx
je 0x409711
cmp edx, 0x25
je 0x408df6
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 0x405af7
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x405c7f
mov edx, 0x11
mov eax, edi
call fcn.0040a430
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je case.default.0x409fee
mov eax, dword [edi + 0x100]
cmp eax, 0xfd
ja 0x4096e0
mov edx, 0x432995
mov eax, edi
call fcn.00401fc0
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.0040a430
cmp dword [edi + 0x128], ebx
jne case.default.0x409fee
mov eax, dword [edi + 0x100]
cmp eax, esi
jne case.default.0x409fee
sub eax, 2
mov dword [edi + 0x100], eax
jmp case.default.0x409fee
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.0040a430
mov esi, dword [esp + 0x40]
test esi, esi
je 0x409507
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
jmp case.default.0x409fee
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, dword [esi + 0xc]
call fcn.0040a430
mov edx, 0x432998
mov eax, edi
call fcn.00401fc0
mov ebx, dword [esi + 0x10]
cmp dword [ebx], 0x49
je 0x409876
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a388
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040a430
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
cmp dword [ecx], 0x28
jne 0x409296
mov eax, dword [ecx + 0xc]
mov ebx, dword [eax + 0x10]
cmp ebx, 6
ja 0x40957b
test ebx, ebx
je 0x405dec
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
je 0x409fbe
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409ac4
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.0040a430
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409a8f
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 0x409a7e
cmp ebx, 8
je 0x409a39
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a338
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.0040a430
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x40929d
mov edx, 0x11
mov eax, edi
call fcn.0040a430
cmp dword [ebx], 0x56
je 0x4092a6
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x405edf
mov ebx, 0x2e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409d1d
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 [0x4490e8]
jne 0x40a2fc
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a342
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 ebx, dword [eax + 0x10]
test ecx, ecx
je 0x405f53
mov edx, 0x11
mov eax, edi
call fcn.0040a430
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40990d
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.0040a430
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x4098d8
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x409fee
mov eax, dword [edi + 0x100]
mov ebx, str.global_destructors_keyed_to
mov esi, 0x432be9
jmp 0x405fe7
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 0x408a3e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x405fc8
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, 0x432be9
je 0x408a3e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x405fca
mov eax, dword [edi + 0x100]
mov ebx, str.template_parameter_object_for
mov esi, 0x4329d2
jmp 0x40608b
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, 0x4329d2
je 0x408a6b
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406068
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 0x408a6b
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40606a
mov eax, dword [edi + 0x100]
mov ebx, str.guard_variable_for
mov esi, 0x432ab6
jmp 0x406127
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 0x4089ab
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406108
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, 0x432ab6
je 0x4089ab
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40610a
mov eax, dword [edi + 0x100]
mov ebx, str.non_virtual_thunk_to
mov esi, 0x432a65
jmp 0x4061c7
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 0x408b1f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4061a8
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, 0x432a65
je 0x408b1f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4061aa
mov eax, dword [edi + 0x100]
mov ebx, str.covariant_return_thunk_to
mov esi, 0x432a92
jmp 0x406267
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 0x408b76
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406248
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, 0x432a92
je 0x408b76
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40624a
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_name_for
jmp 0x406303
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, 0x432a3e
je 0x408bd0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4062e0
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, 0x432a3e
je 0x408bd0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4062e2
mov eax, dword [edi + 0x100]
mov ebx, str.java_Class_for
mov esi, 0x432aa2
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 0x408c2a
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, 0x432aa2
je 0x408c2a
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406382
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_fn_for
mov esi, 0x432a4f
jmp 0x40643f
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 0x408c84
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406420
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 0x408c84
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406422
mov eax, dword [edi + 0x100]
mov ebx, str.virtual_thunk_to
mov esi, 0x432a77
jmp 0x4064d7
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 0x408d72
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4064b8
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, 0x432a77
je 0x408d72
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4064ba
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_for
mov esi, 0x432a2b
jmp 0x40657b
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, 0x432a2b
je 0x408d9f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406558
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 0x408d9f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40655a
mov eax, dword [edi + 0x100]
mov ebx, str.construction_vtable_for
mov esi, 0x432a18
jmp 0x40661b
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, 0x432a18
je 0x408536
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4065f8
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 0x408536
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4065fa
mov eax, dword [edi + 0x100]
mov ebx, str.non_transaction_clone_for
mov esi, 0x432b47
jmp 0x4066b7
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 0x408712
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406698
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 0x408712
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40669a
mov eax, dword [edi + 0x100]
mov ebx, str.vtable_for
mov esi, 0x4329f6
jmp 0x40674f
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 0x408638
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406730
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 0x408638
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406732
mov eax, dword [edi + 0x100]
mov ebx, str.unnamed_type
mov esi, 0x432c03
jmp 0x4067eb
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, 0x432c03
je 0x408799
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4067c8
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 0x408799
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4067ca
mov eax, dword [edi + 0x100]
mov ebx, str.VTT_for
mov esi, 0x4329ff
jmp 0x406887
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 0x4085de
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406868
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 0x4085de
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40686a
mov eax, dword [edi + 0x100]
mov ebx, str.transaction_clone_for
mov esi, 0x432b2c
jmp 0x406923
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, 0x432b2c
je 0x40873f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406900
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 0x40873f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406902
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x4098a3
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 [0x4490e8]
jne 0x40a38d
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.0040a430
mov eax, dword [edi + 0x100]
mov ebx, str.lambda
mov esi, 0x432bf1
jmp 0x406a0f
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 0x408e30
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4069f0
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 0x409977
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4069f2
mov eax, dword [edi + 0x100]
mov ebx, str.initializer_for_module
mov esi, 0x4329ea
jmp 0x406aa7
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 0x408bfd
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406a88
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 0x408bfd
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406a8a
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409036
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], bl
mov byte [edi + 0x104], bl
jmp case.default.0x409fee
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str.__clone
mov esi, 0x432c0c
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a430
mov eax, dword [edi + 0x100]
jmp 0x406b7f
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 0x408410
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406b60
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 0x408410
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406b62
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._abi:
mov esi, 0x432994
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a430
mov eax, dword [edi + 0x100]
jmp 0x406c2f
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 0x408410
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406c10
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 0x408410
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406c12
mov eax, dword [esp + 0x2c]
mov ebx, dword [edi + 0x120]
mov ecx, dword [eax + 0xc]
test ebx, ebx
jne 0x4090a4
mov edx, ecx
mov eax, edi
call fcn.00402070
xor edx, edx
test eax, eax
je 0x4090a4
lea esi, [esi]
cmp dword [eax], 0x30
jne 0x4096d3
mov esi, dword [eax + 0xc]
test esi, esi
je 0x4096d3
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
jne 0x406cc0
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.0040a430
mov eax, dword [esp + 0x28]
cmp ebx, eax
je case.default.0x409fee
mov dword [esp + 0x2c], ebx
mov eax, dword [edi + 0x100]
mov esi, 0x432995
jmp 0x406d54
mov ecx, eax
lea eax, [ecx + 1]
add esi, 1
mov edx, 0x432997
mov dword [edi + 0x100], eax
mov byte [edi + ecx], bl
mov byte [edi + 0x104], bl
cmp edx, esi
je 0x40844d
movzx ebx, byte [esi]
cmp eax, 0xff
jne 0x406d30
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, 0x432997
je 0x40844d
movzx ebx, byte [esi]
mov ecx, 1
jmp 0x406d32
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a37e
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.0040a430
mov esi, dword [esp + 0x2c]
mov eax, dword [edi + 0x120]
mov ecx, dword [esi + 0xc]
lea edx, [ecx + 1]
cmp eax, edx
jle 0x409114
mov eax, dword [edi + 0x110]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
test ecx, ecx
je 0x409669
test eax, eax
je case.0x405a5c.45
mov edx, ecx
jmp 0x406e28
test edx, edx
je 0x409669
mov eax, dword [eax + 0x10]
sub edx, 1
test eax, eax
jne 0x406e20
jmp case.0x405a5c.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.0040a430
cmp byte [edi + 0x104], 0x3c
je 0x409830
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x4097fb
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.0040a430
cmp byte [edi + 0x104], 0x3e
je 0x4097ea
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x4097b5
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.0x409fee
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._friend_
mov esi, 0x432c15
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a430
mov eax, dword [edi + 0x100]
jmp 0x406f3b
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, 0x432c15
je case.default.0x409fee
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406f18
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.0x409fee
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406f1a
mov eax, dword [edi + 0x100]
mov ebx, str.template
mov esi, 0x432c27
jmp 0x406fd7
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 0x408665
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406fb8
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 0x408665
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406fba
mov eax, dword [edi + 0x100]
mov ebx, str.typename
mov esi, 0x432c1e
jmp 0x40706f
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.0x409fee
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407050
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, 0x432c1e
je case.default.0x409fee
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407052
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x4099cf
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 0x40713e
jmp 0x408b4c
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040a430
mov esi, dword [esi + 0x10]
add dword [esp + 0x2c], 1
test esi, esi
je 0x408b4c
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x407120
mov eax, dword [edi + 0x100]
mov ebx, 0x432995
jmp 0x407177
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, 0x432997
je 0x407120
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407158
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, 0x432997
je 0x407120
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40715a
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_init_function_for
mov esi, 0x432acd
jmp 0x407217
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 0x40876c
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4071f8
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, 0x432acd
je 0x40876c
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4071fa
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3c
jne case.0x405a5c.45
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3d
jne case.0x405a5c.45
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call fcn.0040c3f0
test eax, eax
jne case.default.0x409fee
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040c800
test eax, eax
jne case.default.0x409fee
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], 0x432b64
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 0x40a190
mov edx, 0x11
mov eax, edi
call fcn.0040c1f0
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call fcn.0040bab0
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040c1f0
mov eax, edi
mov edx, 0x432b67
call fcn.00401fc0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a2e3
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040c1f0
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x10]
cmp dword [eax], 0x3a
jne case.0x405a5c.45
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
cmp byte [eax + 1], 0x63
je 0x409c95
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call fcn.0040c3f0
test eax, eax
jne case.default.0x409fee
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040c800
test eax, eax
jne case.default.0x409fee
mov eax, dword [esi + 0xc]
cmp dword [eax], 0x33
je 0x40a115
mov esi, dword [esp + 0x2c]
mov dword [esp + 4], 0x432b5e
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 0x4073fd
cmp dword [ecx], 3
je 0x40a16a
mov edx, 0x11
mov eax, edi
call fcn.0040c1f0
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
mov esi, dword [eax]
mov dword [esp + 4], 0x432b61
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x40a0a9
mov dword [esp + 4], 0x432b5e
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x40a285
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040c1f0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
cmp dword [eax], 0x33
jne case.default.0x409fee
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne case.default.0x409fee
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne case.default.0x409fee
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a36a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401ef0
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov eax, dword [esi]
cmp eax, 0x33
je 0x409344
cmp eax, 0x35
je 0x40954f
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040bab0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a3a6
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040c1f0
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x409fee
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x40753f
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.0x409fee
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407520
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.0x409fee
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407522
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._requires
mov esi, 0x432c39
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a430
mov eax, dword [edi + 0x100]
jmp 0x4075ef
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 0x408ba3
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4075d0
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 0x408ba3
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4075d2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, 0x432b9f
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a430
mov eax, dword [edi + 0x100]
jmp 0x40769b
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, 0x432ba2
je case.default.0x409fee
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407678
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, 0x432ba2
je case.default.0x409fee
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40767a
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x432b5a
jmp 0x40773f
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 0x408c57
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407720
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 0x408c57
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407722
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x432b5a
jmp 0x4077d7
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 0x408a98
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4077b8
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 0x408a98
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4077ba
mov eax, dword [esp + 0x2c]
mov ebx, 0x432b48
mov esi, 0x432b50
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 0x40787f
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 0x408cb1
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407860
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 0x408cb1
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407862
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x4091b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a356
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x432ba3
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401fc0
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.0x409fee
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x407957
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.0x409fee
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407938
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.0x409fee
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40793a
mov eax, dword [edi + 0x100]
mov ebx, str.hidden_alias_for
mov esi, 0x432b15
jmp 0x4079ef
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 0x408af2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4079d0
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, 0x432b15
je 0x408af2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4079d2
mov eax, dword [edi + 0x100]
mov ebx, str.java_resource
mov esi, 0x432b93
jmp 0x407a8f
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 0x408a05
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407a70
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 0x408a05
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407a72
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a34c
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.0040a430
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409841
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.0040a430
mov esi, dword [esi + 0x10]
mov eax, dword [edi + 0x100]
mov dword [esp + 0x2c], esi
test esi, esi
je 0x408429
mov ebx, 0x432995
mov esi, 0x432997
jmp 0x407bb3
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 0x407b60
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407b98
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 0x407b60
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407b9a
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.0x405a5c.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 0x405a6f
ja 0x405a63
lea esi, [edx - 0x1c]
cmp esi, 5
jbe 0x405a6f
mov dword [edi + 0x114], eax
mov esi, dword [esp + 0x20]
cmp edx, 2
je 0x409b00
cmp edx, 4
je 0x409b88
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a430
cmp dword [ebx], 4
jne 0x407ccc
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 0x40906b
sub ebx, 0x10
cmp ebx, esi
jne 0x407cd5
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x114], eax
jmp case.default.0x409fee
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x409fee
mov eax, dword [edi + 0x100]
add esi, ebx
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 case.default.0x409fee
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 + 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.0x409fee
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407d1a
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a430
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409942
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 [0x4490e8]
jne 0x40a360
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.0040a430
mov eax, dword [edi + 0x100]
mov ebx, str.global_constructors_keyed_to
mov esi, 0x432bcc
jmp 0x407e3b
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, 0x432bcc
je 0x4088a5
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407e18
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 0x4088a5
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407e1a
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 4]
mov ebx, dword [eax]
test esi, esi
je 0x408456
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x407edf
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 0x408456
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407ec0
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 0x408456
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407ec2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a430
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40974b
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.0040a430
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x4092b0
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x29
mov byte [edi + 0x104], 0x29
jmp case.default.0x409fee
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 0x408043
jmp 0x40a13f
mov edx, dword [eax + 8]
test edx, edx
jne 0x40803d
cmp ebx, 3
ja case.0x405a5c.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 0x408050
mov edx, dword [eax + 4]
mov edx, dword [edx]
sub edx, 0x19
cmp edx, 2
jbe 0x408008
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a430
mov eax, dword [esp + 0x28]
mov dword [edi + 0x114], eax
mov eax, dword [esp + 0x50]
test eax, eax
jne case.default.0x409fee
lea esi, [esp + 0x4c]
cmp ebx, 1
jbe 0x4080a4
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.0040a4e0
cmp ebx, 1
jne 0x408088
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call fcn.0040b7b0
jmp case.default.0x409fee
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x40812d
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.0040a430
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [edi + 0x114], eax
test ecx, ecx
jne case.default.0x409fee
mov edx, 0x20
mov eax, edi
call fcn.00401ef0
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call fcn.0040afa0
jmp case.default.0x409fee
mov eax, dword [edi + 0x100]
mov ebx, str.decltype__
jmp 0x408183
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, 0x432b9e
je 0x408a32
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408160
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, 0x432b9e
je 0x408a32
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408162
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xa8]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x43263c
mov dword [esp + 4], 0x19
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.00412ad0
test eax, eax
js 0x408227
add eax, 1
cmp eax, 0x19
ja 0x40933f
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
test eax, eax
je case.default.0x409fee
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x408267
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.0x409fee
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x408248
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.0x409fee
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x40824a
mov eax, dword [edi + 0x100]
mov ebx, str.reference_temporary_
mov esi, 0x432afd
jmp 0x4082ff
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 0x4088d2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4082e0
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, 0x432afd
je 0x4088d2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4082e2
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_wrapper_function_for
mov esi, 0x432ae7
jmp 0x40839f
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 0x4089d8
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408380
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, 0x432ae7
je 0x4089d8
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408382
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a430
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x4090d6
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x5d
mov byte [edi + 0x104], 0x5d
jmp case.default.0x409fee
mov ebx, dword [esp + 0x2c]
jmp 0x406cf0
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0x8f]
movsx eax, word [eax + 0x10]
mov dword [esp + 8], 0x43263c
mov dword [esp + 4], 0x19
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.00412ad0
test eax, eax
js 0x408491
add eax, 1
cmp eax, 0x19
ja 0x40933f
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
test eax, eax
je 0x408dcc
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x4084cf
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 0x408dcc
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x4084b0
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 0x408dcc
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x4084b2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._in_
mov esi, 0x432a1d
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a430
mov eax, dword [edi + 0x100]
jmp 0x40857f
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 0x40860b
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408560
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 0x40860b
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408562
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a392
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a39c
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a383
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.0040a430
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._class
mov esi, 0x432c2e
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a430
mov eax, dword [edi + 0x100]
jmp 0x4086af
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.0x409fee
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408690
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.0x409fee
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408692
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a397
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a36f
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a3a1
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.0040a430
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xf3]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x43263c
mov dword [esp + 4], 0x19
add eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00412ad0
test eax, eax
js 0x4087d6
add eax, 1
cmp eax, 0x19
ja 0x40933f
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x408880
lea esi, [ebx + eax]
jmp 0x408813
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 0x408880
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x4087f8
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 0x40949f
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x4087fa
cmp edx, 0xff
je 0x4092e5
lea eax, [edx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + edx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x409fee
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a324
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.0040a430
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._for
mov esi, 0x432b03
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a430
mov eax, dword [edi + 0x100]
jmp 0x40891b
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 0x40897e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408900
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, 0x432b03
je 0x40897e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408902
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a3d7
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a404
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a351
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a365
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.0040a430
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
jmp 0x407f81
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a333
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a301
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.0040a430
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x148]
test eax, eax
je 0x408ac9
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.0040a430
mov ecx, dword [edi + 0x148]
test ecx, ecx
je case.default.0x409fee
mov eax, dword [esp + 0x38]
mov dword [edi + 0x110], eax
jmp case.default.0x409fee
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a3e6
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a2ed
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.0040a430
mov eax, dword [edi + 0x100]
lea edx, [eax + 1]
cmp eax, 0xff
je 0x409780
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x3e
mov byte [edi + 0x104], 0x3e
jmp case.default.0x409fee
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a310
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a3f0
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a2f7
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a3dc
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a306
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a3eb
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a30b
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.0040a430
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + 4]
movzx eax, byte [ebx]
sub eax, 0x61
cmp al, 0x19
jbe 0x4094a9
mov esi, dword [esp + 0x28]
lea eax, [esi - 1]
cmp byte [ebx + esi - 1], 0x20
cmove esi, eax
test esi, esi
je case.default.0x409fee
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x408d0f
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.0x409fee
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408cf0
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.0x409fee
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408cf2
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a3f5
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.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a3ab
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.0040a430
mov eax, dword [esp + 0x2c]
movzx ebx, byte [eax + 0x12]
test bl, bl
je case.default.0x409fee
jmp 0x406b11
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040a4e0
jmp 0x405b13
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 0x405af7
jmp 0x405b9e
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 0x408e79
cmp dword [esi], 0x59
je 0x409d87
mov dword [edi + 0x120], edx
cmp eax, 0xff
je 0x409a04
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov ecx, esi
mov edx, 0x11
mov ebx, 0x432bf2
mov byte [edi + eax], 0x28
mov eax, edi
mov esi, 0x432bf4
mov byte [edi + 0x104], 0x28
call fcn.0040a430
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 0x408ef3
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 0x408f56
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408ed8
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, 0x432bf4
je 0x408f56
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408eda
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xda]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], 0x43263c
mov dword [esp + 4], 0x19
add eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00412ad0
test eax, eax
js 0x408f93
add eax, 1
cmp eax, 0x19
ja 0x40933f
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x408880
lea esi, [ebx + eax]
jmp 0x408fcf
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 0x408880
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x408fb0
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 0x40949f
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x408fb2
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 0x406b25
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409d52
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.0040a4e0
jmp 0x407ce0
mov eax, edi
mov edx, 0x11
call fcn.0040c1f0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a315
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x432b9f
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401fc0
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 0x408437
mov eax, dword [esp + 0x28]
jmp 0x405c04
test eax, eax
je 0x4095e8
mov eax, dword [edi + 0x100]
mov ebx, str.auto:
mov esi, 0x4329b2
jmp 0x40914d
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 0x40963e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x40912e
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 0x40963e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409130
mov edx, str.parm
mov eax, edi
call fcn.00401fc0
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0xc1]
mov dword [esp + 8], 0x43263c
mov dword [esp + 4], 0x19
mov dword [esp], ebx
call fcn.00412ad0
test eax, eax
js 0x4091ef
add eax, 1
cmp eax, 0x19
ja 0x40933f
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, dword [edi + 0x100]
mov esi, eax
test eax, eax
je 0x40931a
add esi, ebx
jmp 0x40922f
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 0x40931a
movzx eax, byte [ebx]
cmp ecx, 0xff
jne 0x409210
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 0x409f2a
movzx eax, byte [ebx]
mov edx, 1
jmp 0x409212
xor ebx, ebx
jmp 0x405dec
cmp esi, 0x56
jne 0x405edf
mov ebx, 0x3a
jmp 0x405ebc
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 0x407fa1
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 0x40888f
cmp ecx, 0xff
je 0x409e73
lea eax, [ecx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + ecx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x409fee
call fcn.00412a10
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 0x409364
movzx edx, byte [ecx + 1]
sub edx, 0x64
jne 0x409364
movzx edx, byte [ecx + 2]
mov ecx, dword [ebx]
test edx, edx
jne 0x409373
cmp ecx, 3
je 0x409f7c
cmp ecx, 0x3a
je 0x40a072
cmp eax, 0x73
jne 0x4093f0
mov edx, dword [esp + 0x2c]
cmp byte [edx + 1], 0x5a
jne 0x409ea3
movzx ecx, byte [edx + 2]
test ecx, ecx
jne 0x409ea3
mov edx, ebx
mov eax, edi
call fcn.00402070
test eax, eax
jne 0x4093c1
jmp 0x4093c6
mov edx, dword [eax + 0xc]
test edx, edx
je 0x4093c6
mov eax, dword [eax + 0x10]
add ecx, 1
test eax, eax
je 0x4093c6
cmp dword [eax], 0x30
je 0x4093b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a329
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004021d0
mov ecx, esi
mov eax, edi
mov edx, 0x11
call fcn.0040bab0
mov esi, dword [esp + 0x2c]
movzx eax, byte [esi]
cmp eax, 0x67
jne 0x40943e
cmp byte [esi + 1], 0x73
jne 0x40943e
cmp byte [esi + 2], 0
jne 0x40943e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a32e
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040a430
cmp eax, 0x73
jne 0x40951c
mov esi, dword [esp + 0x2c]
cmp byte [esi + 1], 0x74
jne 0x40951c
cmp byte [esi + 2], 0
jne 0x40951c
mov edx, 0x28
mov eax, edi
call fcn.00401ef0
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call fcn.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a33d
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401ef0
mov edx, 1
jmp 0x40888c
mov edx, 0x20
mov eax, edi
mov dword [esp + 0x2c], ecx
call fcn.00401ef0
mov ecx, dword [esp + 0x2c]
mov ebx, dword [ecx + 4]
jmp 0x408cc6
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 0x405af7
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040a4e0
jmp 0x405d4b
cmp eax, 0x6e
jne 0x4074dc
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x78
jne 0x4074dc
cmp byte [eax + 2], 0
je 0x40945f
jmp 0x4074dc
mov edx, ecx
jmp 0x407c57
mov eax, edi
mov edx, 0x28
call fcn.00401ef0
mov ecx, dword [esi + 0xc]
mov eax, edi
mov edx, 0x11
call fcn.0040a430
mov edx, 0x29
mov eax, edi
call fcn.00401ef0
jmp 0x4074dc
cmp ebx, 7
jne 0x405dec
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
jne 0x405dec
cmp dword [eax + 0x10], 1
jne 0x405dec
cmp esi, 0x3e
jne 0x405dec
mov eax, dword [eax + 0xc]
movzx eax, byte [eax]
cmp al, 0x30
je 0x40a3b5
cmp al, 0x31
jne 0x405dec
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a3b0
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, str.true
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401fc0
mov edx, dword [esp + 0x2c]
mov eax, edi
call fcn.00401f60
test eax, eax
je case.0x405a5c.45
cmp dword [eax], 0x30
jne 0x409617
mov edx, dword [edi + 0x124]
test edx, edx
js 0x409617
call fcn.00401da0
test eax, eax
je case.0x405a5c.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.0040a430
mov dword [edi + 0x110], ebx
jmp case.default.0x409fee
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a379
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.004021d0
test eax, eax
je case.0x405a5c.45
mov edx, dword [eax]
cmp edx, 0x5d
jne 0x409685
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x405a5c.45
mov edx, dword [eax]
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a409
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004022d0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a2e8
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.0040a430
test edx, edx
jne 0x406cde
jmp case.default.0x409fee
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 0x405c9f
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 0x405af7
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 0x407f69
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 0x408b60
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 0x406ecc
mov edx, 0x20
mov eax, edi
call fcn.00401ef0
jmp 0x406eb8
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 0x406e87
mov edx, 0x20
mov eax, edi
call fcn.00401ef0
jmp 0x406e73
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 0x407b46
mov edx, str.default_arg
mov eax, edi
call fcn.00401fc0
mov eax, dword [ebx + 0x10]
lea edx, [eax + 1]
mov eax, edi
call fcn.004021d0
mov edx, 0x4329a9
mov eax, edi
call fcn.00401fc0
mov ebx, dword [ebx + 0xc]
jmp 0x405d8b
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 0x40699d
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 0x405f9a
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 0x405f67
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 0x407dc1
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 0x4099bb
cmp dword [esi], 0x59
je 0x409d87
mov dword [edi + 0x120], 1
mov eax, 1
jmp 0x408e8a
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 0x4070ed
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 0x408e8d
mov edx, 0x5b
mov eax, edi
call fcn.00401ef0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a374
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x5d
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401ef0
mov edx, 0x2d
mov eax, edi
call fcn.00401ef0
jmp 0x405e4f
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 0x405e31
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 0x405e00
mov ebx, dword [ebx + 0x10]
cmp dword [ebx], 0x49
je 0x409f6c
mov eax, dword [esp + 0x28]
shl eax, 4
lea ecx, [esi + eax]
mov eax, dword [ebx]
cmp eax, 0x4f
je 0x409b36
ja 0x409b2e
lea edx, [eax - 0x1c]
cmp edx, 5
jbe 0x409b36
mov edx, eax
jmp 0x407ca1
lea edx, [eax - 0x52]
cmp edx, 1
ja 0x409b27
cmp dword [esp + 0x28], 4
je case.0x405a5c.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 0x409b16
jmp case.0x405a5c.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 0x407caa
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 0x407caa
mov edx, dword [edi + 0x134]
test edx, edx
jle 0x40a20d
mov ebx, dword [edi + 0x130]
mov ecx, dword [esp + 0x28]
xor eax, eax
jmp 0x409bfe
add eax, 1
add ebx, 8
cmp edx, eax
je 0x40a20d
cmp ecx, dword [ebx]
jne 0x409bf0
mov ecx, dword [edi + 0x12c]
mov eax, ecx
test ecx, ecx
je 0x409f3c
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x28]
jmp 0x409c3b
cmp ecx, eax
je 0x409c30
cmp edx, esi
je 0x409c41
mov eax, dword [eax + 4]
test eax, eax
je 0x409f34
mov edx, dword [eax]
cmp edx, ebx
jne 0x409c28
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, edi
xor ebx, ebx
call fcn.00401f60
test eax, eax
je case.0x405a5c.45
cmp dword [eax], 0x30
jne 0x405c04
mov edx, dword [edi + 0x124]
test edx, edx
js 0x40a298
call fcn.00401da0
test eax, eax
jne 0x405c04
test ebx, ebx
je case.0x405a5c.45
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.0x405a5c.45
movzx eax, byte [eax]
lea edx, [eax - 0x72]
cmp dl, 1
jbe 0x409cab
sub eax, 0x63
cmp al, 1
ja 0x407392
mov edx, 0x11
mov eax, edi
call fcn.0040bab0
mov edx, 0x3c
mov eax, edi
call fcn.00401ef0
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a430
mov edx, 0x432b5b
mov eax, edi
call fcn.00401fc0
mov eax, dword [esi + 0x10]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a31a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401ef0
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 0x405ed0
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 0x40907f
mov dword [esp + 0x3c], esi
mov edx, 0x3c
mov eax, edi
call fcn.00401ef0
mov ebx, dword [esi + 0xc]
test ebx, ebx
jne 0x409dfa
jmp 0x409e50
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call fcn.0040a430
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409e1b
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 0x409de3
mov ebx, dword [ebx + 0xc]
mov edx, dword [ebx]
mov eax, dword [edi + 0x120]
lea ecx, [eax - 1]
mov eax, edi
call fcn.004022d0
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x409e50
mov eax, dword [edi + 0x120]
lea edx, [eax + 1]
mov dword [edi + 0x120], edx
test eax, eax
je 0x409da8
mov edx, 0x432995
mov eax, edi
call fcn.00401fc0
jmp 0x409da8
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 0x409dc6
mov edx, 0x3e
mov eax, edi
call fcn.00401ef0
mov eax, dword [edi + 0x120]
mov esi, dword [esi + 0x10]
lea edx, [eax + 1]
mov eax, dword [edi + 0x100]
jmp 0x408e79
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 0x409326
cmp eax, 0x73
jne 0x4093f0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x50
jne 0x4093f0
xor ecx, ecx
cmp byte [eax + 2], 0
je 0x409ede
jmp 0x4093f0
add ecx, 1
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x409f9b
cmp dword [ebx], 0x30
jne 0x409f9b
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x409f9b
cmp dword [eax], 0x4d
jne 0x409ed0
mov edx, dword [eax + 0xc]
mov eax, edi
call fcn.00402070
xor edx, edx
test eax, eax
jne 0x409f21
jmp 0x409f26
mov esi, dword [eax + 0xc]
test esi, esi
je 0x409f26
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
je 0x409f26
cmp dword [eax], 0x30
je 0x409f10
add ecx, edx
jmp 0x409ed3
mov ecx, 1
jmp 0x409326
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.00401f60
test eax, eax
je 0x409c86
mov ebx, 1
jmp 0x409c5a
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x409b0c
jmp case.0x405a5c.45
mov edx, dword [ebx + 0xc]
cmp dword [edx], 1
jne 0x40937c
mov ecx, dword [ebx + 0x10]
cmp dword [ecx], 0x2a
jne 0x40937c
mov ebx, edx
jmp 0x40937c
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a418
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004021d0
cmp esi, 0x3f
je 0x40a2be
mov ecx, eax
mov edx, 0x11
mov eax, edi
sub ebx, 2
call fcn.0040a430
cmp ebx, 4
ja case.default.0x409fee
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jmp dword [ebx*4 + 0x432dbc]
jne 0x40a3fa
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x432b73
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401fc0
jne 0x40a3ff
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x432b70
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401fc0
jne 0x40a40e
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x6c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401ef0
jne 0x40a413
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x75
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401ef0
jne 0x40a347
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x432b76
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401fc0
mov ecx, dword [ebx + 0xc]
mov eax, edi
mov edx, 0x11
call fcn.0040c1f0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a31f
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040bab0
mov eax, edi
mov edx, 0x5b
call fcn.00401ef0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a430
mov edx, 0x5d
mov eax, edi
call fcn.00401ef0
jmp 0x40745b
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 0x405af7
call fcn.00412a70
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne 0x4073ce
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne 0x4073ce
mov edx, 0x28
mov eax, edi
call fcn.00401ef0
jmp 0x4073ce
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a430
xor eax, eax
cmp dword [esp + 0x50], 0
mov dword [edi + 0x114], eax
je 0x4080a4
jmp case.default.0x409fee
mov eax, dword [ecx + 0x10]
cmp dword [eax], 0x2a
je 0x40a17c
mov dword [edi + 0x118], 1
mov ecx, dword [ecx + 0xc]
mov edx, 0x11
mov eax, edi
call fcn.0040c1f0
jmp 0x407409
mov edx, str.new
mov eax, edi
mov dword [esp + 0x28], ecx
call fcn.00401fc0
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0xc], 0
je 0x40a1c2
mov edx, 0x11
mov eax, edi
call fcn.0040c1f0
mov edx, 0x20
mov eax, edi
call fcn.00401ef0
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040a430
test esi, esi
je case.default.0x409fee
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a35b
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040c1f0
mov dword [edi + 0x114], eax
jmp case.0x405a5c.45
cmp edx, dword [edi + 0x138]
jge case.0x405a5c.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 0x40a2da
mov edx, dword [edi + 0x144]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edx
mov edx, dword [edi + 0x140]
jmp 0x40a27a
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 0x40a2d6
cmp dword [esp + 0x24], edx
jg 0x40a258
jmp case.0x405a5c.45
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call fcn.0040bab0
jmp 0x407445
movd xmm0, dword [edi + 0x114]
mov ecx, dword [edi + 0x110]
cmp esi, 0x30
je 0x40a41d
movd xmm6, dword [esp + 0x2c]
punpckldq xmm0, xmm6
jmp 0x405c40
mov eax, edi
mov edx, 0x2d
call fcn.00401ef0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
jmp 0x409fc7
mov esi, dword [esp + 0x1c]
xor eax, eax
mov dword [ebx], eax
jmp 0x409c45
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
mov eax, dword [esp + 0x10c]
sub eax, dword [0x4490e8]
jne 0x40a3e1
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, str.false
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00401fc0
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
call fcn.00412a70
movd xmm7, eax
mov dword [esp + 0x2c], eax
punpckldq xmm0, xmm7
jmp 0x409723