Function at 0x406dd0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, eax
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x110
mov eax, dword [0x44c0fc]
mov dword [esp + 0x10c], eax
xor eax, eax
mov dword [esp + 0x2c], ecx
test ecx, ecx
je case.0x406e0c.45
mov ebx, dword [edi + 0x118]
test ebx, ebx
jne case.default.0x40b39e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax]
cmp esi, 0x5f
ja case.0x406e0c.45
jmp dword [esi*4 + 0x434cfc]
lea esi, [edx - 0x52]
cmp esi, 1
ja 0x40903e
mov ebx, dword [ebx + 0xc]
test ebx, ebx
je 0x40b5b2
add eax, 0x10
cmp dword [esp + 0x28], 4
jne 0x40a8f8
mov dword [edi + 0x114], ecx
nop
mov dword [edi + 0x118], 1
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b4c0
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.0040b7e0
mov esi, dword [esp + 0x40]
test esi, esi
je 0x40a191
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
test ebx, ebx
je case.default.0x40b39e
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.default.0x40b39e
mov ecx, dword [edi + 0x114]
mov eax, ecx
test ecx, ecx
je 0x40b48c
mov dword [esp + 0x28], ebx
lea esi, [esi]
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x406f1c
mov edx, dword [eax + 4]
mov edx, dword [edx]
lea ebx, [edx - 0x19]
cmp ebx, 2
ja 0x406f22
cmp esi, edx
je 0x40aa56
mov eax, dword [eax]
test eax, eax
jne 0x406f00
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 0x406ea7
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6a2
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.0040b7e0
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi + 0x120]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0x40a4bb
xor ebx, ebx
cmp dword [eax], 5
je 0x40af7a
mov edx, dword [eax]
cmp edx, 0x24
je 0x40a875
mov ecx, dword [edi + 0x114]
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + 0x110]
cmp esi, edx
je 0x40aac1
cmp edx, 0x25
je 0x40a1a6
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 0x406ea7
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x40702f
mov edx, 0x11
mov eax, edi
call fcn.0040b7e0
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je case.default.0x40b39e
mov eax, dword [edi + 0x100]
cmp eax, 0xfd
ja 0x40aa90
mov edx, 0x434a55
mov eax, edi
call fcn.00403370
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.0040b7e0
cmp dword [edi + 0x128], ebx
jne case.default.0x40b39e
mov eax, dword [edi + 0x100]
cmp eax, esi
jne case.default.0x40b39e
sub eax, 2
mov dword [edi + 0x100], eax
jmp case.default.0x40b39e
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.0040b7e0
mov esi, dword [esp + 0x40]
test esi, esi
je 0x40a8b7
mov eax, dword [esp + 0x38]
mov dword [edi + 0x114], eax
jmp case.default.0x40b39e
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, dword [esi + 0xc]
call fcn.0040b7e0
mov edx, 0x434a58
mov eax, edi
call fcn.00403370
mov ebx, dword [esi + 0x10]
cmp dword [ebx], 0x49
je 0x40ac26
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b738
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040b7e0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
cmp dword [ecx], 0x28
jne 0x40a646
mov eax, dword [ecx + 0xc]
mov ebx, dword [eax + 0x10]
cmp ebx, 6
ja 0x40a92b
test ebx, ebx
je 0x40719c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
je 0x40b36e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40ae74
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.0040b7e0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40ae3f
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 0x40ae2e
cmp ebx, 8
je 0x40ade9
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6e8
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.0040b7e0
mov ebx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x40a64d
mov edx, 0x11
mov eax, edi
call fcn.0040b7e0
cmp dword [ebx], 0x56
je 0x40a656
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40728f
mov ebx, 0x2e
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40b0cd
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], bl
mov byte [edi + 0x104], bl
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6ac
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6f2
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.0040ce60
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
test ecx, ecx
je 0x407303
mov edx, 0x11
mov eax, edi
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40acbd
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.0040b7e0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40ac88
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40b39e
mov eax, dword [edi + 0x100]
mov ebx, str.global_destructors_keyed_to
mov esi, 0x434ca9
jmp 0x407397
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 0x409dee
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407378
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434ca9
je 0x409dee
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40737a
mov eax, dword [edi + 0x100]
mov ebx, str.template_parameter_object_for
mov esi, 0x434a92
jmp 0x40743b
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434a92
je 0x409e1b
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407418
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 0x409e1b
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40741a
mov eax, dword [edi + 0x100]
mov ebx, str.guard_variable_for
mov esi, 0x434b76
jmp 0x4074d7
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 0x409d5b
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4074b8
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434b76
je 0x409d5b
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4074ba
mov eax, dword [edi + 0x100]
mov ebx, str.non_virtual_thunk_to
mov esi, 0x434b25
jmp 0x407577
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 0x409ecf
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407558
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434b25
je 0x409ecf
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40755a
mov eax, dword [edi + 0x100]
mov ebx, str.covariant_return_thunk_to
mov esi, 0x434b52
jmp 0x407617
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 0x409f26
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4075f8
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434b52
je 0x409f26
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4075fa
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_name_for
jmp 0x4076b3
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434afe
je 0x409f80
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407690
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434afe
je 0x409f80
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407692
mov eax, dword [edi + 0x100]
mov ebx, str.java_Class_for
mov esi, 0x434b62
jmp 0x40774f
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 0x409fda
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407730
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434b62
je 0x409fda
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407732
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_fn_for
mov esi, 0x434b0f
jmp 0x4077ef
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 0x40a034
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4077d0
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 0x40a034
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4077d2
mov eax, dword [edi + 0x100]
mov ebx, str.virtual_thunk_to
mov esi, 0x434b37
jmp 0x407887
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 0x40a122
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407868
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434b37
je 0x40a122
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40786a
mov eax, dword [edi + 0x100]
mov ebx, str.typeinfo_for
mov esi, 0x434aeb
jmp 0x40792b
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434aeb
je 0x40a14f
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407908
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 0x40a14f
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40790a
mov eax, dword [edi + 0x100]
mov ebx, str.construction_vtable_for
mov esi, 0x434ad8
jmp 0x4079cb
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434ad8
je 0x4098e6
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4079a8
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 0x4098e6
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4079aa
mov eax, dword [edi + 0x100]
mov ebx, str.non_transaction_clone_for
mov esi, 0x434c07
jmp 0x407a67
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 0x409ac2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407a48
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 0x409ac2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407a4a
mov eax, dword [edi + 0x100]
mov ebx, str.vtable_for
mov esi, 0x434ab6
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 0x4099e8
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 + 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 0x4099e8
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407ae2
mov eax, dword [edi + 0x100]
mov ebx, str.unnamed_type
mov esi, 0x434cc3
jmp 0x407b9b
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434cc3
je 0x409b49
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407b78
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 0x409b49
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407b7a
mov eax, dword [edi + 0x100]
mov ebx, str.VTT_for
mov esi, 0x434abf
jmp 0x407c37
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 0x40998e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407c18
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 0x40998e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407c1a
mov eax, dword [edi + 0x100]
mov ebx, str.transaction_clone_for
mov esi, 0x434bec
jmp 0x407cd3
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434bec
je 0x409aef
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407cb0
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 0x409aef
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407cb2
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40ac53
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x7e
mov byte [edi + 0x104], 0x7e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b73d
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.0040b7e0
mov eax, dword [edi + 0x100]
mov ebx, str.lambda
mov esi, 0x434cb1
jmp 0x407dbf
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 0x40a1e0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407da0
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 0x40ad27
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407da2
mov eax, dword [edi + 0x100]
mov ebx, str.initializer_for_module
mov esi, 0x434aaa
jmp 0x407e57
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 0x409fad
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407e38
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 0x409fad
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407e3a
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a3e6
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], bl
mov byte [edi + 0x104], bl
jmp case.default.0x40b39e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str.__clone
mov esi, 0x434ccc
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
jmp 0x407f2f
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 0x4097c0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407f10
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 0x4097c0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407f12
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._abi:
mov esi, 0x434a54
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
jmp 0x407fdf
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 0x4097c0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x407fc0
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 0x4097c0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x407fc2
mov eax, dword [esp + 0x2c]
mov ebx, dword [edi + 0x120]
mov ecx, dword [eax + 0xc]
test ebx, ebx
jne 0x40a454
mov edx, ecx
mov eax, edi
call fcn.00403420
xor edx, edx
test eax, eax
je 0x40a454
lea esi, [esi]
cmp dword [eax], 0x30
jne 0x40aa83
mov esi, dword [eax + 0xc]
test esi, esi
je 0x40aa83
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
jne 0x408070
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.0040b7e0
mov eax, dword [esp + 0x28]
cmp ebx, eax
je case.default.0x40b39e
mov dword [esp + 0x2c], ebx
mov eax, dword [edi + 0x100]
mov esi, 0x434a55
jmp 0x408104
mov ecx, eax
lea eax, [ecx + 1]
add esi, 1
mov edx, 0x434a57
mov dword [edi + 0x100], eax
mov byte [edi + ecx], bl
mov byte [edi + 0x104], bl
cmp edx, esi
je 0x4097fd
movzx ebx, byte [esi]
cmp eax, 0xff
jne 0x4080e0
mov eax, dword [edi + 0x10c]
add esi, 1
mov byte [edi + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], edi
call dword [edi + 0x108]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], bl
mov byte [edi + 0x104], bl
cmp esi, 0x434a57
je 0x4097fd
movzx ebx, byte [esi]
mov ecx, 1
jmp 0x4080e2
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b72e
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.0040b7e0
mov esi, dword [esp + 0x2c]
mov eax, dword [edi + 0x120]
mov ecx, dword [esi + 0xc]
lea edx, [ecx + 1]
cmp eax, edx
jle 0x40a4c4
mov eax, dword [edi + 0x110]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xc]
test ecx, ecx
je 0x40aa19
test eax, eax
je case.0x406e0c.45
mov edx, ecx
jmp 0x4081d8
test edx, edx
je 0x40aa19
mov eax, dword [eax + 0x10]
sub edx, 1
test eax, eax
jne 0x4081d0
jmp case.0x406e0c.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.0040b7e0
cmp byte [edi + 0x104], 0x3c
je 0x40abe0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40abab
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.0040b7e0
cmp byte [edi + 0x104], 0x3e
je 0x40ab9a
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40ab65
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.0x40b39e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._friend_
mov esi, 0x434cd5
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
jmp 0x4082eb
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434cd5
je case.default.0x40b39e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4082c8
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.0x40b39e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4082ca
mov eax, dword [edi + 0x100]
mov ebx, str.template
mov esi, 0x434ce7
jmp 0x408387
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 0x409a15
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408368
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 0x409a15
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40836a
mov eax, dword [edi + 0x100]
mov ebx, str.typename
mov esi, 0x434cde
jmp 0x40841f
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.0x40b39e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408400
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434cde
je case.default.0x40b39e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408402
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40ad7f
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 0x4084ee
jmp 0x409efc
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040b7e0
mov esi, dword [esi + 0x10]
add dword [esp + 0x2c], 1
test esi, esi
je 0x409efc
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x4084d0
mov eax, dword [edi + 0x100]
mov ebx, 0x434a55
jmp 0x408527
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434a57
je 0x4084d0
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408508
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434a57
je 0x4084d0
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40850a
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_init_function_for
mov esi, 0x434b8d
jmp 0x4085c7
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 0x409b1c
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4085a8
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434b8d
je 0x409b1c
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4085aa
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3c
jne case.0x406e0c.45
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3d
jne case.0x406e0c.45
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call fcn.0040d7a0
test eax, eax
jne case.default.0x40b39e
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040dbb0
test eax, eax
jne case.default.0x40b39e
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0xc]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], esi
mov esi, dword [eax + 0x10]
mov dword [esp + 4], 0x434c24
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
mov ecx, dword [esp + 0x28]
test eax, eax
jne 0x40b540
mov edx, 0x11
mov eax, edi
call fcn.0040d5a0
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call fcn.0040ce60
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040d5a0
mov eax, edi
mov edx, 0x434c27
call fcn.00403370
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b693
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040d5a0
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x10]
cmp dword [eax], 0x3a
jne case.0x406e0c.45
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
cmp byte [eax + 1], 0x63
je 0x40b045
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
mov ecx, esi
call fcn.0040d7a0
test eax, eax
jne case.default.0x40b39e
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040dbb0
test eax, eax
jne case.default.0x40b39e
mov eax, dword [esi + 0xc]
cmp dword [eax], 0x33
je 0x40b4c5
mov esi, dword [esp + 0x2c]
mov dword [esp + 4], 0x434c1e
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 0xc]
test eax, eax
jne 0x4087ad
cmp dword [ecx], 3
je 0x40b51a
mov edx, 0x11
mov eax, edi
call fcn.0040d5a0
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
mov esi, dword [eax]
mov dword [esp + 4], 0x434c21
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x40b459
mov dword [esp + 4], 0x434c1e
mov dword [esp], esi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x40b635
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040d5a0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
cmp dword [eax], 0x33
jne case.default.0x40b39e
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne case.default.0x40b39e
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne case.default.0x40b39e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b71a
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004032a0
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov eax, dword [esi]
cmp eax, 0x33
je 0x40a6f4
cmp eax, 0x35
je 0x40a8ff
mov ecx, esi
mov edx, 0x11
mov eax, edi
call fcn.0040ce60
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b756
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040d5a0
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x40b39e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x4088ef
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.0x40b39e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4088d0
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.0x40b39e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4088d2
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._requires
mov esi, 0x434cf9
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
jmp 0x40899f
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 0x409f53
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408980
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 0x409f53
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408982
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, 0x434c5f
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
jmp 0x408a4b
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434c62
je case.default.0x40b39e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408a28
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x2c], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x2c]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434c62
je case.default.0x40b39e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408a2a
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x434c1a
jmp 0x408aef
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 0x40a007
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408ad0
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 0x40a007
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408ad2
mov eax, dword [edi + 0x100]
mov ebx, str.operator
mov esi, 0x434c1a
jmp 0x408b87
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 0x409e48
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408b68
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 0x409e48
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408b6a
mov eax, dword [esp + 0x2c]
mov ebx, 0x434c08
mov esi, 0x434c10
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x100]
jmp 0x408c2f
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 0x40a061
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408c10
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 0x40a061
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408c12
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0xc]
test ebx, ebx
jne 0x40a560
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b706
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c63
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403370
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.0x40b39e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x408d07
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.0x40b39e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408ce8
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.0x40b39e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408cea
mov eax, dword [edi + 0x100]
mov ebx, str.hidden_alias_for
mov esi, 0x434bd5
jmp 0x408d9f
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 0x409ea2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408d80
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434bd5
je 0x409ea2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408d82
mov eax, dword [edi + 0x100]
mov ebx, str.java_resource
mov esi, 0x434c53
jmp 0x408e3f
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 0x409db5
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408e20
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 0x409db5
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408e22
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6fc
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.0040b7e0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40abf1
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.0040b7e0
mov esi, dword [esi + 0x10]
mov eax, dword [edi + 0x100]
mov dword [esp + 0x2c], esi
test esi, esi
je 0x4097d9
mov ebx, 0x434a55
mov esi, 0x434a57
jmp 0x408f63
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 0x408f10
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x408f48
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 0x408f10
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x408f4a
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.0x406e0c.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 0x406e1f
ja 0x406e13
lea esi, [edx - 0x1c]
cmp esi, 5
jbe 0x406e1f
mov dword [edi + 0x114], eax
mov esi, dword [esp + 0x20]
cmp edx, 2
je 0x40aeb0
cmp edx, 4
je 0x40af38
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b7e0
cmp dword [ebx], 4
jne 0x40907c
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 0x40a41b
sub ebx, 0x10
cmp ebx, esi
jne 0x409085
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x114], eax
jmp case.default.0x40b39e
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0xc]
test esi, esi
je case.default.0x40b39e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x4090e7
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.0x40b39e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4090c8
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.0x40b39e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4090ca
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40acf2
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x40
mov byte [edi + 0x104], 0x40
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b710
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.0040b7e0
mov eax, dword [edi + 0x100]
mov ebx, str.global_constructors_keyed_to
mov esi, 0x434c8c
jmp 0x4091eb
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434c8c
je 0x409c55
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x4091c8
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 0x409c55
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x4091ca
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 4]
mov ebx, dword [eax]
test esi, esi
je 0x409806
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x40928f
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 0x409806
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409270
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 0x409806
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409272
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40aafb
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.0040b7e0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a660
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x29
mov byte [edi + 0x104], 0x29
jmp case.default.0x40b39e
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 0x4093f3
jmp 0x40b4ef
mov edx, dword [eax + 8]
test edx, edx
jne 0x4093ed
cmp ebx, 3
ja case.0x406e0c.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 0x409400
mov edx, dword [eax + 4]
mov edx, dword [edx]
sub edx, 0x19
cmp edx, 2
jbe 0x4093b8
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [esp + 0x28]
mov dword [edi + 0x114], eax
mov eax, dword [esp + 0x50]
test eax, eax
jne case.default.0x40b39e
lea esi, [esp + 0x4c]
cmp ebx, 1
jbe 0x409454
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.0040b890
cmp ebx, 1
jne 0x409438
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call fcn.0040cb60
jmp case.default.0x40b39e
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4094dd
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.0040b7e0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov dword [edi + 0x114], eax
test ecx, ecx
jne case.default.0x40b39e
mov edx, 0x20
mov eax, edi
call fcn.004032a0
mov eax, dword [edi + 0x114]
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov dword [esp], eax
mov eax, edi
call fcn.0040c350
jmp case.default.0x40b39e
mov eax, dword [edi + 0x100]
mov ebx, str.decltype__
jmp 0x409533
mov ecx, eax
lea eax, [ecx + 1]
add ebx, 1
mov dword [edi + 0x100], eax
mov byte [edi + ecx], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434c5e
je 0x409de2
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409510
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434c5e
je 0x409de2
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409512
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xa8]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x4346fc
mov dword [esp + 4], 0x19
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.00413e80
test eax, eax
js 0x4095d7
add eax, 1
cmp eax, 0x19
ja 0x40a6ef
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
test eax, eax
je case.default.0x40b39e
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x409617
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.0x40b39e
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x4095f8
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.0x40b39e
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x4095fa
mov eax, dword [edi + 0x100]
mov ebx, str.reference_temporary_
mov esi, 0x434bbd
jmp 0x4096af
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 0x409c82
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409690
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434bbd
je 0x409c82
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409692
mov eax, dword [edi + 0x100]
mov ebx, str.TLS_wrapper_function_for
mov esi, 0x434ba7
jmp 0x40974f
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 0x409d88
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409730
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434ba7
je 0x409d88
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409732
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40a486
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x5d
mov byte [edi + 0x104], 0x5d
jmp case.default.0x40b39e
mov ebx, dword [esp + 0x2c]
jmp 0x4080a0
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0x8f]
movsx eax, word [eax + 0x10]
mov dword [esp + 8], 0x4346fc
mov dword [esp + 4], 0x19
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.00413e80
test eax, eax
js 0x409841
add eax, 1
cmp eax, 0x19
ja 0x40a6ef
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
test eax, eax
je 0x40a17c
mov edx, dword [edi + 0x100]
lea esi, [ebx + eax]
jmp 0x40987f
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 0x40a17c
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x409860
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 0x40a17c
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x409862
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._in_
mov esi, 0x434add
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
jmp 0x40992f
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 0x4099bb
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409910
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 0x4099bb
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409912
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b742
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b74c
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b733
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.0040b7e0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._class
mov esi, 0x434cee
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
jmp 0x409a5f
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.0x40b39e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409a40
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.0x40b39e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409a42
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b747
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b71f
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b751
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.0040b7e0
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xf3]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], 0x4346fc
mov dword [esp + 4], 0x19
add eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00413e80
test eax, eax
js 0x409b86
add eax, 1
cmp eax, 0x19
ja 0x40a6ef
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x409c30
lea esi, [ebx + eax]
jmp 0x409bc3
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 0x409c30
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x409ba8
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 0x40a84f
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x409baa
cmp edx, 0xff
je 0x40a695
lea eax, [edx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + edx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40b39e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6d4
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.0040b7e0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ebx, str._for
mov esi, 0x434bc3
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
jmp 0x409ccb
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 0x409d2e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x409cb0
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434bc3
je 0x409d2e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x409cb2
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b787
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b7b4
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b701
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b715
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.0040b7e0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
jmp 0x409331
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6e3
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6b1
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.0040b7e0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0x148]
test eax, eax
je 0x409e79
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.0040b7e0
mov ecx, dword [edi + 0x148]
test ecx, ecx
je case.default.0x40b39e
mov eax, dword [esp + 0x38]
mov dword [edi + 0x110], eax
jmp case.default.0x40b39e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b796
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b69d
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.0040b7e0
mov eax, dword [edi + 0x100]
lea edx, [eax + 1]
cmp eax, 0xff
je 0x40ab30
mov dword [edi + 0x100], edx
mov byte [edi + eax], 0x3e
mov byte [edi + 0x104], 0x3e
jmp case.default.0x40b39e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6c0
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b7a0
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6a7
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b78c
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6b6
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b79b
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6bb
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.0040b7e0
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + 4]
movzx eax, byte [ebx]
sub eax, 0x61
cmp al, 0x19
jbe 0x40a859
mov esi, dword [esp + 0x28]
lea eax, [esi - 1]
cmp byte [ebx + esi - 1], 0x20
cmove esi, eax
test esi, esi
je case.default.0x40b39e
mov eax, dword [edi + 0x100]
add esi, ebx
jmp 0x40a0bf
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.0x40b39e
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x40a0a0
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.0x40b39e
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40a0a2
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b7a5
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.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b75b
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.0040b7e0
mov eax, dword [esp + 0x2c]
movzx ebx, byte [eax + 0x12]
test bl, bl
je case.default.0x40b39e
jmp 0x407ec1
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040b890
jmp 0x406ec3
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 0x406ea7
jmp 0x406f4e
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 0x40a229
cmp dword [esi], 0x59
je 0x40b137
mov dword [edi + 0x120], edx
cmp eax, 0xff
je 0x40adb4
lea edx, [eax + 1]
mov dword [edi + 0x100], edx
mov ecx, esi
mov edx, 0x11
mov ebx, 0x434cb2
mov byte [edi + eax], 0x28
mov eax, edi
mov esi, 0x434cb4
mov byte [edi + 0x104], 0x28
call fcn.0040b7e0
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 0x40a2a3
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 0x40a306
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x40a288
mov eax, dword [edi + 0x10c]
mov byte [edi + 0xff], 0
add ebx, 1
mov byte [esp + 0x28], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], edi
call dword [edi + 0x108]
movzx edx, byte [esp + 0x28]
add dword [edi + 0x128], 1
mov dword [edi + 0x100], 1
mov byte [edi], dl
mov byte [edi + 0x104], dl
cmp ebx, 0x434cb4
je 0x40a306
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40a28a
mov eax, dword [esp + 0x2c]
lea ebx, [esp + 0xda]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], 0x4346fc
mov dword [esp + 4], 0x19
add eax, 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00413e80
test eax, eax
js 0x40a343
add eax, 1
cmp eax, 0x19
ja 0x40a6ef
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x100]
test eax, eax
je 0x409c30
lea esi, [ebx + eax]
jmp 0x40a37f
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 0x409c30
movzx eax, byte [ebx]
cmp edx, 0xff
jne 0x40a360
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 0x40a84f
movzx eax, byte [ebx]
mov ecx, 1
jmp 0x40a362
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 0x407ed5
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40b102
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.0040b890
jmp 0x409090
mov eax, edi
mov edx, 0x11
call fcn.0040d5a0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6c5
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c5f
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403370
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 0x4097e7
mov eax, dword [esp + 0x28]
jmp 0x406fb4
test eax, eax
je 0x40a998
mov eax, dword [edi + 0x100]
mov ebx, str.auto:
mov esi, 0x434a72
jmp 0x40a4fd
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 0x40a9ee
movzx edx, byte [ebx]
cmp eax, 0xff
jne 0x40a4de
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 0x40a9ee
movzx edx, byte [ebx]
mov ecx, 1
jmp 0x40a4e0
mov edx, str.parm
mov eax, edi
call fcn.00403370
mov dword [esp + 0xc], ebx
lea ebx, [esp + 0xc1]
mov dword [esp + 8], 0x4346fc
mov dword [esp + 4], 0x19
mov dword [esp], ebx
call fcn.00413e80
test eax, eax
js 0x40a59f
add eax, 1
cmp eax, 0x19
ja 0x40a6ef
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, dword [edi + 0x100]
mov esi, eax
test eax, eax
je 0x40a6ca
add esi, ebx
jmp 0x40a5df
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 0x40a6ca
movzx eax, byte [ebx]
cmp ecx, 0xff
jne 0x40a5c0
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 0x40b2da
movzx eax, byte [ebx]
mov edx, 1
jmp 0x40a5c2
xor ebx, ebx
jmp 0x40719c
cmp esi, 0x56
jne 0x40728f
mov ebx, 0x3a
jmp 0x40726c
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 0x409351
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 0x409c3f
cmp ecx, 0xff
je 0x40b223
lea eax, [ecx + 1]
mov dword [edi + 0x100], eax
mov byte [edi + ecx], 0x7d
mov byte [edi + 0x104], 0x7d
jmp case.default.0x40b39e
call fcn.00413dc0
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 0x40a714
movzx edx, byte [ecx + 1]
sub edx, 0x64
jne 0x40a714
movzx edx, byte [ecx + 2]
mov ecx, dword [ebx]
test edx, edx
jne 0x40a723
cmp ecx, 3
je 0x40b32c
cmp ecx, 0x3a
je 0x40b422
cmp eax, 0x73
jne 0x40a7a0
mov edx, dword [esp + 0x2c]
cmp byte [edx + 1], 0x5a
jne 0x40b253
movzx ecx, byte [edx + 2]
test ecx, ecx
jne 0x40b253
mov edx, ebx
mov eax, edi
call fcn.00403420
test eax, eax
jne 0x40a771
jmp 0x40a776
mov edx, dword [eax + 0xc]
test edx, edx
je 0x40a776
mov eax, dword [eax + 0x10]
add ecx, 1
test eax, eax
je 0x40a776
cmp dword [eax], 0x30
je 0x40a760
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6d9
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403580
mov ecx, esi
mov eax, edi
mov edx, 0x11
call fcn.0040ce60
mov esi, dword [esp + 0x2c]
movzx eax, byte [esi]
cmp eax, 0x67
jne 0x40a7ee
cmp byte [esi + 1], 0x73
jne 0x40a7ee
cmp byte [esi + 2], 0
jne 0x40a7ee
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6de
lea esp, [ebp - 0xc]
mov ecx, ebx
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040b7e0
cmp eax, 0x73
jne 0x40a8cc
mov esi, dword [esp + 0x2c]
cmp byte [esi + 1], 0x74
jne 0x40a8cc
cmp byte [esi + 2], 0
jne 0x40a8cc
mov edx, 0x28
mov eax, edi
call fcn.004032a0
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call fcn.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6ed
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004032a0
mov edx, 1
jmp 0x409c3c
mov edx, 0x20
mov eax, edi
mov dword [esp + 0x2c], ecx
call fcn.004032a0
mov ecx, dword [esp + 0x2c]
mov ebx, dword [ecx + 4]
jmp 0x40a076
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 0x406ea7
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040b890
jmp 0x4070fb
cmp eax, 0x6e
jne 0x40888c
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x78
jne 0x40888c
cmp byte [eax + 2], 0
je 0x40a80f
jmp 0x40888c
mov edx, ecx
jmp 0x409007
mov eax, edi
mov edx, 0x28
call fcn.004032a0
mov ecx, dword [esi + 0xc]
mov eax, edi
mov edx, 0x11
call fcn.0040b7e0
mov edx, 0x29
mov eax, edi
call fcn.004032a0
jmp 0x40888c
cmp ebx, 7
jne 0x40719c
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
test edx, edx
jne 0x40719c
cmp dword [eax + 0x10], 1
jne 0x40719c
cmp esi, 0x3e
jne 0x40719c
mov eax, dword [eax + 0xc]
movzx eax, byte [eax]
cmp al, 0x30
je 0x40b765
cmp al, 0x31
jne 0x40719c
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b760
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, str.true
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403370
mov edx, dword [esp + 0x2c]
mov eax, edi
call fcn.00403310
test eax, eax
je case.0x406e0c.45
cmp dword [eax], 0x30
jne 0x40a9c7
mov edx, dword [edi + 0x124]
test edx, edx
js 0x40a9c7
call fcn.00403150
test eax, eax
je case.0x406e0c.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.0040b7e0
mov dword [edi + 0x110], ebx
jmp case.default.0x40b39e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b729
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.00403580
test eax, eax
je case.0x406e0c.45
mov edx, dword [eax]
cmp edx, 0x5d
jne 0x40aa35
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x406e0c.45
mov edx, dword [eax]
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b7b9
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403680
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b698
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.0040b7e0
test edx, edx
jne 0x40808e
jmp case.default.0x40b39e
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 0x40704f
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 0x406ea7
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 0x409319
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 0x409f10
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 0x40827c
mov edx, 0x20
mov eax, edi
call fcn.004032a0
jmp 0x408268
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 0x408237
mov edx, 0x20
mov eax, edi
call fcn.004032a0
jmp 0x408223
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 0x408ef6
mov edx, str.default_arg
mov eax, edi
call fcn.00403370
mov eax, dword [ebx + 0x10]
lea edx, [eax + 1]
mov eax, edi
call fcn.00403580
mov edx, 0x434a69
mov eax, edi
call fcn.00403370
mov ebx, dword [ebx + 0xc]
jmp 0x40713b
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 0x407d4d
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 0x40734a
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 0x407317
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 0x409171
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 0x40ad6b
cmp dword [esi], 0x59
je 0x40b137
mov dword [edi + 0x120], 1
mov eax, 1
jmp 0x40a23a
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 0x40849d
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 0x40a23d
mov edx, 0x5b
mov eax, edi
call fcn.004032a0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b724
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x5d
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004032a0
mov edx, 0x2d
mov eax, edi
call fcn.004032a0
jmp 0x4071ff
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 0x4071e1
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 0x4071b0
mov ebx, dword [ebx + 0x10]
cmp dword [ebx], 0x49
je 0x40b31c
mov eax, dword [esp + 0x28]
shl eax, 4
lea ecx, [esi + eax]
mov eax, dword [ebx]
cmp eax, 0x4f
je 0x40aee6
ja 0x40aede
lea edx, [eax - 0x1c]
cmp edx, 5
jbe 0x40aee6
mov edx, eax
jmp 0x409051
lea edx, [eax - 0x52]
cmp edx, 1
ja 0x40aed7
cmp dword [esp + 0x28], 4
je case.0x406e0c.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 0x40aec6
jmp case.0x406e0c.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 0x40905a
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 0x40905a
mov edx, dword [edi + 0x134]
test edx, edx
jle 0x40b5bd
mov ebx, dword [edi + 0x130]
mov ecx, dword [esp + 0x28]
xor eax, eax
jmp 0x40afae
add eax, 1
add ebx, 8
cmp edx, eax
je 0x40b5bd
cmp ecx, dword [ebx]
jne 0x40afa0
mov ecx, dword [edi + 0x12c]
mov eax, ecx
test ecx, ecx
je 0x40b2ec
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x28]
jmp 0x40afeb
cmp ecx, eax
je 0x40afe0
cmp edx, esi
je 0x40aff1
mov eax, dword [eax + 4]
test eax, eax
je 0x40b2e4
mov edx, dword [eax]
cmp edx, ebx
jne 0x40afd8
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, edi
xor ebx, ebx
call fcn.00403310
test eax, eax
je case.0x406e0c.45
cmp dword [eax], 0x30
jne 0x406fb4
mov edx, dword [edi + 0x124]
test edx, edx
js 0x40b648
call fcn.00403150
test eax, eax
jne 0x406fb4
test ebx, ebx
je case.0x406e0c.45
mov eax, dword [esp + 0x20]
mov dword [edi + 0x110], eax
jmp case.0x406e0c.45
movzx eax, byte [eax]
lea edx, [eax - 0x72]
cmp dl, 1
jbe 0x40b05b
sub eax, 0x63
cmp al, 1
ja 0x408742
mov edx, 0x11
mov eax, edi
call fcn.0040ce60
mov edx, 0x3c
mov eax, edi
call fcn.004032a0
mov esi, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, edi
call fcn.0040b7e0
mov edx, 0x434c1b
mov eax, edi
call fcn.00403370
mov eax, dword [esi + 0x10]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b7e0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6ca
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004032a0
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 0x407280
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 0x40a42f
mov dword [esp + 0x3c], esi
mov edx, 0x3c
mov eax, edi
call fcn.004032a0
mov ebx, dword [esi + 0xc]
test ebx, ebx
jne 0x40b1aa
jmp 0x40b200
mov eax, edi
mov ecx, ebx
mov edx, 0x11
call fcn.0040b7e0
mov eax, dword [edi + 0x100]
cmp eax, 0xff
je 0x40b1cb
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 0x40b193
mov ebx, dword [ebx + 0xc]
mov edx, dword [ebx]
mov eax, dword [edi + 0x120]
lea ecx, [eax - 1]
mov eax, edi
call fcn.00403680
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x40b200
mov eax, dword [edi + 0x120]
lea edx, [eax + 1]
mov dword [edi + 0x120], edx
test eax, eax
je 0x40b158
mov edx, 0x434a55
mov eax, edi
call fcn.00403370
jmp 0x40b158
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 0x40b176
mov edx, 0x3e
mov eax, edi
call fcn.004032a0
mov eax, dword [edi + 0x120]
mov esi, dword [esi + 0x10]
lea edx, [eax + 1]
mov eax, dword [edi + 0x100]
jmp 0x40a229
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 0x40a6d6
cmp eax, 0x73
jne 0x40a7a0
mov eax, dword [esp + 0x2c]
cmp byte [eax + 1], 0x50
jne 0x40a7a0
xor ecx, ecx
cmp byte [eax + 2], 0
je 0x40b28e
jmp 0x40a7a0
add ecx, 1
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x40b34b
cmp dword [ebx], 0x30
jne 0x40b34b
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40b34b
cmp dword [eax], 0x4d
jne 0x40b280
mov edx, dword [eax + 0xc]
mov eax, edi
call fcn.00403420
xor edx, edx
test eax, eax
jne 0x40b2d1
jmp 0x40b2d6
mov esi, dword [eax + 0xc]
test esi, esi
je 0x40b2d6
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
je 0x40b2d6
cmp dword [eax], 0x30
je 0x40b2c0
add ecx, edx
jmp 0x40b283
mov ecx, 1
jmp 0x40a6d6
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.00403310
test eax, eax
je 0x40b036
mov ebx, 1
jmp 0x40b00a
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x40aebc
jmp case.0x406e0c.45
mov edx, dword [ebx + 0xc]
cmp dword [edx], 1
jne 0x40a72c
mov ecx, dword [ebx + 0x10]
cmp dword [ecx], 0x2a
jne 0x40a72c
mov ebx, edx
jmp 0x40a72c
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b7c8
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403580
cmp esi, 0x3f
je 0x40b66e
mov ecx, eax
mov edx, 0x11
mov eax, edi
sub ebx, 2
call fcn.0040b7e0
cmp ebx, 4
ja case.default.0x40b39e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jmp dword [ebx*4 + 0x434e7c]
jne 0x40b7aa
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c33
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403370
jne 0x40b7af
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c30
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403370
jne 0x40b7be
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x6c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004032a0
jne 0x40b7c3
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x75
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004032a0
jne 0x40b6f7
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, 0x434c36
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403370
mov ecx, dword [ebx + 0xc]
mov eax, edi
mov edx, 0x11
call fcn.0040d5a0
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b6cf
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040ce60
mov eax, edi
mov edx, 0x5b
call fcn.004032a0
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b7e0
mov edx, 0x5d
mov eax, edi
call fcn.004032a0
jmp 0x40880b
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 0x406ea7
call fcn.00413e20
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne 0x40877e
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne 0x40877e
mov edx, 0x28
mov eax, edi
call fcn.004032a0
jmp 0x40877e
mov eax, dword [esp + 0x2c]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, edi
call fcn.0040b7e0
xor eax, eax
cmp dword [esp + 0x50], 0
mov dword [edi + 0x114], eax
je 0x409454
jmp case.default.0x40b39e
mov eax, dword [ecx + 0x10]
cmp dword [eax], 0x2a
je 0x40b52c
mov dword [edi + 0x118], 1
mov ecx, dword [ecx + 0xc]
mov edx, 0x11
mov eax, edi
call fcn.0040d5a0
jmp 0x4087b9
mov edx, str.new
mov eax, edi
mov dword [esp + 0x28], ecx
call fcn.00403370
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 0xc], 0
je 0x40b572
mov edx, 0x11
mov eax, edi
call fcn.0040d5a0
mov edx, 0x20
mov eax, edi
call fcn.004032a0
mov ecx, dword [esp + 0x2c]
mov edx, 0x11
mov eax, edi
call fcn.0040b7e0
test esi, esi
je case.default.0x40b39e
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b70b
lea esp, [ebp - 0xc]
mov ecx, esi
mov eax, edi
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040d5a0
mov dword [edi + 0x114], eax
jmp case.0x406e0c.45
cmp edx, dword [edi + 0x138]
jge case.0x406e0c.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 0x40b68a
mov edx, dword [edi + 0x144]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edx
mov edx, dword [edi + 0x140]
jmp 0x40b62a
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 0x40b686
cmp dword [esp + 0x24], edx
jg 0x40b608
jmp case.0x406e0c.45
mov ecx, ebx
mov edx, 0x11
mov eax, edi
call fcn.0040ce60
jmp 0x4087f5
movd xmm0, dword [edi + 0x114]
mov ecx, dword [edi + 0x110]
cmp esi, 0x30
je 0x40b7cd
movd xmm6, dword [esp + 0x2c]
punpckldq xmm0, xmm6
jmp 0x406ff0
mov eax, edi
mov edx, 0x2d
call fcn.004032a0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
jmp 0x40b377
mov esi, dword [esp + 0x1c]
xor eax, eax
mov dword [ebx], eax
jmp 0x40aff5
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
mov eax, dword [esp + 0x10c]
sub eax, dword [0x44c0fc]
jne 0x40b791
lea esp, [ebp - 0xc]
mov eax, edi
mov edx, str.false
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00403370
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
call fcn.00413e20
movd xmm7, eax
mov dword [esp + 0x2c], eax
punpckldq xmm0, xmm7
jmp 0x40aad3