Function at 0x406a70
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.0x406aac.45
mov ebx, dword [edi + 0x118]
test ebx, ebx
jne case.default.0x40b03e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
cmp esi, 0x5f
ja case.0x406aac.45
jmp dword [esi*4 + 0x434cfc]
lea esi, [edx - 0x52]
cmp esi, 1
ja 0x408cde
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x40b252
add eax, 0x10
cmp dword [esp + 0x28], 4
jne 0x40a598
mov dword [edi + 0x114], ecx
nop
mov dword [edi + 0x118], 1
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b160
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.0040b480
mov esi, dword [esp + 0x40]
test esi, esi
je 0x409e31
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
test ebx, ebx
je case.default.0x40b03e
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.default.0x40b03e
mov ecx, dword [edi + 0x114]
mov eax, ecx
test ecx, ecx
je 0x40b12c
mov dword [esp + 0x28], ebx
lea esi, [esi]
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x406bbc
mov edx, dword [eax + 4]
mov edx, dword [edx]
lea ebx, [edx - 0x19]
cmp ebx, 2
ja 0x406bc2
cmp esi, edx
je 0x40a6f6
mov eax, dword [eax]
test eax, eax
jne 0x406ba0
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 0x406b47
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b342
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.0040b480
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi + 0x120]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0x40a15b
xor ebx, ebx
cmp dword [eax], 5
je 0x40ac1a
mov edx, dword [eax]
cmp edx, 0x24
je 0x40a515
mov ecx, dword [edi + 0x114]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0x110]
cmp esi, edx
je 0x40a761
cmp edx, 0x25
je 0x409e46
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 0x406b47
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x406ccf
mov edx, 0x11
mov eax, edi
call fcn.0040b480
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je case.default.0x40b03e
mov eax, dword [edi + 0x100]
cmp eax, 0xfd
ja 0x40a730
mov edx, 0x434a55
mov eax, edi
call fcn.00403010
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.0040b480
cmp dword [edi + 0x128], ebx
jne case.default.0x40b03e
mov eax, dword [edi + 0x100]
cmp eax, esi
jne case.default.0x40b03e
sub eax, 2
mov dword [edi + 0x100], eax
jmp case.default.0x40b03e
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.0040b480
mov esi, dword [esp + 0x40]
test esi, esi
je 0x40a557
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
jmp case.default.0x40b03e
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, dword [esi + 0xc]
call fcn.0040b480
mov edx, 0x434a58
mov eax, edi
call fcn.00403010
mov ebx, dword [esi + 0x10]
cmp dword [ebx], 0x49
je 0x40a8c6
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3d8
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040b480
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
cmp dword [ecx], 0x28
jne 0x40a2e6
mov eax, dword [ecx + 0xc]
mov ebx, dword [eax + 0x10]
cmp ebx, 6
ja 0x40a5cb
test ebx, ebx
je 0x406e3c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
je 0x40b00e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40ab14
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.0040b480
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40aadf
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 0x40aace
cmp ebx, 8
je 0x40aa89
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b388
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.0040b480
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x40a2ed
mov edx, 0x11
mov eax, edi
call fcn.0040b480
cmp dword [ebx], 0x56
je 0x40a2f6
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x406f2f
mov ebx, 0x2e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40ad6d
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 0x40b34c
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b392
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.0040cb00
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
test ecx, ecx
je 0x406fa3
mov edx, 0x11
mov eax, edi
call fcn.0040b480
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a95d
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.0040b480
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a928
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40b03e
mov eax, dword [edi + 0x100]
mov ebx, str.global_destructors_keyed_to
mov esi, 0x434ca9
jmp 0x407037
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 0x409a8e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407018
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 0x409a8e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40701a
mov eax, dword [edi + 0x100]
mov ebx, str.template_parameter_object_for
mov esi, 0x434a92
jmp 0x4070db
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 0x409abb
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4070b8
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 0x409abb
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4070ba
mov eax, dword [edi + 0x100]
mov ebx, str.guard_variable_for
mov esi, 0x434b76
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 esi, ebx
je 0x4099fb
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, 0x434b76
je 0x4099fb
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40715a
mov eax, dword [edi + 0x100]
mov ebx, str.non_virtual_thunk_to
mov esi, 0x434b25
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 0x409b6f
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, 0x434b25
je 0x409b6f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4071fa
mov eax, dword [edi + 0x100]
mov ebx, str.covariant_return_thunk_to
mov esi, 0x434b52
jmp 0x4072b7
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 0x409bc6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407298
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 0x409bc6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40729a
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_name_for
jmp 0x407353
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 0x409c20
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407330
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 0x409c20
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407332
mov eax, dword [edi + 0x100]
mov ebx, str.java_Class_for
mov esi, 0x434b62
jmp 0x4073ef
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 0x409c7a
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4073d0
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 0x409c7a
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4073d2
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_fn_for
mov esi, 0x434b0f
jmp 0x40748f
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 0x409cd4
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407470
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 0x409cd4
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407472
mov eax, dword [edi + 0x100]
mov ebx, str.virtual_thunk_to
mov esi, 0x434b37
jmp 0x407527
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 0x409dc2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407508
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 0x409dc2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40750a
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_for
mov esi, 0x434aeb
jmp 0x4075cb
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 0x409def
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4075a8
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 0x409def
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4075aa
mov eax, dword [edi + 0x100]
mov ebx, str.construction_vtable_for
mov esi, 0x434ad8
jmp 0x40766b
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 0x409586
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 esi, ebx
je 0x409586
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40764a
mov eax, dword [edi + 0x100]
mov ebx, str.non_transaction_clone_for
mov esi, 0x434c07
jmp 0x407707
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 0x409762
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 0x409762
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4076ea
mov eax, dword [edi + 0x100]
mov ebx, str.vtable_for
mov esi, 0x434ab6
jmp 0x40779f
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 0x409688
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407780
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 0x409688
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407782
mov eax, dword [edi + 0x100]
mov ebx, str.unnamed_type
mov esi, 0x434cc3
jmp 0x40783b
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 0x4097e9
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407818
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 0x4097e9
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40781a
mov eax, dword [edi + 0x100]
mov ebx, str.VTT_for
mov esi, 0x434abf
jmp 0x4078d7
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 0x40962e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4078b8
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 0x40962e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4078ba
mov eax, dword [edi + 0x100]
mov ebx, str.transaction_clone_for
mov esi, 0x434bec
jmp 0x407973
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 0x40978f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407950
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 0x40978f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407952
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a8f3
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 0x40b3dd
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.0040b480
mov eax, dword [edi + 0x100]
mov ebx, str.lambda
mov esi, 0x434cb1
jmp 0x407a5f
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 0x409e80
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407a40
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 0x40a9c7
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407a42
mov eax, dword [edi + 0x100]
mov ebx, str.initializer_for_module
mov esi, 0x434aaa
jmp 0x407af7
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 0x409c4d
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407ad8
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 0x409c4d
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407ada
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a086
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], bl
mov byte [edi + 0x104], bl
jmp case.default.0x40b03e
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.0040b480
mov eax, dword [edi + 0x100]
jmp 0x407bcf
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 0x409460
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407bb0
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 0x409460
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407bb2
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.0040b480
mov eax, dword [edi + 0x100]
jmp 0x407c7f
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 0x409460
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407c60
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 0x409460
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407c62
mov eax, dword [esp + 0x2c]
mov ebx, dword [edi + 0x120]
mov ecx, dword [eax + 0xc]
test ebx, ebx
jne 0x40a0f4
mov edx, ecx
mov eax, edi
call fcn.004030c0
xor edx, edx
test eax, eax
je 0x40a0f4
lea esi, [esi]
cmp dword [eax], 0x30
jne 0x40a723
mov esi, dword [eax + 0xc]
test esi, esi
je 0x40a723
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
jne 0x407d10
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.0040b480
mov eax, dword [esp + 0x28]
cmp ebx, eax
je case.default.0x40b03e
mov dword [esp + 0x2c], ebx
mov eax, dword [edi + 0x100]
mov esi, 0x434a55
jmp 0x407da4
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 0x40949d
movzx ebx, byte [esi]
cmp eax, 0xff
jne 0x407d80
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 0x40949d
movzx ebx, byte [esi]
mov ecx, 1
jmp 0x407d82
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3ce
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.0040b480
mov esi, dword [esp + 0x2c]
mov eax, dword [edi + 0x120]
mov ecx, dword [esi + 0xc]
lea edx, [ecx + 1]
cmp eax, edx
jle 0x40a164
mov eax, dword [edi + 0x110]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
test ecx, ecx
je 0x40a6b9
test eax, eax
je case.0x406aac.45
mov edx, ecx
jmp 0x407e78
test edx, edx
je 0x40a6b9
mov eax, dword [eax + 0x10]
sub edx, 1
test eax, eax
jne 0x407e70
jmp case.0x406aac.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.0040b480
cmp byte [edi + 0x104], 0x3c
je 0x40a880
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a84b
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.0040b480
cmp byte [edi + 0x104], 0x3e
je 0x40a83a
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a805
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.0x40b03e
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.0040b480
mov eax, dword [edi + 0x100]
jmp 0x407f8b
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.0x40b03e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407f68
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.0x40b03e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407f6a
mov eax, dword [edi + 0x100]
mov ebx, str.template
mov esi, 0x434ce7
jmp 0x408027
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 0x4096b5
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408008
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 0x4096b5
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40800a
mov eax, dword [edi + 0x100]
mov ebx, str.typename
mov esi, 0x434cde
jmp 0x4080bf
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.0x40b03e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4080a0
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.0x40b03e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4080a2
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40aa1f
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 0x40818e
jmp 0x409b9c
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040b480
mov esi, dword [esi + 0x10]
add dword [esp + 0x2c], 1
test esi, esi
je 0x409b9c
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x408170
mov eax, dword [edi + 0x100]
mov ebx, 0x434a55
jmp 0x4081c7
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 0x408170
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4081a8
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 0x408170
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4081aa
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_init_function_for
mov esi, 0x434b8d
jmp 0x408267
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 0x4097bc
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408248
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 0x4097bc
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40824a
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3c
jne case.0x406aac.45
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3d
jne case.0x406aac.45
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call fcn.0040d440
test eax, eax
jne case.default.0x40b03e
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040d850
test eax, eax
jne case.default.0x40b03e
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 0x40b1e0
mov edx, 0x11
mov eax, edi
call fcn.0040d240
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call fcn.0040cb00
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040d240
mov eax, edi
mov edx, 0x434c27
call fcn.00403010
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b333
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040d240
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x10]
cmp dword [eax], 0x3a
jne case.0x406aac.45
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
cmp byte [eax + 1], 0x63
je 0x40ace5
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call fcn.0040d440
test eax, eax
jne case.default.0x40b03e
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040d850
test eax, eax
jne case.default.0x40b03e
mov eax, dword [esi + 0xc]
cmp dword [eax], 0x33
je 0x40b165
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 0x40844d
cmp dword [ecx], 3
je 0x40b1ba
mov edx, 0x11
mov eax, edi
call fcn.0040d240
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 0x40b0f9
mov dword [esp + 4], 0x434c1e
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x40b2d5
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040d240
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
cmp dword [eax], 0x33
jne case.default.0x40b03e
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne case.default.0x40b03e
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne case.default.0x40b03e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3ba
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402f40
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov eax, dword [esi]
cmp eax, 0x33
je 0x40a394
cmp eax, 0x35
je 0x40a59f
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040cb00
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3f6
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040d240
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x40b03e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x40858f
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.0x40b03e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408570
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.0x40b03e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408572
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.0040b480
mov eax, dword [edi + 0x100]
jmp 0x40863f
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 0x409bf3
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408620
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 0x409bf3
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408622
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, 0x434c5f
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b480
mov eax, dword [edi + 0x100]
jmp 0x4086eb
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.0x40b03e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4086c8
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.0x40b03e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4086ca
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x434c1a
jmp 0x40878f
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 0x409ca7
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408770
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 0x409ca7
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408772
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x434c1a
jmp 0x408827
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 0x409ae8
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408808
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 0x409ae8
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40880a
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 0x4088cf
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 0x409d01
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4088b0
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 0x409d01
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4088b2
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x40a200
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3a6
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c63
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403010
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.0x40b03e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x4089a7
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.0x40b03e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408988
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.0x40b03e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40898a
mov eax, dword [edi + 0x100]
mov ebx, str.hidden_alias_for
mov esi, 0x434bd5
jmp 0x408a3f
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 0x409b42
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408a20
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 0x409b42
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408a22
mov eax, dword [edi + 0x100]
mov ebx, str.java_resource
mov esi, 0x434c53
jmp 0x408adf
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 0x409a55
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408ac0
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 0x409a55
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408ac2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b39c
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.0040b480
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a891
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.0040b480
mov esi, dword [esi + 0x10]
mov eax, dword [edi + 0x100]
mov dword [esp + 0x2c], esi
test esi, esi
je 0x409479
mov ebx, 0x434a55
mov esi, 0x434a57
jmp 0x408c03
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 0x408bb0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408be8
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 0x408bb0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408bea
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.0x406aac.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 0x406abf
ja 0x406ab3
lea esi, [edx - 0x1c]
cmp esi, 5
jbe 0x406abf
mov dword [edi + 0x114], eax
mov esi, dword [esp + 0x20]
cmp edx, 2
je 0x40ab50
cmp edx, 4
je 0x40abd8
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b480
cmp dword [ebx], 4
jne 0x408d1c
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 0x40a0bb
sub ebx, 0x10
cmp ebx, esi
jne 0x408d25
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x114], eax
jmp case.default.0x40b03e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x40b03e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x408d87
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.0x40b03e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408d68
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.0x40b03e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408d6a
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b480
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a992
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 0x40b3b0
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.0040b480
mov eax, dword [edi + 0x100]
mov ebx, str.global_constructors_keyed_to
mov esi, 0x434c8c
jmp 0x408e8b
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 0x4098f5
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408e68
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 0x4098f5
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408e6a
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 4]
mov ebx, dword [eax]
test esi, esi
je 0x4094a6
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x408f2f
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 0x4094a6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408f10
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 0x4094a6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408f12
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b480
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a79b
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.0040b480
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a300
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x29
mov byte [edi + 0x104], 0x29
jmp case.default.0x40b03e
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 0x409093
jmp 0x40b18f
mov edx, dword [eax + 8]
test edx, edx
jne 0x40908d
cmp ebx, 3
ja case.0x406aac.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 0x4090a0
mov edx, dword [eax + 4]
mov edx, dword [edx]
sub edx, 0x19
cmp edx, 2
jbe 0x409058
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b480
mov eax, dword [esp + 0x28]
mov dword [edi + 0x114], eax
mov eax, dword [esp + 0x50]
test eax, eax
jne case.default.0x40b03e
lea esi, [esp + 0x4c]
cmp ebx, 1
jbe 0x4090f4
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.0040b530
cmp ebx, 1
jne 0x4090d8
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call fcn.0040c800
jmp case.default.0x40b03e
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x40917d
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.0040b480
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [edi + 0x114], eax
test ecx, ecx
jne case.default.0x40b03e
mov edx, 0x20
mov eax, edi
call fcn.00402f40
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call fcn.0040bff0
jmp case.default.0x40b03e
mov eax, dword [edi + 0x100]
mov ebx, str.decltype__
jmp 0x4091d3
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 0x409a82
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4091b0
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 0x409a82
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4091b2
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.00413b20
test eax, eax
js 0x409277
add eax, 1
cmp eax, 0x19
ja 0x40a38f
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
test eax, eax
je case.default.0x40b03e
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x4092b7
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.0x40b03e
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x409298
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.0x40b03e
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x40929a
mov eax, dword [edi + 0x100]
mov ebx, str.reference_temporary_
mov esi, 0x434bbd
jmp 0x40934f
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 0x409922
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409330
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 0x409922
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409332
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_wrapper_function_for
mov esi, 0x434ba7
jmp 0x4093ef
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 0x409a28
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4093d0
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 0x409a28
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4093d2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b480
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a126
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x5d
mov byte [edi + 0x104], 0x5d
jmp case.default.0x40b03e
mov ebx, dword [esp + 0x2c]
jmp 0x407d40
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.00413b20
test eax, eax
js 0x4094e1
add eax, 1
cmp eax, 0x19
ja 0x40a38f
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
test eax, eax
je 0x409e1c
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x40951f
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 0x409e1c
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x409500
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 0x409e1c
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x409502
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.0040b480
mov eax, dword [edi + 0x100]
jmp 0x4095cf
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 0x40965b
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4095b0
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 0x40965b
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4095b2
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3e2
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3ec
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3d3
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.0040b480
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.0040b480
mov eax, dword [edi + 0x100]
jmp 0x4096ff
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.0x40b03e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4096e0
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.0x40b03e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4096e2
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3e7
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3bf
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3f1
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.0040b480
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.00413b20
test eax, eax
js 0x409826
add eax, 1
cmp eax, 0x19
ja 0x40a38f
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x4098d0
lea esi, [ebx + eax]
jmp 0x409863
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 0x4098d0
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x409848
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 0x40a4ef
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x40984a
cmp edx, 0xff
je 0x40a335
lea eax, [edx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + edx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40b03e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b374
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.0040b480
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.0040b480
mov eax, dword [edi + 0x100]
jmp 0x40996b
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 0x4099ce
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409950
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 0x4099ce
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409952
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b427
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b454
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3a1
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3b5
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.0040b480
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
jmp 0x408fd1
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b383
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b351
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.0040b480
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x148]
test eax, eax
je 0x409b19
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.0040b480
mov ecx, dword [edi + 0x148]
test ecx, ecx
je case.default.0x40b03e
mov eax, dword [esp + 0x38]
mov dword [edi + 0x110], eax
jmp case.default.0x40b03e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b436
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b33d
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.0040b480
mov eax, dword [edi + 0x100]
lea edx, [eax + 1]
cmp eax, 0xff
je 0x40a7d0
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x3e
mov byte [edi + 0x104], 0x3e
jmp case.default.0x40b03e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b360
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b440
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b347
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b42c
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b356
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b43b
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b35b
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.0040b480
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + 4]
movzx eax, byte [ebx]
sub eax, 0x61
cmp al, 0x19
jbe 0x40a4f9
mov esi, dword [esp + 0x28]
lea eax, [esi - 1]
cmp byte [ebx + esi - 1], 0x20
cmove esi, eax
test esi, esi
je case.default.0x40b03e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x409d5f
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.0x40b03e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409d40
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.0x40b03e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409d42
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b445
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.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3fb
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.0040b480
mov eax, dword [esp + 0x2c]
movzx ebx, byte [eax + 0x12]
test bl, bl
je case.default.0x40b03e
jmp 0x407b61
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040b530
jmp 0x406b63
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 0x406b47
jmp 0x406bee
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 0x409ec9
cmp dword [esi], 0x59
je 0x40add7
mov dword [edi + 0x120], edx
cmp eax, 0xff
je 0x40aa54
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.0040b480
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 0x409f43
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 0x409fa6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409f28
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 0x409fa6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409f2a
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.00413b20
test eax, eax
js 0x409fe3
add eax, 1
cmp eax, 0x19
ja 0x40a38f
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x4098d0
lea esi, [ebx + eax]
jmp 0x40a01f
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 0x4098d0
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x40a000
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 0x40a4ef
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x40a002
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 0x407b75
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40ada2
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.0040b530
jmp 0x408d30
mov eax, edi
mov edx, 0x11
call fcn.0040d240
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b365
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c5f
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403010
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 0x409487
mov eax, dword [esp + 0x28]
jmp 0x406c54
test eax, eax
je 0x40a638
mov eax, dword [edi + 0x100]
mov ebx, str.auto:
mov esi, 0x434a72
jmp 0x40a19d
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 0x40a68e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x40a17e
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 0x40a68e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40a180
mov edx, str.parm
mov eax, edi
call fcn.00403010
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.00413b20
test eax, eax
js 0x40a23f
add eax, 1
cmp eax, 0x19
ja 0x40a38f
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, dword [edi + 0x100]
mov esi, eax
test eax, eax
je 0x40a36a
add esi, ebx
jmp 0x40a27f
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 0x40a36a
movzx eax, byte [ebx]
cmp ecx, 0xff
jne 0x40a260
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 0x40af7a
movzx eax, byte [ebx]
mov edx, 1
jmp 0x40a262
xor ebx, ebx
jmp 0x406e3c
cmp esi, 0x56
jne 0x406f2f
mov ebx, 0x3a
jmp 0x406f0c
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 0x408ff1
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 0x4098df
cmp ecx, 0xff
je 0x40aec3
lea eax, [ecx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + ecx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40b03e
call fcn.00413a60
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 0x40a3b4
movzx edx, byte [ecx + 1]
sub edx, 0x64
jne 0x40a3b4
movzx edx, byte [ecx + 2]
mov ecx, dword [ebx]
test edx, edx
jne 0x40a3c3
cmp ecx, 3
je 0x40afcc
cmp ecx, 0x3a
je 0x40b0c2
cmp eax, 0x73
jne 0x40a440
mov edx, dword [esp + 0x2c]
cmp byte [edx + 1], 0x5a
jne 0x40aef3
movzx ecx, byte [edx + 2]
test ecx, ecx
jne 0x40aef3
mov edx, ebx
mov eax, edi
call fcn.004030c0
test eax, eax
jne 0x40a411
jmp 0x40a416
mov edx, dword [eax + 0xc]
test edx, edx
je 0x40a416
mov eax, dword [eax + 0x10]
add ecx, 1
test eax, eax
je 0x40a416
cmp dword [eax], 0x30
je 0x40a400
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b379
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403220
mov ecx, esi
mov eax, edi
mov edx, 0x11
call fcn.0040cb00
mov esi, dword [esp + 0x2c]
movzx eax, byte [esi]
cmp eax, 0x67
jne 0x40a48e
cmp byte [esi + 1], 0x73
jne 0x40a48e
cmp byte [esi + 2], 0
jne 0x40a48e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b37e
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040b480
cmp eax, 0x73
jne 0x40a56c
mov esi, dword [esp + 0x2c]
cmp byte [esi + 1], 0x74
jne 0x40a56c
cmp byte [esi + 2], 0
jne 0x40a56c
mov edx, 0x28
mov eax, edi
call fcn.00402f40
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call fcn.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b38d
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402f40
mov edx, 1
jmp 0x4098dc
mov edx, 0x20
mov eax, edi
mov dword [esp + 0x2c], ecx
call fcn.00402f40
mov ecx, dword [esp + 0x2c]
mov ebx, dword [ecx + 4]
jmp 0x409d16
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 0x406b47
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040b530
jmp 0x406d9b
cmp eax, 0x6e
jne 0x40852c
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x78
jne 0x40852c
cmp byte [eax + 2], 0
je 0x40a4af
jmp 0x40852c
mov edx, ecx
jmp 0x408ca7
mov eax, edi
mov edx, 0x28
call fcn.00402f40
mov ecx, dword [esi + 0xc]
mov eax, edi
mov edx, 0x11
call fcn.0040b480
mov edx, 0x29
mov eax, edi
call fcn.00402f40
jmp 0x40852c
cmp ebx, 7
jne 0x406e3c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
jne 0x406e3c
cmp dword [eax + 0x10], 1
jne 0x406e3c
cmp esi, 0x3e
jne 0x406e3c
mov eax, dword [eax + 0xc]
movzx eax, byte [eax]
cmp al, 0x30
je 0x40b405
cmp al, 0x31
jne 0x406e3c
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b400
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, str.true
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403010
mov edx, dword [esp + 0x2c]
mov eax, edi
call fcn.00402fb0
test eax, eax
je case.0x406aac.45
cmp dword [eax], 0x30
jne 0x40a667
mov edx, dword [edi + 0x124]
test edx, edx
js 0x40a667
call fcn.00402df0
test eax, eax
je case.0x406aac.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.0040b480
mov dword [edi + 0x110], ebx
jmp case.default.0x40b03e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3c9
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.00403220
test eax, eax
je case.0x406aac.45
mov edx, dword [eax]
cmp edx, 0x5d
jne 0x40a6d5
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x406aac.45
mov edx, dword [eax]
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b459
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403320
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b338
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.0040b480
test edx, edx
jne 0x407d2e
jmp case.default.0x40b03e
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 0x406cef
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 0x406b47
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 0x408fb9
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 0x409bb0
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 0x407f1c
mov edx, 0x20
mov eax, edi
call fcn.00402f40
jmp 0x407f08
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 0x407ed7
mov edx, 0x20
mov eax, edi
call fcn.00402f40
jmp 0x407ec3
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 0x408b96
mov edx, str.default_arg
mov eax, edi
call fcn.00403010
mov eax, dword [ebx + 0x10]
lea edx, [eax + 1]
mov eax, edi
call fcn.00403220
mov edx, 0x434a69
mov eax, edi
call fcn.00403010
mov ebx, dword [ebx + 0xc]
jmp 0x406ddb
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 0x4079ed
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 0x406fea
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 0x406fb7
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 0x408e11
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 0x40aa0b
cmp dword [esi], 0x59
je 0x40add7
mov dword [edi + 0x120], 1
mov eax, 1
jmp 0x409eda
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 0x40813d
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 0x409edd
mov edx, 0x5b
mov eax, edi
call fcn.00402f40
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3c4
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x5d
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402f40
mov edx, 0x2d
mov eax, edi
call fcn.00402f40
jmp 0x406e9f
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 0x406e81
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 0x406e50
mov ebx, dword [ebx + 0x10]
cmp dword [ebx], 0x49
je 0x40afbc
mov eax, dword [esp + 0x28]
shl eax, 4
lea ecx, [esi + eax]
mov eax, dword [ebx]
cmp eax, 0x4f
je 0x40ab86
ja 0x40ab7e
lea edx, [eax - 0x1c]
cmp edx, 5
jbe 0x40ab86
mov edx, eax
jmp 0x408cf1
lea edx, [eax - 0x52]
cmp edx, 1
ja 0x40ab77
cmp dword [esp + 0x28], 4
je case.0x406aac.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 0x40ab66
jmp case.0x406aac.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 0x408cfa
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 0x408cfa
mov edx, dword [edi + 0x134]
test edx, edx
jle 0x40b25d
mov ebx, dword [edi + 0x130]
mov ecx, dword [esp + 0x28]
xor eax, eax
jmp 0x40ac4e
add eax, 1
add ebx, 8
cmp edx, eax
je 0x40b25d
cmp ecx, dword [ebx]
jne 0x40ac40
mov ecx, dword [edi + 0x12c]
mov eax, ecx
test ecx, ecx
je 0x40af8c
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x28]
jmp 0x40ac8b
cmp ecx, eax
je 0x40ac80
cmp edx, esi
je 0x40ac91
mov eax, dword [eax + 4]
test eax, eax
je 0x40af84
mov edx, dword [eax]
cmp edx, ebx
jne 0x40ac78
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, edi
xor ebx, ebx
call fcn.00402fb0
test eax, eax
je case.0x406aac.45
cmp dword [eax], 0x30
jne 0x406c54
mov edx, dword [edi + 0x124]
test edx, edx
js 0x40b2e8
call fcn.00402df0
test eax, eax
jne 0x406c54
test ebx, ebx
je case.0x406aac.45
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.0x406aac.45
movzx eax, byte [eax]
lea edx, [eax - 0x72]
cmp dl, 1
jbe 0x40acfb
sub eax, 0x63
cmp al, 1
ja 0x4083e2
mov edx, 0x11
mov eax, edi
call fcn.0040cb00
mov edx, 0x3c
mov eax, edi
call fcn.00402f40
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b480
mov edx, 0x434c1b
mov eax, edi
call fcn.00403010
mov eax, dword [esi + 0x10]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b480
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b36a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402f40
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 0x406f20
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 0x40a0cf
mov dword [esp + 0x3c], esi
mov edx, 0x3c
mov eax, edi
call fcn.00402f40
mov ebx, dword [esi + 0xc]
test ebx, ebx
jne 0x40ae4a
jmp 0x40aea0
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call fcn.0040b480
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40ae6b
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 0x40ae33
mov ebx, dword [ebx + 0xc]
mov edx, dword [ebx]
mov eax, dword [edi + 0x120]
lea ecx, [eax - 1]
mov eax, edi
call fcn.00403320
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x40aea0
mov eax, dword [edi + 0x120]
lea edx, [eax + 1]
mov dword [edi + 0x120], edx
test eax, eax
je 0x40adf8
mov edx, 0x434a55
mov eax, edi
call fcn.00403010
jmp 0x40adf8
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 0x40ae16
mov edx, 0x3e
mov eax, edi
call fcn.00402f40
mov eax, dword [edi + 0x120]
mov esi, dword [esi + 0x10]
lea edx, [eax + 1]
mov eax, dword [edi + 0x100]
jmp 0x409ec9
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 0x40a376
cmp eax, 0x73
jne 0x40a440
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x50
jne 0x40a440
xor ecx, ecx
cmp byte [eax + 2], 0
je 0x40af2e
jmp 0x40a440
add ecx, 1
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x40afeb
cmp dword [ebx], 0x30
jne 0x40afeb
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40afeb
cmp dword [eax], 0x4d
jne 0x40af20
mov edx, dword [eax + 0xc]
mov eax, edi
call fcn.004030c0
xor edx, edx
test eax, eax
jne 0x40af71
jmp 0x40af76
mov esi, dword [eax + 0xc]
test esi, esi
je 0x40af76
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
je 0x40af76
cmp dword [eax], 0x30
je 0x40af60
add ecx, edx
jmp 0x40af23
mov ecx, 1
jmp 0x40a376
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.00402fb0
test eax, eax
je 0x40acd6
mov ebx, 1
jmp 0x40acaa
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x40ab5c
jmp case.0x406aac.45
mov edx, dword [ebx + 0xc]
cmp dword [edx], 1
jne 0x40a3cc
mov ecx, dword [ebx + 0x10]
cmp dword [ecx], 0x2a
jne 0x40a3cc
mov ebx, edx
jmp 0x40a3cc
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b468
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403220
cmp esi, 0x3f
je 0x40b30e
mov ecx, eax
mov edx, 0x11
mov eax, edi
sub ebx, 2
call fcn.0040b480
cmp ebx, 4
ja case.default.0x40b03e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jmp dword [ebx*4 + 0x434e7c]
jne 0x40b44a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c33
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403010
jne 0x40b44f
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c30
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403010
jne 0x40b45e
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x6c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402f40
jne 0x40b463
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x75
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402f40
jne 0x40b397
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c36
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403010
mov ecx, dword [ebx + 0xc]
mov eax, edi
mov edx, 0x11
call fcn.0040d240
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b36f
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040cb00
mov eax, edi
mov edx, 0x5b
call fcn.00402f40
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b480
mov edx, 0x5d
mov eax, edi
call fcn.00402f40
jmp 0x4084ab
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 0x406b47
call fcn.00413ac0
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne 0x40841e
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne 0x40841e
mov edx, 0x28
mov eax, edi
call fcn.00402f40
jmp 0x40841e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b480
xor eax, eax
cmp dword [esp + 0x50], 0
mov dword [edi + 0x114], eax
je 0x4090f4
jmp case.default.0x40b03e
mov eax, dword [ecx + 0x10]
cmp dword [eax], 0x2a
je 0x40b1cc
mov dword [edi + 0x118], 1
mov ecx, dword [ecx + 0xc]
mov edx, 0x11
mov eax, edi
call fcn.0040d240
jmp 0x408459
mov edx, str.new
mov eax, edi
mov dword [esp + 0x28], ecx
call fcn.00403010
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0xc], 0
je 0x40b212
mov edx, 0x11
mov eax, edi
call fcn.0040d240
mov edx, 0x20
mov eax, edi
call fcn.00402f40
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040b480
test esi, esi
je case.default.0x40b03e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b3ab
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040d240
mov dword [edi + 0x114], eax
jmp case.0x406aac.45
cmp edx, dword [edi + 0x138]
jge case.0x406aac.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 0x40b32a
mov edx, dword [edi + 0x144]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edx
mov edx, dword [edi + 0x140]
jmp 0x40b2ca
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 0x40b326
cmp dword [esp + 0x24], edx
jg 0x40b2a8
jmp case.0x406aac.45
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call fcn.0040cb00
jmp 0x408495
movd xmm0, dword [edi + 0x114]
mov ecx, dword [edi + 0x110]
cmp esi, 0x30
je 0x40b46d
movd xmm6, dword [esp + 0x2c]
punpckldq xmm0, xmm6
jmp 0x406c90
mov eax, edi
mov edx, 0x2d
call fcn.00402f40
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
jmp 0x40b017
mov esi, dword [esp + 0x1c]
xor eax, eax
mov dword [ebx], eax
jmp 0x40ac95
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b431
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, str.false
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403010
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
call fcn.00413ac0
movd xmm7, eax
mov dword [esp + 0x2c], eax
punpckldq xmm0, xmm7
jmp 0x40a773