Function at 0x4065a0
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 [0x44b0f8]
mov dword [esp + 0x10c], eax
xor eax, eax
mov dword [esp + 0x2c], ecx
test ecx, ecx
je case.0x4065dc.45
mov ebx, dword [edi + 0x118]
test ebx, ebx
jne case.default.0x40ab6e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
cmp esi, 0x5f
ja case.0x4065dc.45
jmp dword [esi*4 + 0x433cdc]
lea esi, [edx - 0x52]
cmp esi, 1
ja 0x40880e
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x40ad82
add eax, 0x10
cmp dword [esp + 0x28], 4
jne 0x40a0c8
mov dword [edi + 0x114], ecx
nop
mov dword [edi + 0x118], 1
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ac90
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.0040afb0
mov esi, dword [esp + 0x40]
test esi, esi
je 0x409961
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
test ebx, ebx
je case.default.0x40ab6e
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.default.0x40ab6e
mov ecx, dword [edi + 0x114]
mov eax, ecx
test ecx, ecx
je 0x40ac5c
mov dword [esp + 0x28], ebx
lea esi, [esi]
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x4066ec
mov edx, dword [eax + 4]
mov edx, dword [edx]
lea ebx, [edx - 0x19]
cmp ebx, 2
ja 0x4066f2
cmp esi, edx
je 0x40a226
mov eax, dword [eax]
test eax, eax
jne 0x4066d0
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 0x406677
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ae72
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.0040afb0
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi + 0x120]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0x409c8b
xor ebx, ebx
cmp dword [eax], 5
je 0x40a74a
mov edx, dword [eax]
cmp edx, 0x24
je 0x40a045
mov ecx, dword [edi + 0x114]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0x110]
cmp esi, edx
je 0x40a291
cmp edx, 0x25
je 0x409976
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 0x406677
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4067ff
mov edx, 0x11
mov eax, edi
call fcn.0040afb0
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je case.default.0x40ab6e
mov eax, dword [edi + 0x100]
cmp eax, 0xfd
ja 0x40a260
mov edx, 0x433a35
mov eax, edi
call fcn.00402b40
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.0040afb0
cmp dword [edi + 0x128], ebx
jne case.default.0x40ab6e
mov eax, dword [edi + 0x100]
cmp eax, esi
jne case.default.0x40ab6e
sub eax, 2
mov dword [edi + 0x100], eax
jmp case.default.0x40ab6e
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.0040afb0
mov esi, dword [esp + 0x40]
test esi, esi
je 0x40a087
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
jmp case.default.0x40ab6e
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, dword [esi + 0xc]
call fcn.0040afb0
mov edx, 0x433a38
mov eax, edi
call fcn.00402b40
mov ebx, dword [esi + 0x10]
cmp dword [ebx], 0x49
je 0x40a3f6
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af08
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040afb0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
cmp dword [ecx], 0x28
jne 0x409e16
mov eax, dword [ecx + 0xc]
mov ebx, dword [eax + 0x10]
cmp ebx, 6
ja 0x40a0fb
test ebx, ebx
je 0x40696c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
je 0x40ab3e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a644
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.0040afb0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a60f
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 0x40a5fe
cmp ebx, 8
je 0x40a5b9
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aeb8
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.0040afb0
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x409e1d
mov edx, 0x11
mov eax, edi
call fcn.0040afb0
cmp dword [ebx], 0x56
je 0x409e26
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x406a5f
mov ebx, 0x2e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a89d
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 [0x44b0f8]
jne 0x40ae7c
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aec2
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.0040c630
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
test ecx, ecx
je 0x406ad3
mov edx, 0x11
mov eax, edi
call fcn.0040afb0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a48d
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.0040afb0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a458
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40ab6e
mov eax, dword [edi + 0x100]
mov ebx, str.global_destructors_keyed_to
mov esi, 0x433c89
jmp 0x406b67
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 0x4095be
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406b48
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, 0x433c89
je 0x4095be
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406b4a
mov eax, dword [edi + 0x100]
mov ebx, str.template_parameter_object_for
mov esi, 0x433a72
jmp 0x406c0b
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, 0x433a72
je 0x4095eb
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406be8
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 0x4095eb
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406bea
mov eax, dword [edi + 0x100]
mov ebx, str.guard_variable_for
mov esi, 0x433b56
jmp 0x406ca7
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 0x40952b
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406c88
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, 0x433b56
je 0x40952b
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406c8a
mov eax, dword [edi + 0x100]
mov ebx, str.non_virtual_thunk_to
mov esi, 0x433b05
jmp 0x406d47
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 0x40969f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406d28
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, 0x433b05
je 0x40969f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406d2a
mov eax, dword [edi + 0x100]
mov ebx, str.covariant_return_thunk_to
mov esi, 0x433b32
jmp 0x406de7
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 0x4096f6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406dc8
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, 0x433b32
je 0x4096f6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406dca
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_name_for
jmp 0x406e83
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, 0x433ade
je 0x409750
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406e60
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, 0x433ade
je 0x409750
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406e62
mov eax, dword [edi + 0x100]
mov ebx, str.java_Class_for
mov esi, 0x433b42
jmp 0x406f1f
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 0x4097aa
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406f00
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, 0x433b42
je 0x4097aa
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406f02
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_fn_for
mov esi, 0x433aef
jmp 0x406fbf
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 0x409804
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406fa0
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 0x409804
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406fa2
mov eax, dword [edi + 0x100]
mov ebx, str.virtual_thunk_to
mov esi, 0x433b17
jmp 0x407057
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 0x4098f2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407038
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, 0x433b17
je 0x4098f2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40703a
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_for
mov esi, 0x433acb
jmp 0x4070fb
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, 0x433acb
je 0x40991f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4070d8
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 0x40991f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4070da
mov eax, dword [edi + 0x100]
mov ebx, str.construction_vtable_for
mov esi, 0x433ab8
jmp 0x40719b
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, 0x433ab8
je 0x4090b6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407178
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 0x4090b6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40717a
mov eax, dword [edi + 0x100]
mov ebx, str.non_transaction_clone_for
mov esi, 0x433be7
jmp 0x407237
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 0x409292
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407218
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 0x409292
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40721a
mov eax, dword [edi + 0x100]
mov ebx, str.vtable_for
mov esi, 0x433a96
jmp 0x4072cf
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 0x4091b8
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4072b0
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 0x4091b8
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4072b2
mov eax, dword [edi + 0x100]
mov ebx, str.unnamed_type
mov esi, 0x433ca3
jmp 0x40736b
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, 0x433ca3
je 0x409319
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407348
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 0x409319
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40734a
mov eax, dword [edi + 0x100]
mov ebx, str.VTT_for
mov esi, 0x433a9f
jmp 0x407407
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 0x40915e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4073e8
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 0x40915e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4073ea
mov eax, dword [edi + 0x100]
mov ebx, str.transaction_clone_for
mov esi, 0x433bcc
jmp 0x4074a3
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, 0x433bcc
je 0x4092bf
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407480
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 0x4092bf
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407482
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a423
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 [0x44b0f8]
jne 0x40af0d
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.0040afb0
mov eax, dword [edi + 0x100]
mov ebx, str.lambda
mov esi, 0x433c91
jmp 0x40758f
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 0x4099b0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407570
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 0x40a4f7
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407572
mov eax, dword [edi + 0x100]
mov ebx, str.initializer_for_module
mov esi, 0x433a8a
jmp 0x407627
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 0x40977d
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407608
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 0x40977d
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40760a
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409bb6
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], bl
mov byte [edi + 0x104], bl
jmp case.default.0x40ab6e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str.__clone
mov esi, 0x433cac
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040afb0
mov eax, dword [edi + 0x100]
jmp 0x4076ff
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 0x408f90
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4076e0
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 0x408f90
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4076e2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._abi:
mov esi, 0x433a34
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040afb0
mov eax, dword [edi + 0x100]
jmp 0x4077af
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 0x408f90
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407790
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 0x408f90
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407792
mov eax, dword [esp + 0x2c]
mov ebx, dword [edi + 0x120]
mov ecx, dword [eax + 0xc]
test ebx, ebx
jne 0x409c24
mov edx, ecx
mov eax, edi
call fcn.00402bf0
xor edx, edx
test eax, eax
je 0x409c24
lea esi, [esi]
cmp dword [eax], 0x30
jne 0x40a253
mov esi, dword [eax + 0xc]
test esi, esi
je 0x40a253
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
jne 0x407840
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.0040afb0
mov eax, dword [esp + 0x28]
cmp ebx, eax
je case.default.0x40ab6e
mov dword [esp + 0x2c], ebx
mov eax, dword [edi + 0x100]
mov esi, 0x433a35
jmp 0x4078d4
mov ecx, eax
lea eax, [ecx + 1]
add esi, 1
mov edx, 0x433a37
mov dword [edi + 0x100], eax
mov byte [edi + ecx], bl
mov byte [edi + 0x104], bl
cmp edx, esi
je 0x408fcd
movzx ebx, byte [esi]
cmp eax, 0xff
jne 0x4078b0
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, 0x433a37
je 0x408fcd
movzx ebx, byte [esi]
mov ecx, 1
jmp 0x4078b2
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aefe
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.0040afb0
mov esi, dword [esp + 0x2c]
mov eax, dword [edi + 0x120]
mov ecx, dword [esi + 0xc]
lea edx, [ecx + 1]
cmp eax, edx
jle 0x409c94
mov eax, dword [edi + 0x110]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
test ecx, ecx
je 0x40a1e9
test eax, eax
je case.0x4065dc.45
mov edx, ecx
jmp 0x4079a8
test edx, edx
je 0x40a1e9
mov eax, dword [eax + 0x10]
sub edx, 1
test eax, eax
jne 0x4079a0
jmp case.0x4065dc.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.0040afb0
cmp byte [edi + 0x104], 0x3c
je 0x40a3b0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a37b
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.0040afb0
cmp byte [edi + 0x104], 0x3e
je 0x40a36a
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a335
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.0x40ab6e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._friend_
mov esi, 0x433cb5
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040afb0
mov eax, dword [edi + 0x100]
jmp 0x407abb
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, 0x433cb5
je case.default.0x40ab6e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407a98
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.0x40ab6e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407a9a
mov eax, dword [edi + 0x100]
mov ebx, str.template
mov esi, 0x433cc7
jmp 0x407b57
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4091e5
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407b38
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4091e5
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407b3a
mov eax, dword [edi + 0x100]
mov ebx, str.typename
mov esi, 0x433cbe
jmp 0x407bef
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.0x40ab6e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407bd0
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, 0x433cbe
je case.default.0x40ab6e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407bd2
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a54f
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 0x407cbe
jmp 0x4096cc
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040afb0
mov esi, dword [esi + 0x10]
add dword [esp + 0x2c], 1
test esi, esi
je 0x4096cc
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x407ca0
mov eax, dword [edi + 0x100]
mov ebx, 0x433a35
jmp 0x407cf7
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, 0x433a37
je 0x407ca0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407cd8
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, 0x433a37
je 0x407ca0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407cda
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_init_function_for
mov esi, 0x433b6d
jmp 0x407d97
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 0x4092ec
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407d78
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, 0x433b6d
je 0x4092ec
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407d7a
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3c
jne case.0x4065dc.45
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3d
jne case.0x4065dc.45
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call fcn.0040cf70
test eax, eax
jne case.default.0x40ab6e
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040d380
test eax, eax
jne case.default.0x40ab6e
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], 0x433c04
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 0x40ad10
mov edx, 0x11
mov eax, edi
call fcn.0040cd70
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call fcn.0040c630
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040cd70
mov eax, edi
mov edx, 0x433c07
call fcn.00402b40
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ae63
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040cd70
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x10]
cmp dword [eax], 0x3a
jne case.0x4065dc.45
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
cmp byte [eax + 1], 0x63
je 0x40a815
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call fcn.0040cf70
test eax, eax
jne case.default.0x40ab6e
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040d380
test eax, eax
jne case.default.0x40ab6e
mov eax, dword [esi + 0xc]
cmp dword [eax], 0x33
je 0x40ac95
mov esi, dword [esp + 0x2c]
mov dword [esp + 4], 0x433bfe
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 0x407f7d
cmp dword [ecx], 3
je 0x40acea
mov edx, 0x11
mov eax, edi
call fcn.0040cd70
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
mov esi, dword [eax]
mov dword [esp + 4], 0x433c01
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x40ac29
mov dword [esp + 4], 0x433bfe
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x40ae05
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040cd70
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
cmp dword [eax], 0x33
jne case.default.0x40ab6e
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne case.default.0x40ab6e
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne case.default.0x40ab6e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aeea
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402a70
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov eax, dword [esi]
cmp eax, 0x33
je 0x409ec4
cmp eax, 0x35
je 0x40a0cf
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040c630
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af26
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040cd70
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x40ab6e
mov eax, dword [edi + 0x100]
add esi, ebx
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.0x40ab6e
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, esi
je case.default.0x40ab6e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4080a2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._requires
mov esi, 0x433cd9
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040afb0
mov eax, dword [edi + 0x100]
jmp 0x40816f
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 0x409723
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408150
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 0x409723
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408152
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, 0x433c3f
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040afb0
mov eax, dword [edi + 0x100]
jmp 0x40821b
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, 0x433c42
je case.default.0x40ab6e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4081f8
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, 0x433c42
je case.default.0x40ab6e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4081fa
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x433bfa
jmp 0x4082bf
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 0x4097d7
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4082a0
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 0x4097d7
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4082a2
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x433bfa
jmp 0x408357
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 0x409618
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408338
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 0x409618
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40833a
mov eax, dword [esp + 0x2c]
mov ebx, 0x433be8
mov esi, 0x433bf0
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 0x4083ff
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 0x409831
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4083e0
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 0x409831
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4083e2
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x409d30
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aed6
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x433c43
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402b40
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.0x40ab6e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x4084d7
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.0x40ab6e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4084b8
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.0x40ab6e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4084ba
mov eax, dword [edi + 0x100]
mov ebx, str.hidden_alias_for
mov esi, 0x433bb5
jmp 0x40856f
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 0x409672
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408550
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, 0x433bb5
je 0x409672
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408552
mov eax, dword [edi + 0x100]
mov ebx, str.java_resource
mov esi, 0x433c33
jmp 0x40860f
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 0x409585
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4085f0
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 0x409585
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4085f2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aecc
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.0040afb0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a3c1
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.0040afb0
mov esi, dword [esi + 0x10]
mov eax, dword [edi + 0x100]
mov dword [esp + 0x2c], esi
test esi, esi
je 0x408fa9
mov ebx, 0x433a35
mov esi, 0x433a37
jmp 0x408733
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 0x4086e0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408718
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 0x4086e0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40871a
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.0x4065dc.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 0x4065ef
ja 0x4065e3
lea esi, [edx - 0x1c]
cmp esi, 5
jbe 0x4065ef
mov dword [edi + 0x114], eax
mov esi, dword [esp + 0x20]
cmp edx, 2
je 0x40a680
cmp edx, 4
je 0x40a708
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040afb0
cmp dword [ebx], 4
jne 0x40884c
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 0x409beb
sub ebx, 0x10
cmp ebx, esi
jne 0x408855
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x114], eax
jmp case.default.0x40ab6e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x40ab6e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x4088b7
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.0x40ab6e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408898
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.0x40ab6e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40889a
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040afb0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a4c2
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 [0x44b0f8]
jne 0x40aee0
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.0040afb0
mov eax, dword [edi + 0x100]
mov ebx, str.global_constructors_keyed_to
mov esi, 0x433c6c
jmp 0x4089bb
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, 0x433c6c
je 0x409425
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408998
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 0x409425
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40899a
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 4]
mov ebx, dword [eax]
test esi, esi
je 0x408fd6
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x408a5f
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 0x408fd6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408a40
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 0x408fd6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408a42
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040afb0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a2cb
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.0040afb0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409e30
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x29
mov byte [edi + 0x104], 0x29
jmp case.default.0x40ab6e
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 0x408bc3
jmp 0x40acbf
mov edx, dword [eax + 8]
test edx, edx
jne 0x408bbd
cmp ebx, 3
ja case.0x4065dc.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 0x408bd0
mov edx, dword [eax + 4]
mov edx, dword [edx]
sub edx, 0x19
cmp edx, 2
jbe 0x408b88
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040afb0
mov eax, dword [esp + 0x28]
mov dword [edi + 0x114], eax
mov eax, dword [esp + 0x50]
test eax, eax
jne case.default.0x40ab6e
lea esi, [esp + 0x4c]
cmp ebx, 1
jbe 0x408c24
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.0040b060
cmp ebx, 1
jne 0x408c08
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call fcn.0040c330
jmp case.default.0x40ab6e
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x408cad
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.0040afb0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [edi + 0x114], eax
test ecx, ecx
jne case.default.0x40ab6e
mov edx, 0x20
mov eax, edi
call fcn.00402a70
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call fcn.0040bb20
jmp case.default.0x40ab6e
mov eax, dword [edi + 0x100]
mov ebx, str.decltype__
jmp 0x408d03
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, 0x433c3e
je 0x4095b2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408ce0
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, 0x433c3e
je 0x4095b2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408ce2
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xa8]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x4336dc
mov dword [esp + 4], 0x19
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.00413650
test eax, eax
js 0x408da7
add eax, 1
cmp eax, 0x19
ja 0x409ebf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
test eax, eax
je case.default.0x40ab6e
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x408de7
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.0x40ab6e
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x408dc8
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.0x40ab6e
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x408dca
mov eax, dword [edi + 0x100]
mov ebx, str.reference_temporary_
mov esi, 0x433b9d
jmp 0x408e7f
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 0x409452
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408e60
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, 0x433b9d
je 0x409452
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408e62
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_wrapper_function_for
mov esi, 0x433b87
jmp 0x408f1f
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 0x409558
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408f00
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, 0x433b87
je 0x409558
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408f02
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040afb0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409c56
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x5d
mov byte [edi + 0x104], 0x5d
jmp case.default.0x40ab6e
mov ebx, dword [esp + 0x2c]
jmp 0x407870
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0x8f]
movsx eax, word [eax + 0x10]
mov dword [esp + 8], 0x4336dc
mov dword [esp + 4], 0x19
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.00413650
test eax, eax
js 0x409011
add eax, 1
cmp eax, 0x19
ja 0x409ebf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
test eax, eax
je 0x40994c
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x40904f
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 0x40994c
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x409030
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 0x40994c
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x409032
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._in_
mov esi, 0x433abd
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040afb0
mov eax, dword [edi + 0x100]
jmp 0x4090ff
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 0x40918b
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4090e0
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 0x40918b
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4090e2
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af12
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af1c
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af03
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.0040afb0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._class
mov esi, 0x433cce
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040afb0
mov eax, dword [edi + 0x100]
jmp 0x40922f
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.0x40ab6e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409210
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.0x40ab6e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409212
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af17
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aeef
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af21
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.0040afb0
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xf3]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x4336dc
mov dword [esp + 4], 0x19
add eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00413650
test eax, eax
js 0x409356
add eax, 1
cmp eax, 0x19
ja 0x409ebf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x409400
lea esi, [ebx + eax]
jmp 0x409393
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 0x409400
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x409378
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 0x40a01f
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x40937a
cmp edx, 0xff
je 0x409e65
lea eax, [edx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + edx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40ab6e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aea4
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.0040afb0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._for
mov esi, 0x433ba3
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040afb0
mov eax, dword [edi + 0x100]
jmp 0x40949b
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 0x4094fe
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409480
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, 0x433ba3
je 0x4094fe
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409482
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af57
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af84
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aed1
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aee5
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.0040afb0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
jmp 0x408b01
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aeb3
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ae81
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.0040afb0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x148]
test eax, eax
je 0x409649
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.0040afb0
mov ecx, dword [edi + 0x148]
test ecx, ecx
je case.default.0x40ab6e
mov eax, dword [esp + 0x38]
mov dword [edi + 0x110], eax
jmp case.default.0x40ab6e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af66
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ae6d
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.0040afb0
mov eax, dword [edi + 0x100]
lea edx, [eax + 1]
cmp eax, 0xff
je 0x40a300
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x3e
mov byte [edi + 0x104], 0x3e
jmp case.default.0x40ab6e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ae90
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af70
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ae77
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af5c
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ae86
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af6b
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ae8b
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.0040afb0
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + 4]
movzx eax, byte [ebx]
sub eax, 0x61
cmp al, 0x19
jbe 0x40a029
mov esi, dword [esp + 0x28]
lea eax, [esi - 1]
cmp byte [ebx + esi - 1], 0x20
cmove esi, eax
test esi, esi
je case.default.0x40ab6e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x40988f
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.0x40ab6e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409870
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.0x40ab6e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409872
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af75
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.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af2b
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.0040afb0
mov eax, dword [esp + 0x2c]
movzx ebx, byte [eax + 0x12]
test bl, bl
je case.default.0x40ab6e
jmp 0x407691
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040b060
jmp 0x406693
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 0x406677
jmp 0x40671e
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 0x4099f9
cmp dword [esi], 0x59
je 0x40a907
mov dword [edi + 0x120], edx
cmp eax, 0xff
je 0x40a584
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov ecx, esi
mov edx, 0x11
mov ebx, 0x433c92
mov byte [edi + eax], 0x28
mov eax, edi
mov esi, 0x433c94
mov byte [edi + 0x104], 0x28
call fcn.0040afb0
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 0x409a73
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x409ad6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409a58
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, 0x433c94
je 0x409ad6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409a5a
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xda]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], 0x4336dc
mov dword [esp + 4], 0x19
add eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00413650
test eax, eax
js 0x409b13
add eax, 1
cmp eax, 0x19
ja 0x409ebf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x409400
lea esi, [ebx + eax]
jmp 0x409b4f
mov ecx, edx
lea edx, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], edx
mov byte [edi + ecx], al
mov byte [edi + 0x104], al
cmp ebx, esi
je 0x409400
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x409b30
mov edx, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 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 0x40a01f
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x409b32
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 0x4076a5
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a8d2
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.0040b060
jmp 0x408860
mov eax, edi
mov edx, 0x11
call fcn.0040cd70
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ae95
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x433c3f
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402b40
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 0x408fb7
mov eax, dword [esp + 0x28]
jmp 0x406784
test eax, eax
je 0x40a168
mov eax, dword [edi + 0x100]
mov ebx, str.auto:
mov esi, 0x433a52
jmp 0x409ccd
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 0x40a1be
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409cae
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 0x40a1be
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409cb0
mov edx, str.parm
mov eax, edi
call fcn.00402b40
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0xc1]
mov dword [esp + 8], 0x4336dc
mov dword [esp + 4], 0x19
mov dword [esp], ebx
call fcn.00413650
test eax, eax
js 0x409d6f
add eax, 1
cmp eax, 0x19
ja 0x409ebf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, dword [edi + 0x100]
mov esi, eax
test eax, eax
je 0x409e9a
add esi, ebx
jmp 0x409daf
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 0x409e9a
movzx eax, byte [ebx]
cmp ecx, 0xff
jne 0x409d90
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 0x40aaaa
movzx eax, byte [ebx]
mov edx, 1
jmp 0x409d92
xor ebx, ebx
jmp 0x40696c
cmp esi, 0x56
jne 0x406a5f
mov ebx, 0x3a
jmp 0x406a3c
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 0x408b21
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 0x40940f
cmp ecx, 0xff
je 0x40a9f3
lea eax, [ecx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + ecx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40ab6e
call fcn.00413590
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 0x409ee4
movzx edx, byte [ecx + 1]
sub edx, 0x64
jne 0x409ee4
movzx edx, byte [ecx + 2]
mov ecx, dword [ebx]
test edx, edx
jne 0x409ef3
cmp ecx, 3
je 0x40aafc
cmp ecx, 0x3a
je 0x40abf2
cmp eax, 0x73
jne 0x409f70
mov edx, dword [esp + 0x2c]
cmp byte [edx + 1], 0x5a
jne 0x40aa23
movzx ecx, byte [edx + 2]
test ecx, ecx
jne 0x40aa23
mov edx, ebx
mov eax, edi
call fcn.00402bf0
test eax, eax
jne 0x409f41
jmp 0x409f46
mov edx, dword [eax + 0xc]
test edx, edx
je 0x409f46
mov eax, dword [eax + 0x10]
add ecx, 1
test eax, eax
je 0x409f46
cmp dword [eax], 0x30
je 0x409f30
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aea9
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402d50
mov ecx, esi
mov eax, edi
mov edx, 0x11
call fcn.0040c630
mov esi, dword [esp + 0x2c]
movzx eax, byte [esi]
cmp eax, 0x67
jne 0x409fbe
cmp byte [esi + 1], 0x73
jne 0x409fbe
cmp byte [esi + 2], 0
jne 0x409fbe
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aeae
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040afb0
cmp eax, 0x73
jne 0x40a09c
mov esi, dword [esp + 0x2c]
cmp byte [esi + 1], 0x74
jne 0x40a09c
cmp byte [esi + 2], 0
jne 0x40a09c
mov edx, 0x28
mov eax, edi
call fcn.00402a70
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call fcn.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aebd
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402a70
mov edx, 1
jmp 0x40940c
mov edx, 0x20
mov eax, edi
mov dword [esp + 0x2c], ecx
call fcn.00402a70
mov ecx, dword [esp + 0x2c]
mov ebx, dword [ecx + 4]
jmp 0x409846
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 0x406677
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040b060
jmp 0x4068cb
cmp eax, 0x6e
jne 0x40805c
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x78
jne 0x40805c
cmp byte [eax + 2], 0
je 0x409fdf
jmp 0x40805c
mov edx, ecx
jmp 0x4087d7
mov eax, edi
mov edx, 0x28
call fcn.00402a70
mov ecx, dword [esi + 0xc]
mov eax, edi
mov edx, 0x11
call fcn.0040afb0
mov edx, 0x29
mov eax, edi
call fcn.00402a70
jmp 0x40805c
cmp ebx, 7
jne 0x40696c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
jne 0x40696c
cmp dword [eax + 0x10], 1
jne 0x40696c
cmp esi, 0x3e
jne 0x40696c
mov eax, dword [eax + 0xc]
movzx eax, byte [eax]
cmp al, 0x30
je 0x40af35
cmp al, 0x31
jne 0x40696c
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af30
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, str.true
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402b40
mov edx, dword [esp + 0x2c]
mov eax, edi
call fcn.00402ae0
test eax, eax
je case.0x4065dc.45
cmp dword [eax], 0x30
jne 0x40a197
mov edx, dword [edi + 0x124]
test edx, edx
js 0x40a197
call fcn.00402920
test eax, eax
je case.0x4065dc.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.0040afb0
mov dword [edi + 0x110], ebx
jmp case.default.0x40ab6e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aef9
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.00402d50
test eax, eax
je case.0x4065dc.45
mov edx, dword [eax]
cmp edx, 0x5d
jne 0x40a205
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x4065dc.45
mov edx, dword [eax]
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af89
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402e50
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ae68
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.0040afb0
test edx, edx
jne 0x40785e
jmp case.default.0x40ab6e
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 0x40681f
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 0x406677
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 0x408ae9
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 0x4096e0
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 0x407a4c
mov edx, 0x20
mov eax, edi
call fcn.00402a70
jmp 0x407a38
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 0x407a07
mov edx, 0x20
mov eax, edi
call fcn.00402a70
jmp 0x4079f3
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 0x4086c6
mov edx, str.default_arg
mov eax, edi
call fcn.00402b40
mov eax, dword [ebx + 0x10]
lea edx, [eax + 1]
mov eax, edi
call fcn.00402d50
mov edx, 0x433a49
mov eax, edi
call fcn.00402b40
mov ebx, dword [ebx + 0xc]
jmp 0x40690b
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 0x40751d
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 0x406b1a
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 0x406ae7
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 0x408941
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 0x40a53b
cmp dword [esi], 0x59
je 0x40a907
mov dword [edi + 0x120], 1
mov eax, 1
jmp 0x409a0a
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 0x407c6d
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 0x409a0d
mov edx, 0x5b
mov eax, edi
call fcn.00402a70
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aef4
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x5d
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402a70
mov edx, 0x2d
mov eax, edi
call fcn.00402a70
jmp 0x4069cf
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 0x4069b1
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 0x406980
mov ebx, dword [ebx + 0x10]
cmp dword [ebx], 0x49
je 0x40aaec
mov eax, dword [esp + 0x28]
shl eax, 4
lea ecx, [esi + eax]
mov eax, dword [ebx]
cmp eax, 0x4f
je 0x40a6b6
ja 0x40a6ae
lea edx, [eax - 0x1c]
cmp edx, 5
jbe 0x40a6b6
mov edx, eax
jmp 0x408821
lea edx, [eax - 0x52]
cmp edx, 1
ja 0x40a6a7
cmp dword [esp + 0x28], 4
je case.0x4065dc.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 0x40a696
jmp case.0x4065dc.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 0x40882a
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 0x40882a
mov edx, dword [edi + 0x134]
test edx, edx
jle 0x40ad8d
mov ebx, dword [edi + 0x130]
mov ecx, dword [esp + 0x28]
xor eax, eax
jmp 0x40a77e
add eax, 1
add ebx, 8
cmp edx, eax
je 0x40ad8d
cmp ecx, dword [ebx]
jne 0x40a770
mov ecx, dword [edi + 0x12c]
mov eax, ecx
test ecx, ecx
je 0x40aabc
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x28]
jmp 0x40a7bb
cmp ecx, eax
je 0x40a7b0
cmp edx, esi
je 0x40a7c1
mov eax, dword [eax + 4]
test eax, eax
je 0x40aab4
mov edx, dword [eax]
cmp edx, ebx
jne 0x40a7a8
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, edi
xor ebx, ebx
call fcn.00402ae0
test eax, eax
je case.0x4065dc.45
cmp dword [eax], 0x30
jne 0x406784
mov edx, dword [edi + 0x124]
test edx, edx
js 0x40ae18
call fcn.00402920
test eax, eax
jne 0x406784
test ebx, ebx
je case.0x4065dc.45
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.0x4065dc.45
movzx eax, byte [eax]
lea edx, [eax - 0x72]
cmp dl, 1
jbe 0x40a82b
sub eax, 0x63
cmp al, 1
ja 0x407f12
mov edx, 0x11
mov eax, edi
call fcn.0040c630
mov edx, 0x3c
mov eax, edi
call fcn.00402a70
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040afb0
mov edx, 0x433bfb
mov eax, edi
call fcn.00402b40
mov eax, dword [esi + 0x10]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040afb0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ae9a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402a70
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 0x406a50
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 0x409bff
mov dword [esp + 0x3c], esi
mov edx, 0x3c
mov eax, edi
call fcn.00402a70
mov ebx, dword [esi + 0xc]
test ebx, ebx
jne 0x40a97a
jmp 0x40a9d0
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call fcn.0040afb0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a99b
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 0x40a963
mov ebx, dword [ebx + 0xc]
mov edx, dword [ebx]
mov eax, dword [edi + 0x120]
lea ecx, [eax - 1]
mov eax, edi
call fcn.00402e50
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x40a9d0
mov eax, dword [edi + 0x120]
lea edx, [eax + 1]
mov dword [edi + 0x120], edx
test eax, eax
je 0x40a928
mov edx, 0x433a35
mov eax, edi
call fcn.00402b40
jmp 0x40a928
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 0x40a946
mov edx, 0x3e
mov eax, edi
call fcn.00402a70
mov eax, dword [edi + 0x120]
mov esi, dword [esi + 0x10]
lea edx, [eax + 1]
mov eax, dword [edi + 0x100]
jmp 0x4099f9
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 0x409ea6
cmp eax, 0x73
jne 0x409f70
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x50
jne 0x409f70
xor ecx, ecx
cmp byte [eax + 2], 0
je 0x40aa5e
jmp 0x409f70
add ecx, 1
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x40ab1b
cmp dword [ebx], 0x30
jne 0x40ab1b
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40ab1b
cmp dword [eax], 0x4d
jne 0x40aa50
mov edx, dword [eax + 0xc]
mov eax, edi
call fcn.00402bf0
xor edx, edx
test eax, eax
jne 0x40aaa1
jmp 0x40aaa6
mov esi, dword [eax + 0xc]
test esi, esi
je 0x40aaa6
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
je 0x40aaa6
cmp dword [eax], 0x30
je 0x40aa90
add ecx, edx
jmp 0x40aa53
mov ecx, 1
jmp 0x409ea6
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.00402ae0
test eax, eax
je 0x40a806
mov ebx, 1
jmp 0x40a7da
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x40a68c
jmp case.0x4065dc.45
mov edx, dword [ebx + 0xc]
cmp dword [edx], 1
jne 0x409efc
mov ecx, dword [ebx + 0x10]
cmp dword [ecx], 0x2a
jne 0x409efc
mov ebx, edx
jmp 0x409efc
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af98
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402d50
cmp esi, 0x3f
je 0x40ae3e
mov ecx, eax
mov edx, 0x11
mov eax, edi
sub ebx, 2
call fcn.0040afb0
cmp ebx, 4
ja case.default.0x40ab6e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jmp dword [ebx*4 + 0x433e5c]
jne 0x40af7a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x433c13
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402b40
jne 0x40af7f
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x433c10
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402b40
jne 0x40af8e
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x6c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402a70
jne 0x40af93
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x75
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402a70
jne 0x40aec7
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x433c16
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402b40
mov ecx, dword [ebx + 0xc]
mov eax, edi
mov edx, 0x11
call fcn.0040cd70
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40ae9f
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040c630
mov eax, edi
mov edx, 0x5b
call fcn.00402a70
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040afb0
mov edx, 0x5d
mov eax, edi
call fcn.00402a70
jmp 0x407fdb
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 0x406677
call fcn.004135f0
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne 0x407f4e
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne 0x407f4e
mov edx, 0x28
mov eax, edi
call fcn.00402a70
jmp 0x407f4e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040afb0
xor eax, eax
cmp dword [esp + 0x50], 0
mov dword [edi + 0x114], eax
je 0x408c24
jmp case.default.0x40ab6e
mov eax, dword [ecx + 0x10]
cmp dword [eax], 0x2a
je 0x40acfc
mov dword [edi + 0x118], 1
mov ecx, dword [ecx + 0xc]
mov edx, 0x11
mov eax, edi
call fcn.0040cd70
jmp 0x407f89
mov edx, str.new
mov eax, edi
mov dword [esp + 0x28], ecx
call fcn.00402b40
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0xc], 0
je 0x40ad42
mov edx, 0x11
mov eax, edi
call fcn.0040cd70
mov edx, 0x20
mov eax, edi
call fcn.00402a70
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040afb0
test esi, esi
je case.default.0x40ab6e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40aedb
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040cd70
mov dword [edi + 0x114], eax
jmp case.0x4065dc.45
cmp edx, dword [edi + 0x138]
jge case.0x4065dc.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 0x40ae5a
mov edx, dword [edi + 0x144]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edx
mov edx, dword [edi + 0x140]
jmp 0x40adfa
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 0x40ae56
cmp dword [esp + 0x24], edx
jg 0x40add8
jmp case.0x4065dc.45
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call fcn.0040c630
jmp 0x407fc5
movd xmm0, dword [edi + 0x114]
mov ecx, dword [edi + 0x110]
cmp esi, 0x30
je 0x40af9d
movd xmm6, dword [esp + 0x2c]
punpckldq xmm0, xmm6
jmp 0x4067c0
mov eax, edi
mov edx, 0x2d
call fcn.00402a70
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
jmp 0x40ab47
mov esi, dword [esp + 0x1c]
xor eax, eax
mov dword [ebx], eax
jmp 0x40a7c5
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44b0f8]
jne 0x40af61
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, str.false
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402b40
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
call fcn.004135f0
movd xmm7, eax
mov dword [esp + 0x2c], eax
punpckldq xmm0, xmm7
jmp 0x40a2a3