Function at 0x405ca0
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 [0x44a0e8]
mov dword [esp + 0x10c], eax
xor eax, eax
mov dword [esp + 0x2c], ecx
test ecx, ecx
je case.0x405cdc.45
mov ebx, dword [edi + 0x118]
test ebx, ebx
jne case.default.0x40a26e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
cmp esi, 0x5f
ja case.0x405cdc.45
jmp dword [esi*4 + 0x433cbc]
lea esi, [edx - 0x52]
cmp esi, 1
ja 0x407f0e
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x40a482
add eax, 0x10
cmp dword [esp + 0x28], 4
jne 0x4097c8
mov dword [edi + 0x114], ecx
nop
mov dword [edi + 0x118], 1
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a390
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.0040a6b0
mov esi, dword [esp + 0x40]
test esi, esi
je 0x409061
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
test ebx, ebx
je case.default.0x40a26e
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.default.0x40a26e
mov ecx, dword [edi + 0x114]
mov eax, ecx
test ecx, ecx
je 0x40a35c
mov dword [esp + 0x28], ebx
lea esi, [esi]
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x405dec
mov edx, dword [eax + 4]
mov edx, dword [edx]
lea ebx, [edx - 0x19]
cmp ebx, 2
ja 0x405df2
cmp esi, edx
je 0x409926
mov eax, dword [eax]
test eax, eax
jne 0x405dd0
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 0x405d77
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a572
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.0040a6b0
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi + 0x120]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0x40938b
xor ebx, ebx
cmp dword [eax], 5
je 0x409e4a
mov edx, dword [eax]
cmp edx, 0x24
je 0x409745
mov ecx, dword [edi + 0x114]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0x110]
cmp esi, edx
je 0x409991
cmp edx, 0x25
je 0x409076
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 0x405d77
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x405eff
mov edx, 0x11
mov eax, edi
call fcn.0040a6b0
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je case.default.0x40a26e
mov eax, dword [edi + 0x100]
cmp eax, 0xfd
ja 0x409960
mov edx, 0x433a15
mov eax, edi
call fcn.00402240
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.0040a6b0
cmp dword [edi + 0x128], ebx
jne case.default.0x40a26e
mov eax, dword [edi + 0x100]
cmp eax, esi
jne case.default.0x40a26e
sub eax, 2
mov dword [edi + 0x100], eax
jmp case.default.0x40a26e
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.0040a6b0
mov esi, dword [esp + 0x40]
test esi, esi
je 0x409787
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
jmp case.default.0x40a26e
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, dword [esi + 0xc]
call fcn.0040a6b0
mov edx, 0x433a18
mov eax, edi
call fcn.00402240
mov ebx, dword [esi + 0x10]
cmp dword [ebx], 0x49
je 0x409af6
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a608
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040a6b0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
cmp dword [ecx], 0x28
jne 0x409516
mov eax, dword [ecx + 0xc]
mov ebx, dword [eax + 0x10]
cmp ebx, 6
ja 0x4097fb
test ebx, ebx
je 0x40606c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
je 0x40a23e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409d44
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.0040a6b0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409d0f
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 0x409cfe
cmp ebx, 8
je 0x409cb9
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5b8
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.0040a6b0
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x40951d
mov edx, 0x11
mov eax, edi
call fcn.0040a6b0
cmp dword [ebx], 0x56
je 0x409526
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40615f
mov ebx, 0x2e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409f9d
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 [0x44a0e8]
jne 0x40a57c
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5c2
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.0040bd30
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
test ecx, ecx
je 0x4061d3
mov edx, 0x11
mov eax, edi
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409b8d
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.0040a6b0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409b58
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40a26e
mov eax, dword [edi + 0x100]
mov ebx, str.global_destructors_keyed_to
mov esi, 0x433c69
jmp 0x406267
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408cbe
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406248
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x433c69
je 0x408cbe
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40624a
mov eax, dword [edi + 0x100]
mov ebx, str.template_parameter_object_for
mov esi, 0x433a52
jmp 0x40630b
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, 0x433a52
je 0x408ceb
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4062e8
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 0x408ceb
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4062ea
mov eax, dword [edi + 0x100]
mov ebx, str.guard_variable_for
mov esi, 0x433b36
jmp 0x4063a7
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 0x408c2b
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406388
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, 0x433b36
je 0x408c2b
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40638a
mov eax, dword [edi + 0x100]
mov ebx, str.non_virtual_thunk_to
mov esi, 0x433ae5
jmp 0x406447
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 0x408d9f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406428
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, 0x433ae5
je 0x408d9f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40642a
mov eax, dword [edi + 0x100]
mov ebx, str.covariant_return_thunk_to
mov esi, 0x433b12
jmp 0x4064e7
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 0x408df6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4064c8
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, 0x433b12
je 0x408df6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4064ca
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_name_for
jmp 0x406583
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, 0x433abe
je 0x408e50
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406560
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, 0x433abe
je 0x408e50
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406562
mov eax, dword [edi + 0x100]
mov ebx, str.java_Class_for
mov esi, 0x433b22
jmp 0x40661f
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 0x408eaa
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406600
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, 0x433b22
je 0x408eaa
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406602
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_fn_for
mov esi, 0x433acf
jmp 0x4066bf
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 0x408f04
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4066a0
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 0x408f04
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4066a2
mov eax, dword [edi + 0x100]
mov ebx, str.virtual_thunk_to
mov esi, 0x433af7
jmp 0x406757
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 0x408ff2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406738
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, 0x433af7
je 0x408ff2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40673a
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_for
mov esi, 0x433aab
jmp 0x4067fb
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, 0x433aab
je 0x40901f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4067d8
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 0x40901f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4067da
mov eax, dword [edi + 0x100]
mov ebx, str.construction_vtable_for
mov esi, 0x433a98
jmp 0x40689b
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, 0x433a98
je 0x4087b6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406878
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 0x4087b6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40687a
mov eax, dword [edi + 0x100]
mov ebx, str.non_transaction_clone_for
mov esi, 0x433bc7
jmp 0x406937
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 0x408992
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406918
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 0x408992
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40691a
mov eax, dword [edi + 0x100]
mov ebx, str.vtable_for
mov esi, 0x433a76
jmp 0x4069cf
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 0x4088b8
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4069b0
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 0x4088b8
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4069b2
mov eax, dword [edi + 0x100]
mov ebx, str.unnamed_type
mov esi, 0x433c83
jmp 0x406a6b
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, 0x433c83
je 0x408a19
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406a48
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 0x408a19
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406a4a
mov eax, dword [edi + 0x100]
mov ebx, str.VTT_for
mov esi, 0x433a7f
jmp 0x406b07
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 0x40885e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406ae8
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 0x40885e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406aea
mov eax, dword [edi + 0x100]
mov ebx, str.transaction_clone_for
mov esi, 0x433bac
jmp 0x406ba3
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, 0x433bac
je 0x4089bf
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406b80
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x4089bf
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406b82
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409b23
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 [0x44a0e8]
jne 0x40a60d
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.0040a6b0
mov eax, dword [edi + 0x100]
mov ebx, str.lambda
mov esi, 0x433c71
jmp 0x406c8f
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 0x4090b0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406c70
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 0x409bf7
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406c72
mov eax, dword [edi + 0x100]
mov ebx, str.initializer_for_module
mov esi, 0x433a6a
jmp 0x406d27
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 0x408e7d
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406d08
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 0x408e7d
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406d0a
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x4092b6
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], bl
mov byte [edi + 0x104], bl
jmp case.default.0x40a26e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str.__clone
mov esi, 0x433c8c
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
jmp 0x406dff
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 0x408690
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406de0
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 0x408690
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406de2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._abi:
mov esi, 0x433a14
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
jmp 0x406eaf
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 0x408690
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x406e90
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 0x408690
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x406e92
mov eax, dword [esp + 0x2c]
mov ebx, dword [edi + 0x120]
mov ecx, dword [eax + 0xc]
test ebx, ebx
jne 0x409324
mov edx, ecx
mov eax, edi
call fcn.004022f0
xor edx, edx
test eax, eax
je 0x409324
lea esi, [esi]
cmp dword [eax], 0x30
jne 0x409953
mov esi, dword [eax + 0xc]
test esi, esi
je 0x409953
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
jne 0x406f40
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.0040a6b0
mov eax, dword [esp + 0x28]
cmp ebx, eax
je case.default.0x40a26e
mov dword [esp + 0x2c], ebx
mov eax, dword [edi + 0x100]
mov esi, 0x433a15
jmp 0x406fd4
mov ecx, eax
lea eax, [ecx + 1]
add esi, 1
mov edx, 0x433a17
mov dword [edi + 0x100], eax
mov byte [edi + ecx], bl
mov byte [edi + 0x104], bl
cmp edx, esi
je 0x4086cd
movzx ebx, byte [esi]
cmp eax, 0xff
jne 0x406fb0
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, 0x433a17
je 0x4086cd
movzx ebx, byte [esi]
mov ecx, 1
jmp 0x406fb2
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5fe
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.0040a6b0
mov esi, dword [esp + 0x2c]
mov eax, dword [edi + 0x120]
mov ecx, dword [esi + 0xc]
lea edx, [ecx + 1]
cmp eax, edx
jle 0x409394
mov eax, dword [edi + 0x110]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
test ecx, ecx
je 0x4098e9
test eax, eax
je case.0x405cdc.45
mov edx, ecx
jmp 0x4070a8
test edx, edx
je 0x4098e9
mov eax, dword [eax + 0x10]
sub edx, 1
test eax, eax
jne 0x4070a0
jmp case.0x405cdc.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.0040a6b0
cmp byte [edi + 0x104], 0x3c
je 0x409ab0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409a7b
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.0040a6b0
cmp byte [edi + 0x104], 0x3e
je 0x409a6a
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409a35
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.0x40a26e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._friend_
mov esi, 0x433c95
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
jmp 0x4071bb
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, 0x433c95
je case.default.0x40a26e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407198
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.0x40a26e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40719a
mov eax, dword [edi + 0x100]
mov ebx, str.template
mov esi, 0x433ca7
jmp 0x407257
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 0x4088e5
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407238
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 0x4088e5
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40723a
mov eax, dword [edi + 0x100]
mov ebx, str.typename
mov esi, 0x433c9e
jmp 0x4072ef
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.0x40a26e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4072d0
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, 0x433c9e
je case.default.0x40a26e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4072d2
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409c4f
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 0x4073be
jmp 0x408dcc
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040a6b0
mov esi, dword [esi + 0x10]
add dword [esp + 0x2c], 1
test esi, esi
je 0x408dcc
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x4073a0
mov eax, dword [edi + 0x100]
mov ebx, 0x433a15
jmp 0x4073f7
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, 0x433a17
je 0x4073a0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4073d8
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, 0x433a17
je 0x4073a0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4073da
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_init_function_for
mov esi, 0x433b4d
jmp 0x407497
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 0x4089ec
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407478
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, 0x433b4d
je 0x4089ec
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40747a
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3c
jne case.0x405cdc.45
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3d
jne case.0x405cdc.45
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call fcn.0040c670
test eax, eax
jne case.default.0x40a26e
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040ca80
test eax, eax
jne case.default.0x40a26e
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], 0x433be4
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 0x40a410
mov edx, 0x11
mov eax, edi
call fcn.0040c470
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call fcn.0040bd30
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040c470
mov eax, edi
mov edx, 0x433be7
call fcn.00402240
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a563
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040c470
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x10]
cmp dword [eax], 0x3a
jne case.0x405cdc.45
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
cmp byte [eax + 1], 0x63
je 0x409f15
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call fcn.0040c670
test eax, eax
jne case.default.0x40a26e
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040ca80
test eax, eax
jne case.default.0x40a26e
mov eax, dword [esi + 0xc]
cmp dword [eax], 0x33
je 0x40a395
mov esi, dword [esp + 0x2c]
mov dword [esp + 4], 0x433bde
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 0x40767d
cmp dword [ecx], 3
je 0x40a3ea
mov edx, 0x11
mov eax, edi
call fcn.0040c470
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
mov esi, dword [eax]
mov dword [esp + 4], 0x433be1
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x40a329
mov dword [esp + 4], 0x433bde
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x40a505
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040c470
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
cmp dword [eax], 0x33
jne case.default.0x40a26e
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne case.default.0x40a26e
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne case.default.0x40a26e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5ea
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402170
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov eax, dword [esi]
cmp eax, 0x33
je 0x4095c4
cmp eax, 0x35
je 0x4097cf
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040bd30
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a626
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040c470
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x40a26e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x4077bf
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.0x40a26e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4077a0
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.0x40a26e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4077a2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._requires
mov esi, 0x433cb9
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
jmp 0x40786f
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 0x408e23
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407850
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 0x408e23
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407852
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, 0x433c1f
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
jmp 0x40791b
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, 0x433c22
je case.default.0x40a26e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4078f8
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, 0x433c22
je case.default.0x40a26e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4078fa
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x433bda
jmp 0x4079bf
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 0x408ed7
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4079a0
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 0x408ed7
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4079a2
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x433bda
jmp 0x407a57
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 0x408d18
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407a38
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 0x408d18
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407a3a
mov eax, dword [esp + 0x2c]
mov ebx, 0x433bc8
mov esi, 0x433bd0
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 0x407aff
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 0x408f31
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407ae0
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 0x408f31
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407ae2
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x409430
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5d6
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x433c23
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402240
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.0x40a26e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x407bd7
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.0x40a26e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407bb8
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.0x40a26e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407bba
mov eax, dword [edi + 0x100]
mov ebx, str.hidden_alias_for
mov esi, 0x433b95
jmp 0x407c6f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408d72
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407c50
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, 0x433b95
je 0x408d72
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407c52
mov eax, dword [edi + 0x100]
mov ebx, str.java_resource
mov esi, 0x433c13
jmp 0x407d0f
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 0x408c85
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407cf0
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 0x408c85
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407cf2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5cc
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.0040a6b0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409ac1
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.0040a6b0
mov esi, dword [esi + 0x10]
mov eax, dword [edi + 0x100]
mov dword [esp + 0x2c], esi
test esi, esi
je 0x4086a9
mov ebx, 0x433a15
mov esi, 0x433a17
jmp 0x407e33
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 0x407de0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407e18
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x407de0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407e1a
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.0x405cdc.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 0x405cef
ja 0x405ce3
lea esi, [edx - 0x1c]
cmp esi, 5
jbe 0x405cef
mov dword [edi + 0x114], eax
mov esi, dword [esp + 0x20]
cmp edx, 2
je 0x409d80
cmp edx, 4
je 0x409e08
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a6b0
cmp dword [ebx], 4
jne 0x407f4c
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 0x4092eb
sub ebx, 0x10
cmp ebx, esi
jne 0x407f55
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x114], eax
jmp case.default.0x40a26e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x40a26e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x407fb7
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.0x40a26e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407f98
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.0x40a26e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407f9a
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409bc2
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 [0x44a0e8]
jne 0x40a5e0
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.0040a6b0
mov eax, dword [edi + 0x100]
mov ebx, str.global_constructors_keyed_to
mov esi, 0x433c4c
jmp 0x4080bb
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, 0x433c4c
je 0x408b25
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408098
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 0x408b25
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40809a
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 4]
mov ebx, dword [eax]
test esi, esi
je 0x4086d6
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x40815f
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 0x4086d6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408140
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 0x4086d6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408142
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x4099cb
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.0040a6b0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409530
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x29
mov byte [edi + 0x104], 0x29
jmp case.default.0x40a26e
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 0x4082c3
jmp 0x40a3bf
mov edx, dword [eax + 8]
test edx, edx
jne 0x4082bd
cmp ebx, 3
ja case.0x405cdc.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 0x4082d0
mov edx, dword [eax + 4]
mov edx, dword [edx]
sub edx, 0x19
cmp edx, 2
jbe 0x408288
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [esp + 0x28]
mov dword [edi + 0x114], eax
mov eax, dword [esp + 0x50]
test eax, eax
jne case.default.0x40a26e
lea esi, [esp + 0x4c]
cmp ebx, 1
jbe 0x408324
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.0040a760
cmp ebx, 1
jne 0x408308
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call fcn.0040ba30
jmp case.default.0x40a26e
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4083ad
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.0040a6b0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [edi + 0x114], eax
test ecx, ecx
jne case.default.0x40a26e
mov edx, 0x20
mov eax, edi
call fcn.00402170
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call fcn.0040b220
jmp case.default.0x40a26e
mov eax, dword [edi + 0x100]
mov ebx, str.decltype__
jmp 0x408403
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, 0x433c1e
je 0x408cb2
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 + 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, 0x433c1e
je 0x408cb2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4083e2
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xa8]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x4336bc
mov dword [esp + 4], 0x19
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.00412d50
test eax, eax
js 0x4084a7
add eax, 1
cmp eax, 0x19
ja 0x4095bf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
test eax, eax
je case.default.0x40a26e
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x4084e7
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.0x40a26e
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x4084c8
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.0x40a26e
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x4084ca
mov eax, dword [edi + 0x100]
mov ebx, str.reference_temporary_
mov esi, 0x433b7d
jmp 0x40857f
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp esi, ebx
je 0x408b52
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408560
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x433b7d
je 0x408b52
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408562
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_wrapper_function_for
mov esi, 0x433b67
jmp 0x40861f
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 0x408c58
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408600
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, 0x433b67
je 0x408c58
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408602
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409356
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x5d
mov byte [edi + 0x104], 0x5d
jmp case.default.0x40a26e
mov ebx, dword [esp + 0x2c]
jmp 0x406f70
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0x8f]
movsx eax, word [eax + 0x10]
mov dword [esp + 8], 0x4336bc
mov dword [esp + 4], 0x19
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.00412d50
test eax, eax
js 0x408711
add eax, 1
cmp eax, 0x19
ja 0x4095bf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
test eax, eax
je 0x40904c
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x40874f
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 0x40904c
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x408730
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 0x40904c
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x408732
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._in_
mov esi, 0x433a9d
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
jmp 0x4087ff
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 0x40888b
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4087e0
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 0x40888b
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4087e2
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a612
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a61c
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a603
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.0040a6b0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._class
mov esi, 0x433cae
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
jmp 0x40892f
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.0x40a26e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408910
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.0x40a26e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408912
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a617
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5ef
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a621
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.0040a6b0
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xf3]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x4336bc
mov dword [esp + 4], 0x19
add eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00412d50
test eax, eax
js 0x408a56
add eax, 1
cmp eax, 0x19
ja 0x4095bf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x408b00
lea esi, [ebx + eax]
jmp 0x408a93
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 0x408b00
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x408a78
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 0x40971f
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x408a7a
cmp edx, 0xff
je 0x409565
lea eax, [edx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + edx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40a26e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5a4
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.0040a6b0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._for
mov esi, 0x433b83
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
jmp 0x408b9b
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 0x408bfe
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408b80
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, 0x433b83
je 0x408bfe
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408b82
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a657
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a684
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5d1
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5e5
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.0040a6b0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
jmp 0x408201
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5b3
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a581
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.0040a6b0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x148]
test eax, eax
je 0x408d49
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.0040a6b0
mov ecx, dword [edi + 0x148]
test ecx, ecx
je case.default.0x40a26e
mov eax, dword [esp + 0x38]
mov dword [edi + 0x110], eax
jmp case.default.0x40a26e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a666
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a56d
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.0040a6b0
mov eax, dword [edi + 0x100]
lea edx, [eax + 1]
cmp eax, 0xff
je 0x409a00
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x3e
mov byte [edi + 0x104], 0x3e
jmp case.default.0x40a26e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a590
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a670
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a577
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a65c
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a586
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a66b
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a58b
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.0040a6b0
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + 4]
movzx eax, byte [ebx]
sub eax, 0x61
cmp al, 0x19
jbe 0x409729
mov esi, dword [esp + 0x28]
lea eax, [esi - 1]
cmp byte [ebx + esi - 1], 0x20
cmove esi, eax
test esi, esi
je case.default.0x40a26e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x408f8f
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.0x40a26e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408f70
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.0x40a26e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408f72
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a675
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.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a62b
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.0040a6b0
mov eax, dword [esp + 0x2c]
movzx ebx, byte [eax + 0x12]
test bl, bl
je case.default.0x40a26e
jmp 0x406d91
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040a760
jmp 0x405d93
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 0x405d77
jmp 0x405e1e
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 0x4090f9
cmp dword [esi], 0x59
je 0x40a007
mov dword [edi + 0x120], edx
cmp eax, 0xff
je 0x409c84
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov ecx, esi
mov edx, 0x11
mov ebx, 0x433c72
mov byte [edi + eax], 0x28
mov eax, edi
mov esi, 0x433c74
mov byte [edi + 0x104], 0x28
call fcn.0040a6b0
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 0x409173
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 0x4091d6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409158
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, 0x433c74
je 0x4091d6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40915a
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xda]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], 0x4336bc
mov dword [esp + 4], 0x19
add eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00412d50
test eax, eax
js 0x409213
add eax, 1
cmp eax, 0x19
ja 0x4095bf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x408b00
lea esi, [ebx + eax]
jmp 0x40924f
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 0x408b00
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x409230
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 0x40971f
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x409232
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 0x406da5
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x409fd2
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.0040a760
jmp 0x407f60
mov eax, edi
mov edx, 0x11
call fcn.0040c470
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a595
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x433c1f
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402240
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 0x4086b7
mov eax, dword [esp + 0x28]
jmp 0x405e84
test eax, eax
je 0x409868
mov eax, dword [edi + 0x100]
mov ebx, str.auto:
mov esi, 0x433a32
jmp 0x4093cd
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 0x4098be
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4093ae
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 0x4098be
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4093b0
mov edx, str.parm
mov eax, edi
call fcn.00402240
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0xc1]
mov dword [esp + 8], 0x4336bc
mov dword [esp + 4], 0x19
mov dword [esp], ebx
call fcn.00412d50
test eax, eax
js 0x40946f
add eax, 1
cmp eax, 0x19
ja 0x4095bf
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, dword [edi + 0x100]
mov esi, eax
test eax, eax
je 0x40959a
add esi, ebx
jmp 0x4094af
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 0x40959a
movzx eax, byte [ebx]
cmp ecx, 0xff
jne 0x409490
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 0x40a1aa
movzx eax, byte [ebx]
mov edx, 1
jmp 0x409492
xor ebx, ebx
jmp 0x40606c
cmp esi, 0x56
jne 0x40615f
mov ebx, 0x3a
jmp 0x40613c
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 0x408221
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 0x408b0f
cmp ecx, 0xff
je 0x40a0f3
lea eax, [ecx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + ecx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40a26e
call fcn.00412c90
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 0x4095e4
movzx edx, byte [ecx + 1]
sub edx, 0x64
jne 0x4095e4
movzx edx, byte [ecx + 2]
mov ecx, dword [ebx]
test edx, edx
jne 0x4095f3
cmp ecx, 3
je 0x40a1fc
cmp ecx, 0x3a
je 0x40a2f2
cmp eax, 0x73
jne 0x409670
mov edx, dword [esp + 0x2c]
cmp byte [edx + 1], 0x5a
jne 0x40a123
movzx ecx, byte [edx + 2]
test ecx, ecx
jne 0x40a123
mov edx, ebx
mov eax, edi
call fcn.004022f0
test eax, eax
jne 0x409641
jmp 0x409646
mov edx, dword [eax + 0xc]
test edx, edx
je 0x409646
mov eax, dword [eax + 0x10]
add ecx, 1
test eax, eax
je 0x409646
cmp dword [eax], 0x30
je 0x409630
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5a9
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402450
mov ecx, esi
mov eax, edi
mov edx, 0x11
call fcn.0040bd30
mov esi, dword [esp + 0x2c]
movzx eax, byte [esi]
cmp eax, 0x67
jne 0x4096be
cmp byte [esi + 1], 0x73
jne 0x4096be
cmp byte [esi + 2], 0
jne 0x4096be
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5ae
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040a6b0
cmp eax, 0x73
jne 0x40979c
mov esi, dword [esp + 0x2c]
cmp byte [esi + 1], 0x74
jne 0x40979c
cmp byte [esi + 2], 0
jne 0x40979c
mov edx, 0x28
mov eax, edi
call fcn.00402170
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call fcn.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5bd
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402170
mov edx, 1
jmp 0x408b0c
mov edx, 0x20
mov eax, edi
mov dword [esp + 0x2c], ecx
call fcn.00402170
mov ecx, dword [esp + 0x2c]
mov ebx, dword [ecx + 4]
jmp 0x408f46
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 0x405d77
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040a760
jmp 0x405fcb
cmp eax, 0x6e
jne 0x40775c
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x78
jne 0x40775c
cmp byte [eax + 2], 0
je 0x4096df
jmp 0x40775c
mov edx, ecx
jmp 0x407ed7
mov eax, edi
mov edx, 0x28
call fcn.00402170
mov ecx, dword [esi + 0xc]
mov eax, edi
mov edx, 0x11
call fcn.0040a6b0
mov edx, 0x29
mov eax, edi
call fcn.00402170
jmp 0x40775c
cmp ebx, 7
jne 0x40606c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
jne 0x40606c
cmp dword [eax + 0x10], 1
jne 0x40606c
cmp esi, 0x3e
jne 0x40606c
mov eax, dword [eax + 0xc]
movzx eax, byte [eax]
cmp al, 0x30
je 0x40a635
cmp al, 0x31
jne 0x40606c
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a630
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, str.true
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402240
mov edx, dword [esp + 0x2c]
mov eax, edi
call fcn.004021e0
test eax, eax
je case.0x405cdc.45
cmp dword [eax], 0x30
jne 0x409897
mov edx, dword [edi + 0x124]
test edx, edx
js 0x409897
call fcn.00402020
test eax, eax
je case.0x405cdc.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.0040a6b0
mov dword [edi + 0x110], ebx
jmp case.default.0x40a26e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5f9
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.00402450
test eax, eax
je case.0x405cdc.45
mov edx, dword [eax]
cmp edx, 0x5d
jne 0x409905
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x405cdc.45
mov edx, dword [eax]
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a689
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402550
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a568
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.0040a6b0
test edx, edx
jne 0x406f5e
jmp case.default.0x40a26e
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 0x405f1f
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 0x405d77
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 0x4081e9
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 0x408de0
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 0x40714c
mov edx, 0x20
mov eax, edi
call fcn.00402170
jmp 0x407138
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 0x407107
mov edx, 0x20
mov eax, edi
call fcn.00402170
jmp 0x4070f3
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 0x407dc6
mov edx, str.default_arg
mov eax, edi
call fcn.00402240
mov eax, dword [ebx + 0x10]
lea edx, [eax + 1]
mov eax, edi
call fcn.00402450
mov edx, 0x433a29
mov eax, edi
call fcn.00402240
mov ebx, dword [ebx + 0xc]
jmp 0x40600b
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 0x406c1d
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 0x40621a
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 0x4061e7
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 0x408041
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 0x409c3b
cmp dword [esi], 0x59
je 0x40a007
mov dword [edi + 0x120], 1
mov eax, 1
jmp 0x40910a
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 0x40736d
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 0x40910d
mov edx, 0x5b
mov eax, edi
call fcn.00402170
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5f4
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x5d
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402170
mov edx, 0x2d
mov eax, edi
call fcn.00402170
jmp 0x4060cf
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 0x4060b1
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 0x406080
mov ebx, dword [ebx + 0x10]
cmp dword [ebx], 0x49
je 0x40a1ec
mov eax, dword [esp + 0x28]
shl eax, 4
lea ecx, [esi + eax]
mov eax, dword [ebx]
cmp eax, 0x4f
je 0x409db6
ja 0x409dae
lea edx, [eax - 0x1c]
cmp edx, 5
jbe 0x409db6
mov edx, eax
jmp 0x407f21
lea edx, [eax - 0x52]
cmp edx, 1
ja 0x409da7
cmp dword [esp + 0x28], 4
je case.0x405cdc.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 0x409d96
jmp case.0x405cdc.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 0x407f2a
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 0x407f2a
mov edx, dword [edi + 0x134]
test edx, edx
jle 0x40a48d
mov ebx, dword [edi + 0x130]
mov ecx, dword [esp + 0x28]
xor eax, eax
jmp 0x409e7e
add eax, 1
add ebx, 8
cmp edx, eax
je 0x40a48d
cmp ecx, dword [ebx]
jne 0x409e70
mov ecx, dword [edi + 0x12c]
mov eax, ecx
test ecx, ecx
je 0x40a1bc
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x28]
jmp 0x409ebb
cmp ecx, eax
je 0x409eb0
cmp edx, esi
je 0x409ec1
mov eax, dword [eax + 4]
test eax, eax
je 0x40a1b4
mov edx, dword [eax]
cmp edx, ebx
jne 0x409ea8
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, edi
xor ebx, ebx
call fcn.004021e0
test eax, eax
je case.0x405cdc.45
cmp dword [eax], 0x30
jne 0x405e84
mov edx, dword [edi + 0x124]
test edx, edx
js 0x40a518
call fcn.00402020
test eax, eax
jne 0x405e84
test ebx, ebx
je case.0x405cdc.45
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.0x405cdc.45
movzx eax, byte [eax]
lea edx, [eax - 0x72]
cmp dl, 1
jbe 0x409f2b
sub eax, 0x63
cmp al, 1
ja 0x407612
mov edx, 0x11
mov eax, edi
call fcn.0040bd30
mov edx, 0x3c
mov eax, edi
call fcn.00402170
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040a6b0
mov edx, 0x433bdb
mov eax, edi
call fcn.00402240
mov eax, dword [esi + 0x10]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a6b0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a59a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402170
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 0x406150
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 0x4092ff
mov dword [esp + 0x3c], esi
mov edx, 0x3c
mov eax, edi
call fcn.00402170
mov ebx, dword [esi + 0xc]
test ebx, ebx
jne 0x40a07a
jmp 0x40a0d0
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call fcn.0040a6b0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a09b
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 0x40a063
mov ebx, dword [ebx + 0xc]
mov edx, dword [ebx]
mov eax, dword [edi + 0x120]
lea ecx, [eax - 1]
mov eax, edi
call fcn.00402550
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x40a0d0
mov eax, dword [edi + 0x120]
lea edx, [eax + 1]
mov dword [edi + 0x120], edx
test eax, eax
je 0x40a028
mov edx, 0x433a15
mov eax, edi
call fcn.00402240
jmp 0x40a028
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 0x40a046
mov edx, 0x3e
mov eax, edi
call fcn.00402170
mov eax, dword [edi + 0x120]
mov esi, dword [esi + 0x10]
lea edx, [eax + 1]
mov eax, dword [edi + 0x100]
jmp 0x4090f9
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 0x4095a6
cmp eax, 0x73
jne 0x409670
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x50
jne 0x409670
xor ecx, ecx
cmp byte [eax + 2], 0
je 0x40a15e
jmp 0x409670
add ecx, 1
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x40a21b
cmp dword [ebx], 0x30
jne 0x40a21b
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40a21b
cmp dword [eax], 0x4d
jne 0x40a150
mov edx, dword [eax + 0xc]
mov eax, edi
call fcn.004022f0
xor edx, edx
test eax, eax
jne 0x40a1a1
jmp 0x40a1a6
mov esi, dword [eax + 0xc]
test esi, esi
je 0x40a1a6
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
je 0x40a1a6
cmp dword [eax], 0x30
je 0x40a190
add ecx, edx
jmp 0x40a153
mov ecx, 1
jmp 0x4095a6
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.004021e0
test eax, eax
je 0x409f06
mov ebx, 1
jmp 0x409eda
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x409d8c
jmp case.0x405cdc.45
mov edx, dword [ebx + 0xc]
cmp dword [edx], 1
jne 0x4095fc
mov ecx, dword [ebx + 0x10]
cmp dword [ecx], 0x2a
jne 0x4095fc
mov ebx, edx
jmp 0x4095fc
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a698
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402450
cmp esi, 0x3f
je 0x40a53e
mov ecx, eax
mov edx, 0x11
mov eax, edi
sub ebx, 2
call fcn.0040a6b0
cmp ebx, 4
ja case.default.0x40a26e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jmp dword [ebx*4 + 0x433e3c]
jne 0x40a67a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x433bf3
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402240
jne 0x40a67f
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x433bf0
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402240
jne 0x40a68e
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x6c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402170
jne 0x40a693
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x75
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402170
jne 0x40a5c7
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x433bf6
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402240
mov ecx, dword [ebx + 0xc]
mov eax, edi
mov edx, 0x11
call fcn.0040c470
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a59f
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040bd30
mov eax, edi
mov edx, 0x5b
call fcn.00402170
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a6b0
mov edx, 0x5d
mov eax, edi
call fcn.00402170
jmp 0x4076db
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 0x405d77
call fcn.00412cf0
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne 0x40764e
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne 0x40764e
mov edx, 0x28
mov eax, edi
call fcn.00402170
jmp 0x40764e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040a6b0
xor eax, eax
cmp dword [esp + 0x50], 0
mov dword [edi + 0x114], eax
je 0x408324
jmp case.default.0x40a26e
mov eax, dword [ecx + 0x10]
cmp dword [eax], 0x2a
je 0x40a3fc
mov dword [edi + 0x118], 1
mov ecx, dword [ecx + 0xc]
mov edx, 0x11
mov eax, edi
call fcn.0040c470
jmp 0x407689
mov edx, str.new
mov eax, edi
mov dword [esp + 0x28], ecx
call fcn.00402240
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0xc], 0
je 0x40a442
mov edx, 0x11
mov eax, edi
call fcn.0040c470
mov edx, 0x20
mov eax, edi
call fcn.00402170
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040a6b0
test esi, esi
je case.default.0x40a26e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a5db
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040c470
mov dword [edi + 0x114], eax
jmp case.0x405cdc.45
cmp edx, dword [edi + 0x138]
jge case.0x405cdc.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 0x40a55a
mov edx, dword [edi + 0x144]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edx
mov edx, dword [edi + 0x140]
jmp 0x40a4fa
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 0x40a556
cmp dword [esp + 0x24], edx
jg 0x40a4d8
jmp case.0x405cdc.45
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call fcn.0040bd30
jmp 0x4076c5
movd xmm0, dword [edi + 0x114]
mov ecx, dword [edi + 0x110]
cmp esi, 0x30
je 0x40a69d
movd xmm6, dword [esp + 0x2c]
punpckldq xmm0, xmm6
jmp 0x405ec0
mov eax, edi
mov edx, 0x2d
call fcn.00402170
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
jmp 0x40a247
mov esi, dword [esp + 0x1c]
xor eax, eax
mov dword [ebx], eax
jmp 0x409ec5
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44a0e8]
jne 0x40a661
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, str.false
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00402240
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
call fcn.00412cf0
movd xmm7, eax
mov dword [esp + 0x2c], eax
punpckldq xmm0, xmm7
jmp 0x4099a3