Function at 0x405920
Capabilities:
Resolve function by parsing pe exports

Disassembly:
test ecx, ecx
je 0x401850
push ebp
lea ebp, [edx + ecx]
push edi
push esi
mov esi, edx
push ebx
mov ebx, eax
sub esp, 0x2c
mov edi, dword [eax + 0x100]
jmp 0x40182c
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x1f], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x1f]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp ebp, esi
je 0x401840
movzx eax, byte [esi]
mov edx, 1
lea edi, [edx + 1]
add esi, 1
mov dword [ebx + 0x100], edi
mov byte [ebx + edx], al
mov byte [ebx + 0x104], al
cmp ebp, esi
je 0x401840
movzx eax, byte [esi]
cmp edi, 0xff
je 0x4017c0
mov edx, edi
jmp 0x401813
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
ret
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x40
lea esi, [esp + 0x27]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x51992c
mov dword [esp], esi
call fcn.00401950
mov dword [esp], esi
call sub.msvcrt.dll_strlen
test eax, eax
je 0x401b30
mov ecx, dword [ebx + 0x100]
lea edi, [esi + eax]
jmp 0x401b1c
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x1f], dl
mov dword [esp + 8], eax
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx edx, byte [esp + 0x1f]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], dl
mov byte [ebx + 0x104], dl
cmp edi, esi
je 0x401b30
movzx edx, byte [esi]
mov eax, 1
lea ecx, [eax + 1]
add esi, 1
mov dword [ebx + 0x100], ecx
mov byte [ebx + eax], dl
mov byte [ebx + 0x104], dl
cmp edi, esi
je 0x401b30
movzx edx, byte [esi]
cmp ecx, 0xff
je 0x401ab0
mov eax, ecx
jmp 0x401b03
add esp, 0x40
pop ebx
pop esi
pop edi
ret
push ebp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x8c
test ecx, ecx
je 0x405990
mov esi, dword [eax + 0x118]
test esi, esi
jne case.default.0x40bf54
mov eax, dword [ecx]
mov ebp, ecx
mov dword [esp + 0x10], eax
cmp eax, 0x51
ja case.0x40594b.52
jmp dword [eax*4 + 0x519ee0]
mov edi, dword [ebx + 0x110]
test edi, edi
je 0x405990
mov edx, dword [edi + 4]
mov eax, dword [ecx + 0xc]
mov esi, dword [edx + 0x10]
test eax, eax
js 0x40bcee
test esi, esi
jne 0x40598a
jmp 0x405990
test eax, eax
je 0x40bceb
mov esi, dword [esi + 0x10]
sub eax, 1
test esi, esi
je 0x405990
cmp dword [esi], 0x2f
je 0x405978
nop
mov dword [ebx + 0x118], 1
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [ebx + 0x114]
lea eax, [esp + 0x40]
mov dword [esp + 0x40], edi
mov dword [ebx + 0x114], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x110]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov edi, dword [esp + 0x18]
test edi, edi
je 0x4097d8
lea esi, [esi]
nop
mov eax, dword [edi + 4]
cmp eax, 1
jg 0x4097d8
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x4097d8
add eax, 1
add edx, 1
mov ecx, edi
mov dword [edi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x38], edi
call fcn.00405920
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x12c], eax
sub dword [edi + 4], 1
mov edi, dword [esp + 0x48]
sub dword [ebx + 0x11c], 1
test edi, edi
je 0x4097e2
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x114], eax
test esi, esi
je case.default.0x40bf54
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x110], eax
jmp case.default.0x40bf54
mov edi, dword [ebx + 0x114]
mov ecx, edi
test edi, edi
je 0x40eefe
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x10]
mov eax, edi
lea esi, [esi]
mov edx, dword [eax + 8]
test edx, edx
jne 0x405abc
mov edx, dword [eax + 4]
mov edx, dword [edx]
lea ecx, [edx - 0x19]
cmp ecx, 2
ja 0x405ac2
cmp esi, edx
je 0x40d2fb
mov eax, dword [eax]
test eax, eax
jne 0x405aa0
mov esi, dword [esp + 0x14]
jmp 0x4059ae
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov esi, dword [ecx + 0xc]
test esi, esi
je 0x405b4f
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40bba8
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40bba8
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
mov eax, dword [ebp + 0x10]
test eax, eax
je case.default.0x40bf54
mov eax, dword [ebx + 0x100]
cmp eax, 0xfd
jbe 0x405b8b
mov byte [ebx + eax], 0
mov edx, dword [ebx + 0x10c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
xor eax, eax
lea esi, [eax + 2]
mov byte [ebx + eax], 0x2c
mov dword [ebx + 0x100], esi
mov byte [ebx + eax + 1], 0x20
mov edi, dword [ebx + 0x128]
mov byte [ebx + 0x104], 0x20
mov ebp, dword [ebp + 0x10]
test ebp, ebp
je 0x40acc0
mov eax, dword [ebp + 4]
cmp eax, 1
jg 0x40acc0
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40acc0
add eax, 1
mov ecx, ebp
mov dword [ebp + 4], eax
lea eax, [edx + 1]
mov edx, 0x11
mov dword [ebx + 0x11c], eax
mov eax, dword [ebx + 0x12c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [ebp + 4], 1
sub dword [ebx + 0x11c], 1
cmp dword [ebx + 0x128], edi
jne case.default.0x40bf54
cmp esi, dword [ebx + 0x100]
jne case.default.0x40bf54
sub esi, 2
mov dword [ebx + 0x100], esi
jmp case.default.0x40bf54
mov eax, dword [ebx + 0x114]
mov esi, dword [ecx + 0x10]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], 0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x114], eax
mov eax, dword [ebx + 0x110]
mov dword [esp + 0x4c], eax
test esi, esi
je 0x40a333
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a333
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a333
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x38], esi
call fcn.00405920
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x12c], eax
mov eax, dword [esp + 0x48]
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
test eax, eax
je 0x40a33d
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x114], eax
jmp case.default.0x40bf54
mov esi, dword [ecx + 0xc]
test esi, esi
je 0x40a2d9
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a2d9
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a2d9
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
mov edx, dword [ebx + 0x100]
cmp edx, 0xff
je 0x40a552
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x3a
mov byte [ebx + 0x104], 0x3a
cmp eax, 0xff
jne 0x40a583
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x3a
mov byte [ebx + 0x104], 0x3a
mov edi, dword [ebp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
cmp dword [edi], 0x48
je 0x40db16
mov eax, dword [edi + 4]
cmp eax, 1
jg 0x40a4a6
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a4a6
add eax, 1
add edx, 1
mov ecx, edi
mov dword [edi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], edi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [edi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov edi, dword [ecx + 0xc]
xor esi, esi
cmp dword [edi], 0x27
je 0x40bf0e
mov edx, dword [ebx + 0x100]
cmp edx, 0xff
je 0x40abca
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x28
mov byte [ebx + 0x104], 0x28
mov edx, dword [edi + 4]
cmp edx, 1
jg 0x40acea
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40acea
mov eax, dword [ebx + 0x12c]
add edx, 1
add ecx, 1
mov dword [edi + 4], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x11c], ecx
mov ecx, edi
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], edi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
mov eax, dword [ebx + 0x100]
sub dword [edi + 4], 1
sub dword [ebx + 0x11c], 1
cmp eax, 0xff
jne 0x40ac21
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov byte [ebx], 0x29
mov byte [ebx + 0x104], 0x29
cmp dword [ebp], 0x3e
mov dword [ebx + 0x100], 1
je 0x40d09a
cmp esi, 8
je 0x40eb0a
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x40cda4
mov eax, dword [edi + 4]
cmp eax, 1
jg 0x40cda4
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jle 0x40d49a
mov dword [ebx + 0x118], 1
cmp esi, 8
jne case.default.0x40bf54
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
jne 0x405fd1
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
xor eax, eax
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x5d
mov byte [ebx + 0x104], 0x5d
jmp case.default.0x40bf54
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebx + 0x120]
mov dword [esp + 0x18], eax
mov edx, dword [eax]
mov edi, eax
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x406014
xor esi, esi
cmp edx, 5
je 0x40d67a
mov ecx, dword [ebx + 0x110]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebx + 0x114]
cmp dword [esp + 0x10], edx
je 0x40ace0
cmp edx, 0x23
je 0x40ace0
cmp edx, 0x24
je 0x4097f5
lea eax, [esp + 0x40]
mov dword [esp + 0x40], ecx
mov dword [ebx + 0x114], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], eax
jmp 0x4059db
mov eax, dword [ebx + 0x114]
mov dword [ebx + 0x114], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x18], eax
test eax, eax
je 0x40d9d8
mov dword [esp + 0x44], eax
mov edx, dword [ebx + 0x110]
mov eax, dword [eax]
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], edx
cmp eax, 0x4e
je 0x40a1a6
ja 0x40a19a
sub eax, 0x1c
cmp eax, 4
jbe 0x40a1a6
lea eax, [esp + 0x40]
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], eax
mov dword [ebx + 0x114], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp eax, 2
je 0x40d4f8
cmp eax, 4
je 0x40d5f5
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x40d2bc
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40d2bc
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40d2bc
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x38], esi
call fcn.00405920
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x12c], eax
mov eax, dword [esp + 0x18]
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
cmp dword [eax], 4
jne 0x406179
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x110], eax
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
shl esi, 4
add esi, edi
mov ebp, dword [esi - 8]
test ebp, ebp
jne 0x4061ed
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
cmp eax, 0xff
jne 0x4061cd
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov ecx, dword [esi - 0xc]
mov edx, 0x11
mov byte [ebx + eax], 0x20
mov eax, ebx
mov byte [ebx + 0x104], 0x20
call fcn.00410a60
sub esi, 0x10
cmp esi, edi
jne 0x406186
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x114], eax
jmp case.default.0x40bf54
mov eax, dword [ecx + 0x10]
cmp dword [eax], 0x3b
jne 0x405990
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x3c
jne 0x405990
mov edx, 0x11
mov eax, ebx
call fcn.0040f510
test eax, eax
jne case.default.0x40bf54
mov ecx, ebp
mov edx, 0x11
mov eax, ebx
call fcn.004104d0
test eax, eax
jne case.default.0x40bf54
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0xc]
mov ebp, dword [eax + 0x10]
mov dword [esp + 4], 0x519e7d
mov eax, dword [esi + 0xc]
mov dword [esp + 0x10], ecx
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x40ef56
mov ecx, edi
mov edx, 0x11
mov eax, ebx
call fcn.0040f240
mov ecx, esi
mov edx, 0x11
mov eax, ebx
call fcn.0040f3d0
mov ecx, dword [esp + 0x10]
mov edx, 0x11
mov eax, ebx
call fcn.0040f240
mov ecx, 3
mov edx, 0x519e80
mov eax, ebx
call 0x4017a0
mov ecx, ebp
jmp 0x407cb2
cmp word [ecx + 0x12], 0
jne 0x40cfab
mov esi, dword [ebp + 0xc]
cmp dword [esi + 0xc], 0x51b160
je 0x40ae8a
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40bcdc
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40bcdc
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
mov edx, dword [ebx + 0x100]
cmp edx, 0xff
je 0x40cdf5
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x20
mov byte [ebx + 0x104], 0x20
cmp word [ebp + 0x10], 0
je 0x40bc12
cmp eax, 0xff
je 0x40d749
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x5f
mov byte [ebx + 0x104], 0x5f
cmp edx, 0xff
jne 0x40da56
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov ebp, 0x6341
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], bp
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x63
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x75
mov byte [ebx + 0x104], 0x75
cmp eax, 0xff
jne 0x40ce99
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6d
mov byte [ebx + 0x104], 0x6d
jmp case.default.0x40bf54
mov esi, dword [ecx + 0xc]
test esi, esi
je 0x40a3fd
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a3fd
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a3fd
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40d186
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x5b
mov byte [ebx + 0x104], 0x5b
cmp edx, 0xff
jne 0x40ba8d
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov edi, 0x6261
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x69
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x3a
mov byte [ebx + 0x104], 0x3a
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x40a40c
mov edx, dword [esi + 4]
cmp edx, 1
jg 0x40a40c
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40a40c
mov eax, dword [ebx + 0x12c]
add edx, 1
add ecx, 1
mov dword [esi + 4], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x11c], ecx
mov ecx, esi
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
mov eax, dword [ebx + 0x100]
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
lea edx, [eax + 1]
cmp eax, 0xff
jne 0x4065e3
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x5d
mov byte [ebx + 0x104], 0x5d
jmp case.default.0x40bf54
mov ebp, dword [ecx + 0xc]
mov eax, ebx
xor edi, edi
mov edx, ebp
call fcn.00401980
test eax, eax
jne 0x406621
jmp 0x40e778
mov edx, dword [eax + 0xc]
test edx, edx
je 0x406626
mov eax, dword [eax + 0x10]
add edi, 1
test eax, eax
je 0x40662e
cmp dword [eax], 0x2f
je 0x406610
test edi, edi
je case.default.0x40bf54
lea ecx, [edi - 1]
test ecx, ecx
jg 0x40bd30
lea esi, [esi]
mov dword [ebx + 0x124], esi
test ebp, ebp
je 0x4066c8
mov eax, dword [ebp + 4]
cmp eax, 1
jg 0x4066c8
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x4066c8
add eax, 1
add edx, 1
mov ecx, ebp
add esi, 1
mov dword [ebp + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], ebp
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [ebp + 4], 1
sub dword [ebx + 0x11c], 1
cmp edi, esi
jle case.default.0x40bf54
mov eax, dword [ebp + 4]
mov dword [ebx + 0x124], esi
cmp eax, 1
jle 0x406652
lea esi, [esi]
nop
mov dword [ebx + 0x118], 1
add esi, 1
cmp esi, edi
jl 0x406640
jmp case.default.0x40bf54
mov edx, dword [ebx + 0x100]
mov esi, str.non_transaction_clone_for
jmp 0x40676c
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519e79
je 0x409dd3
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519e79
je 0x409dd3
movzx eax, byte [esi]
cmp edx, 0xff
je 0x4066f0
mov ecx, edx
jmp 0x40674b
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40a844
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x7b
mov byte [ebx + 0x104], 0x7b
cmp edx, 0xff
jne 0x40b0af
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6e75
mov byte [ebx + 2], 0x6e
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x61
mov byte [ebx + 0x104], 0x61
cmp eax, 0xff
jne 0x40b10a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov edi, 0x656d
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x64
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x20
mov byte [ebx + 0x104], 0x20
cmp eax, 0xff
jne 0x40b164
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x7974
mov byte [ebx + 2], 0x70
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x65
mov byte [ebx + 0x104], 0x65
cmp eax, 0xff
jne 0x40a983
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
lea esi, [esp + 0x40]
mov byte [ebx + eax], 0x23
mov byte [ebx + 0x104], 0x23
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], 0x51992c
add eax, 1
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00401950
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov edx, dword [ebx + 0x100]
test eax, eax
je 0x40a500
lea edi, [esi + eax]
jmp 0x4069ac
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je 0x40a98b
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je 0x40a500
movzx eax, byte [esi]
cmp edx, 0xff
je 0x406938
mov ecx, edx
jmp 0x40698f
mov edx, dword [ebx + 0x100]
mov esi, str.transaction_clone_for
jmp 0x406a4c
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519e5e
je 0x409bf3
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519e5e
je 0x409bf3
movzx eax, byte [esi]
cmp edx, 0xff
je 0x4069d0
mov ecx, edx
jmp 0x406a2b
mov edx, dword [ebx + 0x100]
mov esi, str.global_destructors_keyed_to
jmp 0x406aec
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519edc
je 0x409b7b
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519edc
je 0x409b7b
movzx eax, byte [esi]
cmp edx, 0xff
je 0x406a70
mov ecx, edx
jmp 0x406acb
mov edx, dword [ebx + 0x100]
mov esi, str.typeinfo_fn_for
jmp 0x406b8c
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519d97
je 0x40a0aa
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519d97
je 0x40a0aa
movzx eax, byte [esi]
cmp edx, 0xff
je 0x406b10
mov ecx, edx
jmp 0x406b6b
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40c9c3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x7b
mov byte [ebx + 0x104], 0x7b
cmp edx, 0xff
jne 0x40afff
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x6d
mov eax, 0x616c
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x62
mov byte [ebx + 0x104], 0x62
cmp edx, 0xff
jne 0x40b05a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 0x6164
mov word [ebx], dx
mov edx, 2
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x28
mov edx, dword [ebx + 0x120]
mov byte [ebx + 0x104], 0x28
mov esi, dword [ebp + 0xc]
lea ecx, [edx + 1]
mov dword [ebx + 0x120], ecx
test esi, esi
je 0x40a3b9
mov ecx, dword [esi + 4]
cmp ecx, 1
jg 0x40a3b9
mov edi, dword [ebx + 0x11c]
cmp edi, 0x400
jg 0x40a3b9
mov eax, dword [ebx + 0x12c]
add ecx, 1
add edi, 1
mov edx, 0x11
mov dword [esi + 4], ecx
mov ecx, esi
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov dword [ebx + 0x11c], edi
mov dword [esp + 0x14], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
mov eax, dword [ebx + 0x120]
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
lea edx, [eax - 1]
mov eax, dword [ebx + 0x100]
mov dword [ebx + 0x120], edx
cmp eax, 0xff
je 0x40a801
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x29
mov byte [ebx + 0x104], 0x29
cmp edx, 0xff
jne 0x40a832
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
mov dword [ebx + 0x100], eax
mov esi, dword [esp + 0x14]
mov byte [ebx + edx], 0x23
mov byte [ebx + 0x104], 0x23
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], 0x51992c
add eax, 1
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00401950
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov edx, dword [ebx + 0x100]
test eax, eax
je 0x40a7af
lea edi, [esi + eax]
jmp 0x406e2c
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je 0x40a83a
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je 0x40a7af
movzx eax, byte [esi]
cmp edx, 0xff
je 0x406db8
mov ecx, edx
jmp 0x406e0f
mov edx, dword [ebx + 0x100]
mov esi, str.TLS_wrapper_function_for
jmp 0x406ecc
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519e1f
je 0x409ce3
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519e1f
je 0x409ce3
movzx eax, byte [esi]
cmp edx, 0xff
je 0x406e50
mov ecx, edx
jmp 0x406eab
mov edx, dword [ebx + 0x100]
mov esi, str.TLS_init_function_for
jmp 0x406f6c
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519e05
je 0x409ec3
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519e05
je 0x409ec3
movzx eax, byte [esi]
cmp edx, 0xff
je 0x406ef0
mov ecx, edx
jmp 0x406f4b
mov edx, dword [ebx + 0x100]
mov esi, str.guard_variable_for
jmp 0x40700c
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519dee
je 0x409a8b
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519dee
je 0x409a8b
movzx eax, byte [esi]
cmp edx, 0xff
je 0x406f90
mov ecx, edx
jmp 0x406feb
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40c307
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6a
mov byte [ebx + 0x104], 0x6a
cmp edx, 0xff
jne 0x40b4e6
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x61
mov eax, 0x7661
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
cmp edx, 0xff
jne 0x40b541
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x6c43
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x61
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x73
mov byte [ebx + 0x104], 0x73
cmp edx, 0xff
jne 0x40b59a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x66
mov eax, 0x2073
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp edx, 0xff
jne 0x40b5f3
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x72
mov eax, 1
add dword [ebx + 0x128], 1
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a207
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a207
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a207
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov edx, dword [ebx + 0x100]
mov esi, str.covariant_return_thunk_to
jmp 0x4072ac
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519dda
je 0x409b03
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519dda
je 0x409b03
movzx eax, byte [esi]
cmp edx, 0xff
je 0x407230
mov ecx, edx
jmp 0x40728b
mov edx, dword [ebx + 0x100]
mov esi, str.virtual_thunk_to
mov edi, 0x519dbf
jmp 0x407350
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp edi, esi
je 0x40a122
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519dbf
je 0x40a122
movzx eax, byte [esi]
cmp edx, 0xff
je 0x4072d8
mov ecx, edx
jmp 0x40732f
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40aadf
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x64
mov byte [ebx + 0x104], 0x64
cmp edx, 0xff
jne 0x40b274
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x6c
mov eax, 0x6365
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x74
mov byte [ebx + 0x104], 0x74
cmp edx, 0xff
jne 0x40b2cf
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov edi, 0x7079
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x65
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
cmp edx, 0xff
jne 0x40abc2
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x28
mov byte [ebx + 0x104], 0x28
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a350
mov edx, dword [esi + 4]
cmp edx, 1
jg 0x40a350
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40a350
mov eax, dword [ebx + 0x12c]
add edx, 1
add ecx, 1
mov dword [esi + 4], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x11c], ecx
mov ecx, esi
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
mov eax, dword [ebx + 0x100]
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
lea edx, [eax + 1]
cmp eax, 0xff
jne 0x40753c
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x29
mov byte [ebx + 0x104], 0x29
jmp case.default.0x40bf54
mov eax, dword [ecx + 0xc]
lea esi, [esp + 0x40]
mov dword [esp + 4], 0x51992c
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00401950
mov dword [esp], esi
call sub.msvcrt.dll_strlen
test eax, eax
je case.default.0x40bf54
mov edx, dword [ebx + 0x100]
lea edi, [esi + eax]
jmp 0x407604
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je case.default.0x40bf54
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je case.default.0x40bf54
movzx eax, byte [esi]
cmp edx, 0xff
je 0x407590
mov ecx, edx
jmp 0x4075e7
mov eax, dword [ebx + 0x100]
mov esi, dword [ecx + 0xc]
lea edx, [eax + 1]
cmp eax, 0xff
jne 0x407656
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov ecx, esi
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], cl
mov byte [ebx + 0x104], cl
jmp case.default.0x40bf54
mov edx, dword [ebx + 0x100]
mov esi, str.global_constructors_keyed_to
mov edi, 0x519ebf
jmp 0x4076f4
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp edi, esi
je 0x409e4b
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp edi, esi
je 0x409e4b
movzx eax, byte [esi]
cmp edx, 0xff
je 0x407680
mov ecx, edx
jmp 0x4076d7
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40a998
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6a
mov byte [ebx + 0x104], 0x6a
cmp edx, 0xff
jne 0x40b647
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x7661
mov byte [ebx + 2], 0x61
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], cx
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x20
mov byte [ebx + 0x104], 0x20
cmp eax, 0xff
jne 0x40b6a2
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6572
mov byte [ebx + 2], 0x73
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp eax, 0xff
jne 0x40b6fc
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x7275
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x63
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x65
mov byte [ebx + 0x104], 0x65
cmp eax, 0xff
jne 0x40aad7
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a39b
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a39b
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a39b
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ecx + 0xc]
test esi, esi
je 0x40a2ca
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a2ca
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a2ca
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
mov edx, dword [ebx + 0x100]
lea eax, [edx + 1]
cmp edx, 0xff
jne 0x4079ac
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x28
mov byte [ebx + 0x104], 0x28
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x40a2bb
mov edx, dword [esi + 4]
cmp edx, 1
jg 0x40a2bb
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40a2bb
mov eax, dword [ebx + 0x12c]
add edx, 1
add ecx, 1
mov dword [esi + 4], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x11c], ecx
mov ecx, esi
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
mov eax, dword [ebx + 0x100]
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
lea edx, [eax + 1]
cmp eax, 0xff
jne 0x407a70
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x29
mov byte [ebx + 0x104], 0x29
jmp case.default.0x40bf54
mov eax, dword [ecx + 0x10]
cmp dword [eax], 0x39
jne 0x405990
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
cmp byte [eax + 1], 0x63
je 0x40d867
mov ecx, ebp
mov edx, 0x11
mov eax, ebx
call fcn.0040f510
test eax, eax
jne case.default.0x40bf54
mov ecx, ebp
mov edx, 0x11
mov eax, ebx
call fcn.004104d0
test eax, eax
jne case.default.0x40bf54
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0x32
mov dword [esp + 0x18], eax
je 0x40ec7a
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
mov edx, dword [eax]
movzx eax, byte [edx]
sub eax, 0x63
jne 0x407afe
movzx eax, byte [edx + 1]
sub eax, 0x6c
jne 0x407afe
movzx eax, byte [edx + 2]
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0xc]
test eax, eax
jne 0x407b11
cmp dword [ecx], 3
je 0x40ef23
mov edx, 0x11
mov eax, ebx
call fcn.0040f240
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp byte [eax], 0x69
jne 0x40ebf5
cmp byte [eax + 1], 0x78
jne 0x40ebf5
cmp byte [eax + 2], 0
jne 0x40ebf5
cmp dword [ebx + 0x100], 0xff
jne 0x407b7f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
xor edx, edx
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], edx
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov edx, 0x11
mov byte [ebx + eax], 0x5b
mov byte [ebx + 0x104], 0x5b
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, ebx
call fcn.0040f1b0
cmp dword [ebx + 0x100], 0xff
jne 0x407be8
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
xor eax, eax
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], eax
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x5d
mov byte [ebx + 0x104], 0x5d
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0x32
jne case.default.0x40bf54
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne case.default.0x40bf54
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne case.default.0x40bf54
cmp dword [ebx + 0x100], 0xff
jne 0x407c64
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
xor eax, eax
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], eax
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x29
mov byte [ebx + 0x104], 0x29
jmp case.default.0x40bf54
mov edi, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
mov eax, dword [edi]
cmp eax, 0x32
je 0x40ca5b
cmp eax, 0x34
je 0x40b91c
mov ecx, edi
mov edx, 0x11
mov eax, ebx
call fcn.0040f3d0
mov ecx, esi
add esp, 0x8c
mov eax, ebx
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040f240
mov ecx, dword [ecx + 0xc]
add esp, 0x8c
mov eax, ebx
mov edx, 0x11
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0040f3d0
mov edx, dword [ebx + 0x100]
mov esi, str.typeinfo_name_for
jmp 0x407d6c
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519d86
je 0x409a13
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519d86
je 0x409a13
movzx eax, byte [esi]
cmp edx, 0xff
je 0x407cf0
mov ecx, edx
jmp 0x407d4b
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40c744
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x74
mov byte [ebx + 0x104], 0x74
cmp edx, 0xff
jne 0x40b80e
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x65
mov eax, 0x7079
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x69
mov byte [ebx + 0x104], 0x69
cmp edx, 0xff
jne 0x40b869
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x6f
mov eax, 0x666e
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
cmp edx, 0xff
jne 0x40b8c2
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov edx, 0x6f66
mov byte [ebx + 2], 0x72
mov eax, 3
add dword [ebx + 0x128], 1
mov word [ebx], dx
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a2ac
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a2ac
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a2ac
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov edx, dword [ebx + 0x100]
mov esi, str.construction_vtable_for
jmp 0x407fbc
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519d73
je 0x4098a8
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519d73
je 0x4098ad
movzx eax, byte [esi]
cmp edx, 0xff
je 0x407f40
mov ecx, edx
jmp 0x407f9b
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40c8d6
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x76
mov byte [ebx + 0x104], 0x76
cmp edx, 0xff
jne 0x40b32d
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x62
mov eax, 0x6174
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6c
mov byte [ebx + 0x104], 0x6c
cmp edx, 0xff
jne 0x40b388
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov edi, 0x2065
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x66
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp edx, 0xff
jne 0x40b3e1
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x72
mov eax, 1
add dword [ebx + 0x128], 1
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a225
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a225
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a225
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
cmp eax, 0xff
jne 0x4081b1
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x7e
mov byte [ebx + 0x104], 0x7e
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x40a2f7
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a2f7
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a2f7
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40c0a0
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp edx, 0xff
jne 0x40af4a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x72
mov eax, 0x6570
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x40afa5
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x6f74
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x72
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x40a3aa
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a3aa
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a3aa
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ecx + 0x10]
test esi, esi
je 0x40a306
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a306
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a306
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ecx + 0xc]
mov eax, dword [ebx + 0x100]
test esi, esi
jne 0x40acf9
cmp eax, 0xff
je 0x40d63b
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x74
mov byte [ebx + 0x104], 0x74
cmp edx, 0xff
jne 0x40d372
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x6968
mov edx, 2
add dword [ebx + 0x128], 1
mov word [ebx], cx
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x73
mov byte [ebx + 0x104], 0x73
jmp case.default.0x40bf54
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebx + 0x114]
test eax, eax
je 0x408544
lea edx, [esp + 0x40]
mov dword [esp + 0x40], ecx
mov ecx, eax
mov eax, ebx
mov dword [ebx + 0x114], edx
mov edx, dword [ebx + 0x110]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x4c], edx
mov edx, 0x11
mov dword [esp + 0x48], 0
call fcn.0040f1b0
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x48]
mov dword [ebx + 0x114], eax
test esi, esi
jne case.default.0x40bf54
cmp dword [ebx + 0x100], 0xff
jne 0x408524
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
xor ecx, ecx
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], ecx
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov ecx, dword [ebx + 0x114]
mov byte [ebx + 0x104], 0x20
mov dword [esp], ecx
mov edx, 0x11
mov ecx, ebp
mov eax, ebx
call fcn.00413800
jmp case.default.0x40bf54
mov edx, dword [ebx + 0x100]
mov esi, str.hidden_alias_for
jmp 0x4085ec
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519e47
je 0x409d5b
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519e47
je 0x409d5b
movzx eax, byte [esi]
cmp edx, 0xff
je 0x408570
mov ecx, edx
jmp 0x4085cb
mov edx, dword [ebx + 0x100]
mov esi, str.reference_temporary_
mov edi, 0x519e35
jmp 0x40868c
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp edi, esi
je 0x409f3b
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp edi, esi
je 0x409f40
movzx eax, byte [esi]
cmp edx, 0xff
je 0x408618
mov ecx, edx
jmp 0x40866f
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40c187
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp edx, 0xff
jne 0x40ae95
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x72
mov eax, 0x6570
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x40aef0
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x72
mov eax, 0x6f74
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov eax, dword [ebx + 0x148]
mov byte [ebx + 0x104], 0x20
test eax, eax
je 0x408796
mov ecx, dword [ebx + 0x110]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x38]
mov dword [ebx + 0x110], ecx
mov esi, dword [ebp + 0xc]
cmp dword [esi], 4
je 0x40c44d
mov edx, dword [esi + 4]
cmp edx, 1
jg 0x40ae7b
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40ae7b
mov eax, dword [ebx + 0x12c]
add edx, 1
add ecx, 1
mov dword [esi + 4], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x11c], ecx
mov ecx, esi
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
mov eax, dword [ebx + 0x148]
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
test eax, eax
je case.default.0x40bf54
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x110], eax
jmp case.default.0x40bf54
mov edi, dword [ecx + 0xc]
mov esi, dword [ecx + 0x10]
test edi, edi
je 0x408899
mov eax, dword [edi + 4]
cmp eax, 1
jg 0x40bae9
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40bae9
add eax, 1
add edx, 1
mov ecx, edi
mov dword [edi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], edi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [edi + 4], 1
sub dword [ebx + 0x11c], 1
mov edx, dword [ebx + 0x100]
lea eax, [edx + 1]
cmp edx, 0xff
jne 0x4088da
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x7b
mov byte [ebx + 0x104], 0x7b
test esi, esi
je 0x40a38c
mov edx, dword [esi + 4]
cmp edx, 1
jg 0x40a38c
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40a38c
mov eax, dword [ebx + 0x12c]
add edx, 1
add ecx, 1
mov dword [esi + 4], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x11c], ecx
mov ecx, esi
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
mov eax, dword [ebx + 0x100]
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
lea edx, [eax + 1]
cmp eax, 0xff
jne 0x40899b
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x7d
mov byte [ebx + 0x104], 0x7d
jmp case.default.0x40bf54
mov edx, dword [ebx + 0x100]
mov esi, str.template_parameter_object_for
jmp 0x408a3c
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519d5a
je 0x409c6b
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519d5a
je 0x409c6b
movzx eax, byte [esi]
cmp edx, 0xff
je 0x4089c0
mov ecx, edx
jmp 0x408a1b
mov esi, dword [ecx + 0xc]
test esi, esi
je 0x40a270
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a270
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a270
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40d215
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
cmp edx, 0xff
jne 0x40baf8
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x6c
mov eax, 0x635b
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp edx, 0xff
jne 0x40bb53
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 0x656e
mov word [ebx], dx
mov edx, 2
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x20
mov byte [ebx + 0x104], 0x20
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x40a29d
mov edx, dword [esi + 4]
cmp edx, 1
jg 0x40a29d
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40a29d
mov eax, dword [ebx + 0x12c]
add edx, 1
add ecx, 1
mov dword [esi + 4], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x11c], ecx
mov ecx, esi
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
mov eax, dword [ebx + 0x100]
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
lea edx, [eax + 1]
cmp eax, 0xff
jne 0x408c4a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x5d
mov byte [ebx + 0x104], 0x5d
jmp case.default.0x40bf54
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40c26e
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x56
mov byte [ebx + 0x104], 0x56
cmp edx, 0xff
jne 0x40b435
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x5454
mov byte [ebx + 2], 0x20
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x66
mov byte [ebx + 0x104], 0x66
cmp eax, 0xff
jne 0x40b490
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov edi, 0x726f
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov eax, 2
add dword [ebx + 0x128], 1
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a27f
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a27f
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a27f
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov edx, dword [ebx + 0x100]
mov esi, str.non_virtual_thunk_to
jmp 0x408e3c
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519dad
je 0x409830
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, 0x519dad
je 0x409830
movzx eax, byte [esi]
cmp edx, 0xff
je 0x408dc0
mov ecx, edx
jmp 0x408e1b
lea eax, [esp + 0x40]
mov edi, dword [ebx + 0x114]
mov dword [esp + 0x44], ebp
mov esi, 1
mov dword [esp + 0x14], eax
mov ecx, eax
mov dword [ebx + 0x114], eax
mov eax, dword [ebx + 0x110]
mov dword [esp + 0x40], edi
mov dword [esp + 0x4c], eax
mov eax, edi
mov dword [esp + 0x48], 0
test edi, edi
je 0x408eff
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], ebp
jmp 0x408eea
mov edx, dword [eax + 8]
test edx, edx
jne 0x408ee4
cmp esi, 3
ja 0x40d4e9
mov ebp, dword [eax]
mov edx, esi
add esi, 1
shl edx, 4
mov dword [esp + edx + 0x40], ebp
mov ebp, dword [eax + 4]
lea edi, [esp + edx + 0x40]
mov dword [edi + 4], ebp
mov ebp, dword [eax + 8]
mov dword [edi + 8], ebp
mov ebp, dword [eax + 0xc]
mov dword [edi + 0xc], ebp
mov edi, dword [esp + 0x14]
mov dword [esp + edx + 0x40], ecx
lea ecx, [edi + edx]
mov dword [ebx + 0x114], ecx
mov dword [eax + 8], 1
mov eax, dword [eax]
test eax, eax
je 0x408ef7
mov edx, dword [eax + 4]
mov edx, dword [edx]
sub edx, 0x19
cmp edx, 2
jbe 0x408e98
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x40acb1
mov eax, dword [ecx + 4]
cmp eax, 1
jg 0x40acb1
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40acb1
add eax, 1
add edx, 1
mov dword [esp + 0x10], ecx
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x38], ecx
call fcn.00405920
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x12c], eax
sub dword [ecx + 4], 1
sub dword [ebx + 0x11c], 1
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x114], edi
test eax, eax
jne case.default.0x40bf54
cmp esi, 1
je 0x408fad
nop
sub esi, 1
mov edx, 0x11
mov eax, esi
shl eax, 4
mov ecx, dword [esp + eax + 0x44]
mov eax, ebx
call fcn.00410a60
cmp esi, 1
jne 0x408f90
mov eax, dword [ebx + 0x114]
mov ecx, ebp
mov edx, 0x11
mov dword [esp], eax
mov eax, ebx
call fcn.004134d0
jmp case.default.0x40bf54
mov ebp, dword [ecx + 0xc]
mov eax, dword [ebx + 0x100]
mov edi, dword [ebp + 8]
cmp eax, 0xff
je 0x40c6ab
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp edx, 0xff
jne 0x40b1c3
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6570
mov byte [ebx + 2], 0x72
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x61
mov byte [ebx + 0x104], 0x61
cmp eax, 0xff
jne 0x40b21e
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 0x6f74
mov word [ebx], ax
mov eax, 2
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x72
mov byte [ebx + 0x104], 0x72
mov esi, dword [ebp + 4]
movzx eax, byte [esi]
sub eax, 0x61
cmp al, 0x19
ja 0x409102
mov eax, edx
cmp edx, 0xff
jne 0x40cd75
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov esi, dword [ebp + 4]
mov edx, 1
xor eax, eax
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
lea eax, [edi - 1]
cmp byte [esi + edi - 1], 0x20
cmove edi, eax
test edi, edi
je case.default.0x40bf54
add edi, esi
jmp 0x409194
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je case.default.0x40bf54
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je case.default.0x40bf54
movzx eax, byte [esi]
cmp edx, 0xff
je 0x409120
mov ecx, edx
jmp 0x409177
mov edi, dword [ebx + 0x120]
test edi, edi
je 0x405952
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40d7d9
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x40d429
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x7475
mov byte [ebx + 2], 0x6f
mov eax, 3
add dword [ebx + 0x128], 1
mov word [ebx], cx
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
lea esi, [esp + 0x40]
mov byte [ebx + eax], 0x3a
mov byte [ebx + 0x104], 0x3a
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], 0x51992c
add eax, 1
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00401950
mov dword [esp], esi
call sub.msvcrt.dll_strlen
test eax, eax
je case.default.0x40bf54
mov edx, dword [ebx + 0x100]
lea edi, [esi + eax]
jmp 0x4092e4
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je case.default.0x40bf54
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je case.default.0x40bf54
movzx eax, byte [esi]
cmp edx, 0xff
je 0x409270
mov ecx, edx
jmp 0x4092c7
mov esi, dword [ebx + 0x148]
mov dword [ebx + 0x148], ecx
mov ecx, dword [ecx + 0xc]
mov edi, dword [ebx + 0x114]
mov dword [ebx + 0x114], 0
test ecx, ecx
je 0x40a4f1
mov eax, dword [ecx + 4]
cmp eax, 1
jg 0x40a4f1
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a4f1
add eax, 1
add edx, 1
mov dword [esp + 0x10], ecx
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], ecx
call fcn.00405920
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x12c], eax
sub dword [ecx + 4], 1
sub dword [ebx + 0x11c], 1
cmp byte [ebx + 0x104], 0x3c
mov edx, dword [ebx + 0x100]
je 0x40cd7d
cmp edx, 0xff
je 0x40d02c
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x3c
mov byte [ebx + 0x104], 0x3c
mov ebp, dword [ebp + 0x10]
test ebp, ebp
je 0x40a4e2
mov edx, dword [ebp + 4]
cmp edx, 1
jg 0x40a4e2
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40a4e2
mov eax, dword [ebx + 0x12c]
add edx, 1
add ecx, 1
mov dword [ebp + 4], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x11c], ecx
mov ecx, ebp
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], ebp
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [ebp + 4], 1
sub dword [ebx + 0x11c], 1
cmp byte [ebx + 0x104], 0x3e
jne 0x40f17f
mov edx, dword [ebx + 0x100]
cmp edx, 0xff
je 0x40e5b4
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x20
mov byte [ebx + 0x104], 0x20
cmp eax, 0xff
je 0x40cdb3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x3e
mov byte [ebx + 0x104], 0x3e
mov dword [ebx + 0x114], edi
mov dword [ebx + 0x148], esi
jmp case.default.0x40bf54
mov edi, dword [ecx + 0x10]
mov esi, dword [ecx + 0xc]
test edi, edi
je case.default.0x40bf54
mov edx, dword [ebx + 0x100]
add edi, esi
jmp 0x409524
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je case.default.0x40bf54
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je case.default.0x40bf54
movzx eax, byte [esi]
cmp edx, 0xff
je 0x4094b0
mov ecx, edx
jmp 0x409507
mov esi, dword [ecx + 0xc]
test esi, esi
je 0x40a28e
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a28e
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a28e
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ecx + 0xc]
test esi, esi
je 0x40a4c4
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a4c4
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a4c4
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x40a4b5
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a4b5
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a4b5
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov eax, dword [ecx + 0xc]
mov edi, dword [eax + 4]
mov esi, dword [eax]
test edi, edi
je case.default.0x40bf54
mov edx, dword [ebx + 0x100]
add edi, esi
jmp 0x409724
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je case.default.0x40bf54
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je case.default.0x40bf54
movzx eax, byte [esi]
cmp edx, 0xff
je 0x4096b0
mov ecx, edx
jmp 0x409707
mov edi, dword [ecx + 0x10]
mov esi, dword [ecx + 0xc]
test edi, edi
je case.default.0x40bf54
mov edx, dword [ebx + 0x100]
add edi, esi
jmp 0x4097c4
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp edi, esi
je case.default.0x40bf54
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp edi, esi
je case.default.0x40bf54
movzx eax, byte [esi]
cmp edx, 0xff
je 0x409750
mov ecx, edx
jmp 0x4097a7
mov dword [ebx + 0x118], 1
mov ecx, ebp
mov edx, 0x11
mov eax, ebx
call fcn.00410a60
jmp 0x405a5c
mov edi, dword [eax + 0xc]
lea eax, [esp + 0x40]
mov dword [esp + 0x40], ecx
mov dword [ebx + 0x114], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], eax
test edi, edi
jne 0x4059e8
jmp 0x4059d7
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a216
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a216
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a216
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov edx, 1
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a261
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a261
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40a261
add eax, 1
add ecx, 1
mov edx, 0x11
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], ecx
mov ecx, esi
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov edx, dword [ebx + 0x100]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
cmp edx, 0xff
je 0x40d0b9
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x2d
mov byte [ebx + 0x104], 0x2d
cmp eax, 0xff
jne 0x40ba37
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x6e69
mov eax, 2
add dword [ebx + 0x128], 1
mov word [ebx], cx
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x2d
mov byte [ebx + 0x104], 0x2d
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x40a252
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a252
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a252
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a3df
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a3df
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a3df
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a36e
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a36e
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a36e
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a243
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a243
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a243
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a234
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a234
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a234
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a2e8
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a2e8
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a2e8
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a3d0
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a3d0
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a3d0
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a315
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a315
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a315
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a41b
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a41b
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a41b
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a35f
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a35f
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a35f
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a3ee
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a3ee
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a3ee
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a324
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a324
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a324
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov edx, 1
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x40a439
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a439
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40a439
add eax, 1
add ecx, 1
mov edx, 0x11
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], ecx
mov ecx, esi
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov edx, dword [ebx + 0x100]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
cmp edx, 0xff
je 0x40d0f8
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x20
mov byte [ebx + 0x104], 0x20
cmp eax, 0xff
jne 0x40bbb7
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x6f66
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x72
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a42a
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a42a
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a42a
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a37d
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a37d
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a37d
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40a4d3
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40a4d3
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40a4d3
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
sub eax, 0x50
cmp eax, 1
ja 0x4060c5
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x40]
je 0x40d9d2
mov dword [esp + 0x14], eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], eax
mov eax, dword [eax]
mov dword [esp + 0x5c], edx
cmp eax, 0x4e
je 0x40b767
ja 0x40b75b
sub eax, 0x1c
cmp eax, 4
jbe 0x40b767
mov dword [esp + 0x10], 2
lea eax, [esp + 0x50]
jmp 0x4060d5
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp 0x409926
mov dword [ebx + 0x118], 1
jmp 0x408ac2
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp 0x408c10
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp 0x407a36
mov dword [ebx + 0x118], 1
jmp 0x40796b
mov dword [ebx + 0x118], 1
jmp 0x405d73
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
mov ecx, ebp
mov edx, 0x11
mov eax, ebx
call fcn.00410a60
jmp 0x405cf1
mov dword [ebx + 0x118], 1
jmp 0x407502
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp 0x408961
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
lea edi, [esp + 0x40]
mov dword [esp + 0x14], edi
jmp 0x406d09
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp 0x4064b1
mov dword [ebx + 0x118], 1
jmp 0x4065a9
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp 0x409fb9
cmp edx, 0xff
jne 0x40ea5b
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x3a7d
mov eax, 2
add dword [ebx + 0x128], 1
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x3a
mov byte [ebx + 0x104], 0x3a
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x405ded
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp 0x40961e
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp 0x409461
mov dword [ebx + 0x118], 1
jmp 0x409388
cmp edx, 0xff
jne 0x40a990
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x7d
mov byte [ebx + 0x104], 0x7d
jmp case.default.0x40bf54
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x3a
mov eax, 1
add dword [ebx + 0x128], 1
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x3a
mov byte [ebx + 0x104], 0x3a
mov edi, dword [ebp + 0x10]
cmp dword [edi], 0x48
jne 0x405ded
cmp edx, 0xff
jne 0x40e952
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x647b
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x65
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x66
mov byte [ebx + 0x104], 0x66
cmp eax, 0xff
jne 0x40e9a8
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x7561
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x6c
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x74
mov byte [ebx + 0x104], 0x74
cmp eax, 0xff
jne 0x40e9ff
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x6120
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x72
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x67
mov byte [ebx + 0x104], 0x67
cmp eax, 0xff
jne 0x40dc1e
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
lea esi, [esp + 0x40]
mov byte [ebx + eax], 0x23
mov byte [ebx + 0x104], 0x23
mov eax, dword [edi + 0x10]
mov dword [esp + 4], 0x51992c
add eax, 1
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00401950
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov edx, dword [ebx + 0x100]
mov ebp, eax
test eax, eax
je 0x40a448
add ebp, esi
jmp 0x40a7a0
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, ebp
je 0x40eaad
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, ebp
je 0x40a448
movzx eax, byte [esi]
cmp edx, 0xff
je 0x40a72c
mov ecx, edx
jmp 0x40a783
cmp edx, 0xff
jne 0x40a83f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x7d
mov byte [ebx + 0x104], 0x7d
jmp case.default.0x40bf54
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x29
mov edx, 1
add dword [ebx + 0x128], 1
lea eax, [edx + 1]
jmp 0x406d6a
mov edx, 1
lea eax, [edx + 1]
jmp 0x40a7eb
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x757b
mov byte [ebx + 2], 0x6e
mov ecx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea edx, [ecx + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], 0x6e
mov byte [ebx + 0x104], 0x6e
cmp edx, 0xff
jne 0x4067ea
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x65
mov eax, 0x6d61
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x64
mov byte [ebx + 0x104], 0x64
cmp edx, 0xff
jne 0x406843
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov edx, 0x7420
mov byte [ebx + 2], 0x79
mov eax, 3
add dword [ebx + 0x128], 1
mov word [ebx], dx
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x70
mov byte [ebx + 0x104], 0x70
cmp edx, 0xff
jne 0x40689c
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x65
mov eax, 1
add dword [ebx + 0x128], 1
lea edx, [eax + 1]
jmp 0x4068eb
mov edx, 1
lea eax, [edx + 1]
jmp 0x40a53c
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x616a
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov ecx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x76
lea edx, [ecx + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x40776e
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x65
mov eax, 0x7220
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x73
mov byte [ebx + 0x104], 0x73
cmp edx, 0xff
jne 0x4077c7
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov edi, 0x756f
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x72
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x63
mov byte [ebx + 0x104], 0x63
cmp edx, 0xff
jne 0x407820
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x65
mov eax, 1
add dword [ebx + 0x128], 1
lea edx, [eax + 1]
jmp 0x40786f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6564
mov byte [ebx + 2], 0x63
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x6c
mov byte [ebx + 0x104], 0x6c
cmp eax, 0xff
jne 0x4073ce
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x7974
mov byte [ebx + 2], 0x70
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x65
mov byte [ebx + 0x104], 0x65
cmp eax, 0xff
jne 0x407428
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x20
mov edx, 1
add dword [ebx + 0x128], 1
lea eax, [edx + 1]
jmp 0x407478
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov edi, dword [ebp + 0xc]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], 0x28
mov byte [ebx + 0x104], 0x28
test edi, edi
jne 0x40da40
mov dword [ebx + 0x118], 1
mov eax, 1
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x29
mov byte [ebx + 0x104], 0x29
cmp dword [ebp], 0x3e
je 0x40d061
cmp esi, 8
jne 0x405f5d
cmp edx, 0xff
jne 0x40ac7b
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
xor edx, edx
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x5b
mov byte [ebx + 0x104], 0x5b
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x40aca2
mov eax, dword [edi + 4]
cmp eax, 1
jle 0x405f74
mov dword [ebx + 0x118], 1
jmp 0x405f99
mov dword [ebx + 0x118], 1
jmp 0x408f78
mov dword [ebx + 0x118], 1
jmp 0x405c35
cmp dword [esp + 0x10], 0x2f
mov ecx, dword [ebx + 0x114]
jne 0x406040
mov edi, dword [eax + 0xc]
mov ebp, eax
jmp 0x406040
mov dword [ebx + 0x118], 1
jmp 0x405f02
cmp eax, 0xff
je 0x40cf09
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x7b
mov byte [ebx + 0x104], 0x7b
cmp edx, 0xff
jne 0x40d3c9
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6170
mov byte [ebx + 2], 0x72
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x6d
mov byte [ebx + 0x104], 0x6d
cmp eax, 0xff
jne 0x40cf94
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x23
mov byte [ebx + 0x104], 0x23
mov dword [esp + 8], esi
lea esi, [esp + 0x40]
mov dword [esp + 4], 0x51992c
mov dword [esp], esi
call fcn.00401950
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov edx, dword [ebx + 0x100]
test eax, eax
je 0x40c884
lea edi, [esi + eax]
jmp 0x40ae6c
mov edx, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
add esi, 1
mov byte [esp + 0x10], al
mov dword [esp + 8], edx
mov dword [esp + 4], 0xff
mov dword [esp], ebx
call dword [ebx + 0x108]
movzx eax, byte [esp + 0x10]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
mov byte [ebx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je 0x40cde8
movzx eax, byte [esi]
mov ecx, 1
lea edx, [ecx + 1]
add esi, 1
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], al
mov byte [ebx + 0x104], al
cmp esi, edi
je 0x40c884
movzx eax, byte [esi]
cmp edx, 0xff
je 0x40adf8
mov ecx, edx
jmp 0x40ae4f
mov dword [ebx + 0x118], 1
jmp 0x408810
mov eax, dword [ebx + 0x100]
jmp 0x406369
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x70
mov byte [ebx + 0x104], 0x70
cmp edx, 0xff
jne 0x40e41d
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x7265
mov byte [ebx + 2], 0x61
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x74
mov byte [ebx + 0x104], 0x74
cmp eax, 0xff
jne 0x40e478
mov eax, dword [ebx + 0x10c]
mov edi, 0x726f
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov eax, 2
add dword [ebx + 0x128], 1
jmp 0x408760
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x70
mov byte [ebx + 0x104], 0x70
cmp edx, 0xff
jne 0x40dee0
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x7265
mov byte [ebx + 2], 0x61
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x74
mov byte [ebx + 0x104], 0x74
cmp eax, 0xff
jne 0x40df3b
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x726f
mov eax, 2
add dword [ebx + 0x128], 1
mov word [ebx], cx
jmp 0x4082ff
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x6c
mov byte [ebx + 0x104], 0x6c
cmp edx, 0xff
jne 0x40df91
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov edi, 0x6d61
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x62
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x64
mov byte [ebx + 0x104], 0x64
cmp eax, 0xff
jne 0x40dfec
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x61
mov edx, 1
add dword [ebx + 0x128], 1
jmp 0x406c60
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x75
mov byte [ebx + 0x104], 0x75
cmp edx, 0xff
jne 0x40ddd2
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x61
mov eax, 0x6e6e
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6d
mov byte [ebx + 0x104], 0x6d
cmp edx, 0xff
jne 0x40de2d
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x6465
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x20
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x74
mov byte [ebx + 0x104], 0x74
cmp edx, 0xff
jne 0x40de86
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x7079
mov byte [ebx + 2], 0x65
mov word [ebx], ax
mov eax, 3
add dword [ebx + 0x128], 1
jmp 0x40a983
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x70
mov byte [ebx + 0x104], 0x70
cmp edx, 0xff
jne 0x40cca3
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x7265
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x61
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x74
mov byte [ebx + 0x104], 0x74
cmp edx, 0xff
jne 0x40ccfe
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x6f
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x40908f
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x65
mov byte [ebx + 0x104], 0x65
cmp edx, 0xff
jne 0x40dc62
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6c63
mov byte [ebx + 2], 0x74
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x79
mov byte [ebx + 0x104], 0x79
cmp eax, 0xff
jne 0x40dcbd
mov eax, dword [ebx + 0x10c]
mov esi, 0x6570
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x20
jmp 0x40abc2
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x74
mov byte [ebx + 0x104], 0x74
cmp edx, 0xff
jne 0x40dd18
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6261
mov byte [ebx + 2], 0x6c
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x65
mov byte [ebx + 0x104], 0x65
cmp eax, 0xff
jne 0x40dd73
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x6620
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x6f
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x72
mov byte [ebx + 0x104], 0x72
cmp eax, 0xff
jne 0x4080e5
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x4080e8
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x54
mov byte [ebx + 0x104], 0x54
cmp edx, 0xff
jne 0x40e36e
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x66
mov eax, 0x2054
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp edx, 0xff
jne 0x40e3c9
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x72
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x408d20
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x40e25a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6176
mov byte [ebx + 2], 0x20
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x43
mov byte [ebx + 0x104], 0x43
cmp eax, 0xff
jne 0x40e2b5
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x616c
mov byte [ebx + 2], 0x73
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], cx
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x73
mov byte [ebx + 0x104], 0x73
cmp eax, 0xff
jne 0x40e30f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6620
mov byte [ebx + 2], 0x6f
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x72
mov byte [ebx + 0x104], 0x72
cmp eax, 0xff
jne 0x40718f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x407192
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x40e041
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov edx, 0x6176
mov byte [ebx + 2], 0x20
mov eax, 3
add dword [ebx + 0x128], 1
mov word [ebx], dx
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x72
mov byte [ebx + 0x104], 0x72
cmp edx, 0xff
jne 0x40e09c
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x6f
mov eax, 0x7365
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x75
mov byte [ebx + 0x104], 0x75
cmp edx, 0xff
jne 0x40e0f5
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x6372
mov byte [ebx + 2], 0x65
mov eax, 3
add dword [ebx + 0x128], 1
mov word [ebx], cx
jmp 0x40aad7
sub eax, 0x50
cmp eax, 1
ja 0x40a1f6
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x50]
je 0x40d9d2
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], eax
mov eax, dword [eax]
mov dword [esp + 0x6c], edx
cmp eax, 0x4e
je 0x40b7b3
ja 0x40d485
lea ecx, [eax - 0x1c]
lea eax, [esp + 0x60]
cmp ecx, 4
ja 0x4060d5
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x60]
je 0x40d9d2
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], eax
mov eax, dword [eax]
mov dword [esp + 0x7c], edx
cmp eax, 0x4e
je 0x40e7a1
ja 0x40e795
sub eax, 0x1c
cmp eax, 4
jbe 0x40e7a1
mov dword [esp + 0x10], 4
lea eax, [esp + 0x70]
jmp 0x4060d5
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x79
mov byte [ebx + 0x104], 0x79
cmp edx, 0xff
jne 0x40e14f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6570
mov byte [ebx + 2], 0x69
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x6e
mov byte [ebx + 0x104], 0x6e
cmp eax, 0xff
jne 0x40e1aa
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov edi, 0x6f66
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x20
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x66
mov byte [ebx + 0x104], 0x66
cmp eax, 0xff
jne 0x40e204
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x726f
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 2
jmp 0x407e9e
mov edx, dword [ebx + 0x100]
lea eax, [edx + 1]
cmp edx, 0xff
jne 0x40b95d
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x28
mov byte [ebx + 0x104], 0x28
mov edi, dword [edi + 0xc]
test edi, edi
je 0x40cf9c
mov edx, dword [edi + 4]
cmp edx, 1
jg 0x40cf9c
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40cf9c
mov eax, dword [ebx + 0x12c]
add edx, 1
add ecx, 1
mov dword [edi + 4], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x11c], ecx
mov ecx, edi
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], edi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
mov eax, dword [ebx + 0x100]
sub dword [edi + 4], 1
sub dword [ebx + 0x11c], 1
lea edx, [eax + 1]
cmp eax, 0xff
jne 0x40ba21
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x29
mov byte [ebx + 0x104], 0x29
jmp 0x407cb0
lea eax, [edx + 2]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx + 1], 0x69
mov byte [ebx + 0x104], 0x69
cmp eax, 0xff
jne 0x40e5ea
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x6e
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x409987
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x40e6ca
mov eax, dword [ebx + 0x10c]
mov esi, 0x6962
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov edx, 2
add dword [ebx + 0x128], 1
jmp 0x40651c
mov dword [ebx + 0x118], 1
jmp 0x408899
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x5b
mov byte [ebx + 0x104], 0x5b
cmp edx, 0xff
jne 0x40e4ce
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov edi, 0x6c63
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x6f
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x6e
mov byte [ebx + 0x104], 0x6e
cmp eax, 0xff
jne 0x40e529
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x65
mov edx, 1
add dword [ebx + 0x128], 1
jmp 0x408b83
mov dword [ebx + 0x118], 1
jmp 0x405b4f
lea eax, [edx + 2]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx + 1], 0x66
mov byte [ebx + 0x104], 0x66
cmp eax, 0xff
jne 0x40e721
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x726f
mov eax, 2
add dword [ebx + 0x128], 1
mov word [ebx], cx
jmp 0x40a01e
cmp eax, 0xff
je 0x40d565
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x5f
mov byte [ebx + 0x104], 0x5f
cmp edx, 0xff
jne 0x40dab6
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x61
mov edx, 0x7246
add dword [ebx + 0x128], 1
mov word [ebx], dx
mov edx, 3
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x63
mov byte [ebx + 0x104], 0x63
cmp eax, 0xff
jne 0x40cf01
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x74
mov byte [ebx + 0x104], 0x74
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp 0x406343
mov esi, dword [esi + 0xc]
test esi, esi
je 0x405990
cmp dword [esi], 0x2f
jne 0x40be93
mov eax, dword [ebx + 0x124]
test eax, eax
js 0x40be93
lea esi, [esi]
test eax, eax
je 0x40be88
mov esi, dword [esi + 0x10]
sub eax, 1
test esi, esi
je 0x405990
cmp dword [esi], 0x2f
je 0x40bd10
jmp 0x405990
mov dword [esp + 0x10], edi
mov edi, ecx
mov dword [ebx + 0x124], esi
test ebp, ebp
je 0x40be38
mov eax, dword [ebp + 4]
cmp eax, 1
jg 0x40be38
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40be38
add eax, 1
add edx, 1
mov ecx, ebp
mov dword [ebp + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], ebp
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [ebp + 4], 1
sub dword [ebx + 0x11c], 1
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40be50
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x2c
add eax, 2
mov byte [ebx + 0x104], 0x2c
cmp edx, 0xff
jne 0x40be0c
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
add esi, 1
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x20
mov byte [ebx + 0x104], 0x20
cmp esi, edi
jne 0x40bd36
mov edi, dword [esp + 0x10]
jmp 0x406640
mov dword [ebx + 0x118], 1
jmp 0x40bdac
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x2c
mov eax, 2
mov edx, 1
add dword [ebx + 0x128], 1
jmp 0x40be0c
mov esi, dword [esi + 0xc]
test esi, esi
je 0x405990
mov eax, dword [edi]
mov dword [ebx + 0x110], eax
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40d2ad
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jg 0x40d2ad
add eax, 1
add edx, 1
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
mov dword [ebx + 0x110], edi
jmp case.default.0x40bf54
mov eax, dword [edi + 0xc]
mov esi, dword [eax + 0x10]
cmp esi, 6
ja 0x40c050
test esi, esi
je 0x405e6e
mov ecx, dword [ecx + 0x10]
cmp dword [ecx], 0
jne 0x405e6e
cmp dword [esp + 0x10], 0x3e
je 0x40f120
mov edx, 0x11
mov eax, ebx
sub esi, 2
call fcn.0040f1b0
cmp esi, 4
ja case.default.0x40bf54
jmp dword [esi*4 + 0x51a028]
mov ecx, 2
mov edx, 0x519e8c
add esp, 0x8c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
jmp 0x4017a0
mov ecx, 2
mov edx, 0x519e89
jmp 0x40bf65
cmp dword [ebx + 0x100], 0xff
jne 0x40bfbf
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
xor ebp, ebp
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], ebp
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6c
mov byte [ebx + 0x104], 0x6c
jmp case.default.0x40bf54
cmp dword [ebx + 0x100], 0xff
jne 0x40c01b
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
xor eax, eax
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], eax
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x75
mov byte [ebx + 0x104], 0x75
jmp case.default.0x40bf54
mov ecx, 3
mov edx, 0x519e8f
jmp 0x40bf65
cmp esi, 7
jne 0x405e6e
mov eax, dword [ecx + 0x10]
cmp dword [eax], 0
jne 0x405e6e
cmp dword [eax + 0x10], 1
jne 0x405e6e
cmp dword [esp + 0x10], 0x3d
jne 0x405e6e
mov eax, dword [eax + 0xc]
movzx eax, byte [eax]
cmp al, 0x30
je 0x40f18a
cmp al, 0x31
jne 0x405e6e
mov ecx, 4
mov edx, str.true
jmp 0x40bf65
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x706f
mov byte [ebx + 2], 0x65
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x72
mov byte [ebx + 0x104], 0x72
cmp eax, 0xff
jne 0x4082a5
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov edi, 0x7461
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x6f
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x72
mov byte [ebx + 0x104], 0x72
cmp eax, 0xff
jne 0x4082ff
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x408302
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x65
mov edx, 0x706f
add dword [ebx + 0x128], 1
mov word [ebx], dx
mov edx, 3
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x72
mov byte [ebx + 0x104], 0x72
cmp eax, 0xff
jne 0x408706
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x7461
mov byte [ebx + 2], 0x6f
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x72
mov byte [ebx + 0x104], 0x72
cmp eax, 0xff
jne 0x408760
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x408763
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x5456
mov byte [ebx + 2], 0x54
mov ecx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea edx, [ecx + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], 0x20
mov byte [ebx + 0x104], 0x20
cmp edx, 0xff
jne 0x408ccb
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6f66
mov byte [ebx + 2], 0x72
mov word [ebx], ax
mov eax, 3
add dword [ebx + 0x128], 1
jmp 0x408d20
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x616a
mov byte [ebx + 2], 0x76
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x61
mov byte [ebx + 0x104], 0x61
cmp eax, 0xff
jne 0x40708a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov edi, 0x4320
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x6c
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x61
mov byte [ebx + 0x104], 0x61
cmp eax, 0xff
jne 0x4070e4
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x7373
mov byte [ebx + 2], 0x20
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x66
mov byte [ebx + 0x104], 0x66
cmp eax, 0xff
jne 0x40713e
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x726f
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 2
jmp 0x40718f
mov esi, dword [esi + 0xc]
test esi, esi
je 0x40d2da
mov ecx, dword [esi + 4]
cmp ecx, 1
jg 0x40d2da
mov edi, dword [ebx + 0x11c]
cmp edi, 0x400
jg 0x40d2da
mov eax, dword [ebx + 0x12c]
add ecx, 1
add edi, 1
mov edx, 0x11
mov dword [esi + 4], ecx
mov ecx, esi
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [ebx + 0x11c], edi
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov edx, dword [ebx + 0x100]
mov dword [ebx + 0x12c], eax
mov eax, edx
sub dword [esi + 4], 1
movzx ecx, byte [ebx + 0x104]
sub dword [ebx + 0x11c], 1
cmp dword [ebx + 0x148], 0
je 0x40c4e2
mov esi, dword [esp + 0x38]
mov dword [ebx + 0x110], esi
cmp cl, 0x3c
jne 0x40c535
cmp eax, 0xff
jne 0x40c521
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
xor esi, esi
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
xor eax, eax
mov dword [ebx + 0x100], esi
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
lea eax, [edx + 1]
cmp edx, 0xff
jne 0x40c570
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x3c
mov byte [ebx + 0x104], 0x3c
mov edx, dword [ebp + 0xc]
mov esi, dword [edx + 0x10]
test esi, esi
je 0x40d2cb
mov edx, dword [esi + 4]
cmp edx, 1
jg 0x40d2cb
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40d2cb
mov eax, dword [ebx + 0x12c]
add edx, 1
add ecx, 1
mov dword [esi + 4], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x11c], ecx
mov ecx, esi
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
cmp byte [ebx + 0x104], 0x3e
jne 0x40f199
cmp dword [ebx + 0x100], 0xff
jne 0x40c641
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
xor ecx, ecx
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], ecx
mov edx, dword [ebx + 0x100]
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x20
mov byte [ebx + 0x104], 0x20
lea edx, [eax + 1]
cmp eax, 0xff
jne 0x40c695
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x3e
mov byte [ebx + 0x104], 0x3e
jmp case.default.0x40bf54
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x706f
mov byte [ebx + 2], 0x65
mov ecx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea edx, [ecx + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], 0x72
mov byte [ebx + 0x104], 0x72
cmp edx, 0xff
jne 0x40903a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov edx, 0x7461
mov byte [ebx + 2], 0x6f
mov eax, 3
add dword [ebx + 0x128], 1
mov word [ebx], dx
jmp 0x40908f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x70
mov edx, 0x7974
add dword [ebx + 0x128], 1
mov word [ebx], dx
mov edx, 3
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x65
mov byte [ebx + 0x104], 0x65
cmp eax, 0xff
jne 0x407dea
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6e69
mov byte [ebx + 2], 0x66
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp eax, 0xff
jne 0x407e44
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x6620
mov byte [ebx + 2], 0x6f
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], cx
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x72
mov byte [ebx + 0x104], 0x72
cmp eax, 0xff
jne 0x407e9e
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x407ea1
cmp edx, 0xff
jne 0x40cded
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x7d
mov byte [ebx + 0x104], 0x7d
jmp case.default.0x40bf54
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x7476
mov byte [ebx + 2], 0x61
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x62
mov byte [ebx + 0x104], 0x62
cmp eax, 0xff
jne 0x40803a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x656c
mov byte [ebx + 2], 0x20
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x66
mov byte [ebx + 0x104], 0x66
cmp eax, 0xff
jne 0x408094
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov edx, 0x726f
mov eax, 2
add dword [ebx + 0x128], 1
mov word [ebx], dx
jmp 0x4080e5
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6c7b
mov byte [ebx + 2], 0x61
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x6d
mov byte [ebx + 0x104], 0x6d
cmp eax, 0xff
jne 0x406c0a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x6462
mov byte [ebx + 2], 0x61
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], cx
jmp 0x406c60
mov eax, dword [edi + 0xc]
mov ebp, dword [eax]
movzx eax, byte [ebp]
mov edx, eax
sub edx, 0x61
jne 0x40ca78
movzx edx, byte [ebp + 1]
sub edx, 0x64
jne 0x40ca78
movzx edx, byte [ebp + 2]
mov ecx, dword [esi]
test edx, edx
jne 0x40ca87
cmp ecx, 3
je 0x40eb28
cmp ecx, 0x39
je 0x40ee68
cmp eax, 0x73
jne 0x40caf1
cmp byte [ebp + 1], 0x5a
jne 0x40e8a7
movzx ecx, byte [ebp + 2]
test ecx, ecx
mov dword [esp + 0x10], ecx
jne 0x40e8a7
mov edx, esi
mov eax, ebx
call fcn.00401980
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x40cad9
jmp 0x40cade
mov edx, dword [eax + 0xc]
test edx, edx
je 0x40cade
mov eax, dword [eax + 0x10]
add ecx, 1
test eax, eax
je 0x40cade
cmp dword [eax], 0x2f
je 0x40cac8
add esp, 0x8c
mov eax, ebx
mov edx, ecx
pop ebx
pop esi
pop edi
pop ebp
jmp 0x401a70
mov eax, ebx
mov ecx, edi
mov edx, 0x11
call fcn.0040f3d0
movzx eax, byte [ebp]
cmp eax, 0x67
jne 0x40cb80
cmp byte [ebp + 1], 0x73
jne 0x40cb80
cmp byte [ebp + 2], 0
jne 0x40cb80
mov edx, dword [esi + 4]
cmp edx, 1
jg 0x40d556
mov eax, dword [ebx + 0x11c]
cmp eax, 0x400
jg 0x40d556
add edx, 1
add eax, 1
mov ecx, esi
mov dword [esi + 4], edx
mov edx, 0x11
mov dword [ebx + 0x11c], eax
mov eax, dword [ebx + 0x12c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
cmp eax, 0x73
jne 0x407cb0
cmp byte [ebp + 1], 0x74
jne 0x407cb0
cmp byte [ebp + 2], 0
jne 0x407cb0
mov edx, dword [ebx + 0x100]
cmp edx, 0xff
jne 0x40cbd6
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
xor edx, edx
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x28
mov byte [ebx + 0x104], 0x28
mov edx, dword [esi + 4]
cmp edx, 1
jg 0x40d547
mov ecx, dword [ebx + 0x11c]
cmp ecx, 0x400
jg 0x40d547
mov eax, dword [ebx + 0x12c]
add edx, 1
add ecx, 1
mov dword [esi + 4], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x11c], ecx
mov ecx, esi
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], esi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
mov eax, dword [ebx + 0x100]
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
cmp eax, 0xff
jne 0x40cc8a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
xor eax, eax
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x29
mov byte [ebx + 0x104], 0x29
jmp case.default.0x40bf54
lea ecx, [eax + 3]
mov dword [ebx + 0x100], ecx
mov byte [ebx + eax + 2], 0x65
mov byte [ebx + 0x104], 0x65
cmp ecx, 0xff
jne 0x40c6e5
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x6172
mov byte [ebx + 2], 0x74
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], cx
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp eax, 0xff
jne 0x40908f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x72
mov edx, 1
mov byte [ebx + 0x104], 0x72
mov esi, dword [ebp + 4]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], 1
movzx eax, byte [esi]
sub eax, 0x61
cmp al, 0x19
ja 0x409102
mov eax, 1
lea edx, [eax + 1]
jmp 0x4090f1
cmp edx, 0xff
je 0x40e57e
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x20
mov edx, eax
mov byte [ebx + 0x104], 0x20
jmp 0x40939b
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x40946f
mov edx, 1
lea eax, [edx + 1]
jmp 0x40c8c0
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov byte [ebx], 0x20
mov byte [ebx + 0x104], 0x20
cmp word [ebp + 0x10], 0
mov dword [ebx + 0x100], 1
je 0x40cea1
mov word [ebx + 1], 0x415f
mov edx, 3
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x63
mov byte [ebx + 0x104], 0x63
cmp eax, 0xff
jne 0x40d783
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x7563
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov eax, 2
add dword [ebx + 0x128], 1
lea edx, [eax + 1]
jmp 0x406428
mov word [ebx + 1], 0x465f
mov edx, 3
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x72
mov byte [ebx + 0x104], 0x72
cmp eax, 0xff
jne 0x40d59f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 0x6361
mov word [ebx], ax
mov eax, 2
lea edx, [eax + 1]
jmp 0x40bcc6
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov edx, 0x707b
mov byte [ebx + 2], 0x61
mov ecx, 3
add dword [ebx + 0x128], 1
mov word [ebx], dx
lea edx, [ecx + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], 0x72
mov byte [ebx + 0x104], 0x72
cmp edx, 0xff
jne 0x40ad5e
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x6d
mov eax, 1
add dword [ebx + 0x128], 1
lea edx, [eax + 1]
jmp 0x40adad
mov dword [ebx + 0x118], 1
jmp 0x40b9e7
mov eax, dword [ebx + 0x100]
cmp eax, 0xff
je 0x40e63f
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x5f
mov byte [ebx + 0x104], 0x5f
cmp edx, 0xff
jne 0x40d9e7
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x6153
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x74
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
jmp 0x4062cb
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
jmp 0x4093aa
cmp edx, 0xff
jne 0x40d09a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
xor edi, edi
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], edi
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x2d
mov byte [ebx + 0x104], 0x2d
jmp 0x40ac3f
mov eax, dword [ebx + 0x10c]
mov esi, 0x692d
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x6e
jmp 0x409987
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov edi, 0x6620
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov ecx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x6f
lea eax, [ecx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + ecx], 0x72
mov byte [ebx + 0x104], 0x72
cmp eax, 0xff
jne 0x40a01e
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x40a021
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x615b
mov byte [ebx + 2], 0x62
mov ecx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea edx, [ecx + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + ecx], 0x69
mov byte [ebx + 0x104], 0x69
cmp edx, 0xff
jne 0x40651c
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
jmp 0x40651f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x5b20
mov byte [ebx + 2], 0x63
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x6c
mov byte [ebx + 0x104], 0x6c
cmp eax, 0xff
jne 0x408b2d
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x6e6f
mov byte [ebx + 2], 0x65
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], cx
jmp 0x408b83
mov dword [ebx + 0x118], 1
jmp 0x40bf03
mov dword [ebx + 0x118], 1
jmp 0x406179
mov dword [ebx + 0x118], 1
jmp 0x40c65b
mov dword [ebx + 0x118], 1
test eax, eax
je 0x40c535
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x110], eax
jmp 0x40c535
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x40d538
mov edx, dword [esi + 4]
cmp edx, 1
jg 0x40d538
mov eax, dword [ebx + 0x11c]
cmp eax, 0x400
jg 0x40d538
add edx, 1
add eax, 1
mov ecx, esi
mov dword [esi + 4], edx
mov edx, 0x11
mov dword [ebx + 0x11c], eax
mov eax, dword [ebx + 0x12c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [esi + 4], 1
sub dword [ebx + 0x11c], 1
jmp case.default.0x40bf54
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x68
mov byte [ebx + 0x104], 0x68
cmp edx, 0xff
jne 0x40ec24
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x69
mov edx, 1
add dword [ebx + 0x128], 1
jmp 0x408475
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x70
mov byte [ebx + 0x104], 0x70
cmp edx, 0xff
jne 0x40eb99
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x7261
mov byte [ebx + 2], 0x6d
mov word [ebx], ax
mov eax, 3
add dword [ebx + 0x128], 1
jmp 0x40cf94
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x75
mov byte [ebx + 0x104], 0x75
cmp edx, 0xff
jne 0x40eb42
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov edx, 0x6f74
mov eax, 2
add dword [ebx + 0x128], 1
mov word [ebx], dx
jmp 0x40921c
lea ecx, [eax - 0x50]
lea eax, [esp + 0x60]
cmp ecx, 1
ja 0x4060d5
jmp 0x40b7b3
add eax, 1
add edx, 1
mov ecx, edi
mov dword [edi + 4], eax
mov eax, dword [ebx + 0x12c]
mov dword [ebx + 0x11c], edx
mov edx, 0x11
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
mov dword [ebx + 0x12c], eax
mov eax, ebx
mov dword [esp + 0x40], edi
call fcn.00405920
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x12c], eax
sub dword [edi + 4], 1
sub dword [ebx + 0x11c], 1
jmp 0x405f90
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
cmp dword [eax], 0x48
mov dword [esp + 0x18], eax
je 0x40eb14
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp eax, 0x4e
je 0x40e7d4
ja 0x40e7c8
sub eax, 0x1c
cmp eax, 4
jbe 0x40e7d4
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
jmp 0x4060ea
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov dword [ebx + 0x118], 1
jmp 0x40cc58
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x465f
mov byte [ebx + 2], 0x72
mov eax, 3
add dword [ebx + 0x128], 1
mov word [ebx], cx
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x40bc77
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x63
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x40cf01
lea eax, [esp + 0x30]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x30], edx
mov dword [ebx + 0x110], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], eax
test esi, esi
je 0x40d62c
mov eax, dword [esi + 4]
cmp eax, 1
jg 0x40d62c
mov edx, dword [ebx + 0x11c]
cmp edx, 0x400
jle 0x40611c
mov dword [ebx + 0x118], 1
jmp 0x40616f
mov eax, dword [ebx + 0x10c]
mov esi, 0x6874
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x69
jmp 0x408475
mov ecx, dword [ebx + 0x134]
test ecx, ecx
jle 0x40ee7e
mov edx, dword [ebx + 0x130]
xor eax, eax
mov esi, edi
jmp 0x40d6a6
add eax, 1
add edx, 8
cmp eax, ecx
je 0x40ee7e
cmp esi, dword [edx]
jne 0x40d698
mov esi, dword [ebx + 0x12c]
mov eax, esi
test esi, esi
je 0x40e926
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x18]
jmp 0x40d6db
cmp esi, eax
je 0x40d6d0
cmp ecx, ebp
je 0x40d6e1
mov eax, dword [eax + 4]
test eax, eax
je 0x40e922
mov ecx, dword [eax]
cmp ecx, edi
jne 0x40d6c8
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 0x110]
mov dword [esp + 0x14], eax
test eax, eax
je 0x405990
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 4]
mov edx, dword [ecx + 0xc]
mov eax, dword [eax + 0x10]
test edx, edx
js 0x40dc29
test eax, eax
jne 0x40d72a
jmp 0x40d72f
test edx, edx
je 0x40dc26
mov eax, dword [eax + 0x10]
sub edx, 1
test eax, eax
je 0x40d72f
cmp dword [eax], 0x2f
je 0x40d718
cmp dword [esp + 0x20], 0
je 0x405990
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x110], eax
jmp 0x405990
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x63
mov eax, 0x415f
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x63
mov byte [ebx + 0x104], 0x63
cmp edx, 0xff
jne 0x4063d9
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x75
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x40ce99
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x7561
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x74
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp eax, 0xff
jne 0x40921c
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x40921f
movzx eax, byte [eax]
lea edx, [eax - 0x72]
cmp dl, 1
jbe 0x40d87d
sub eax, 0x63
cmp al, 1
ja 0x407aa4
mov edx, 0x11
mov eax, ebx
call fcn.0040f3d0
cmp dword [ebx + 0x100], 0xff
jne 0x40d8c6
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
xor edi, edi
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], edi
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov edx, 0x11
mov byte [ebx + eax], 0x3c
mov byte [ebx + 0x104], 0x3c
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, ebx
call fcn.0040f1b0
mov edx, dword [ebx + 0x100]
cmp edx, 0xff
je 0x40e86e
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x3e
mov byte [ebx + 0x104], 0x3e
cmp eax, 0xff
jne 0x40e89f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
mov dword [ebx + 0x100], edx
mov edx, 0x11
mov byte [ebx + eax], 0x28
mov byte [ebx + 0x104], 0x28
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x10]
mov eax, ebx
call fcn.0040f1b0
cmp dword [ebx + 0x100], 0xff
jne 0x40d9b3
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
xor esi, esi
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], esi
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x29
mov byte [ebx + 0x104], 0x29
jmp case.default.0x40bf54
mov dword [ebx + 0x114], eax
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x53
mov byte [ebx + 0x104], 0x53
cmp edx, 0xff
jne 0x40ee11
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x7461
mov eax, 2
add dword [ebx + 0x128], 1
jmp 0x40d013
mov edx, dword [edi + 4]
cmp edx, 1
jg 0x40ac12
mov eax, 1
jmp 0x405ea0
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x41
mov byte [ebx + 0x104], 0x41
cmp edx, 0xff
jne 0x40ce44
mov eax, dword [ebx + 0x10c]
mov edi, 0x6363
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], di
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x75
jmp 0x40ce99
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x46
mov byte [ebx + 0x104], 0x46
cmp edx, 0xff
jne 0x40ceac
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6172
mov byte [ebx + 2], 0x63
mov word [ebx], ax
mov eax, 3
add dword [ebx + 0x128], 1
jmp 0x40cf01
mov byte [ebx + 1], 0x7b
mov eax, 2
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x64
mov byte [ebx + 0x104], 0x64
cmp edx, 0xff
jne 0x40eff1
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x6665
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x61
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x75
mov byte [ebx + 0x104], 0x75
cmp eax, 0xff
jne 0x40f049
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x746c
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x20
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x61
mov byte [ebx + 0x104], 0x61
cmp eax, 0xff
jne 0x40f0a0
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x6772
mov eax, 2
add dword [ebx + 0x128], 1
lea edx, [eax + 1]
jmp 0x40a6e1
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40d72f
mov edx, dword [eax]
mov esi, dword [esp + 0x20]
cmp edx, 0x2f
jne 0x40601e
mov edx, dword [ebx + 0x124]
test edx, edx
js 0x40accf
call fcn.00401860
test eax, eax
je 0x40d72f
mov edx, dword [eax]
jmp 0x40601e
lea edx, [eax + 3]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 2], 0x63
mov byte [ebx + 0x104], 0x63
cmp edx, 0xff
jne 0x40ab19
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x79
mov eax, 0x746c
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x70
mov byte [ebx + 0x104], 0x70
cmp edx, 0xff
jne 0x40ab72
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x2065
mov edx, 2
add dword [ebx + 0x128], 1
mov word [ebx], cx
jmp 0x40abc2
lea edx, [eax + 3]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 2], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x40c910
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x65
mov eax, 0x6c62
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
cmp edx, 0xff
jne 0x40c969
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x6f66
mov byte [ebx + 2], 0x72
mov eax, 3
add dword [ebx + 0x128], 1
mov word [ebx], cx
jmp 0x4080e5
lea ecx, [eax + 3]
mov dword [ebx + 0x100], ecx
mov byte [ebx + eax + 2], 0x6e
mov byte [ebx + 0x104], 0x6e
cmp ecx, 0xff
jne 0x40a87e
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x616e
mov byte [ebx + 2], 0x6d
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x65
mov byte [ebx + 0x104], 0x65
cmp eax, 0xff
jne 0x40a8d8
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov ecx, 0x2064
mov byte [ebx + 2], 0x74
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], cx
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x79
mov byte [ebx + 0x104], 0x79
cmp eax, 0xff
jne 0x40a932
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6570
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 2
jmp 0x40a983
lea edx, [eax + 3]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 2], 0x65
mov byte [ebx + 0x104], 0x65
cmp edx, 0xff
jne 0x40c0da
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x74
mov eax, 0x6172
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp edx, 0xff
jne 0x40c133
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x72
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x4082ff
lea edx, [eax + 3]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 2], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x40c9fd
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x626d
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x64
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x406c60
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
jmp 0x406c63
lea ecx, [eax + 3]
mov dword [ebx + 0x100], ecx
mov byte [ebx + eax + 2], 0x76
mov byte [ebx + 0x104], 0x76
cmp ecx, 0xff
jne 0x40a9d2
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x2061
mov byte [ebx + 2], 0x72
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x65
mov byte [ebx + 0x104], 0x65
cmp eax, 0xff
jne 0x40aa2c
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6f73
mov byte [ebx + 2], 0x75
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x72
mov byte [ebx + 0x104], 0x72
cmp eax, 0xff
jne 0x40aa86
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov edx, 0x6563
mov eax, 2
add dword [ebx + 0x128], 1
mov word [ebx], dx
jmp 0x40aad7
lea edx, [eax + 3]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 2], 0x70
mov byte [ebx + 0x104], 0x70
cmp edx, 0xff
jne 0x40c77e
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x6e
mov eax, 0x6965
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x66
mov byte [ebx + 0x104], 0x66
cmp edx, 0xff
jne 0x40c7d7
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x206f
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x66
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp edx, 0xff
jne 0x40c830
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x72
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x407e9e
lea edx, [eax + 3]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 2], 0x76
mov byte [ebx + 0x104], 0x76
cmp edx, 0xff
jne 0x40c341
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x43
mov eax, 0x2061
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6c
mov byte [ebx + 0x104], 0x6c
cmp edx, 0xff
jne 0x40c39a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov edx, 0x7361
mov byte [ebx + 2], 0x73
mov eax, 3
add dword [ebx + 0x128], 1
mov word [ebx], dx
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
cmp edx, 0xff
jne 0x40c3f3
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6f66
mov byte [ebx + 2], 0x72
mov word [ebx], ax
mov eax, 3
add dword [ebx + 0x128], 1
jmp 0x40718f
lea ecx, [eax + 3]
mov dword [ebx + 0x100], ecx
mov byte [ebx + eax + 2], 0x54
mov byte [ebx + 0x104], 0x54
cmp ecx, 0xff
jne 0x40c2a8
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6620
mov byte [ebx + 2], 0x6f
mov edx, 3
add dword [ebx + 0x128], 1
mov word [ebx], ax
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x72
mov byte [ebx + 0x104], 0x72
cmp eax, 0xff
jne 0x408d20
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x408d23
lea edx, [eax + 3]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 2], 0x65
mov byte [ebx + 0x104], 0x65
cmp edx, 0xff
jne 0x40c1c1
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx + 2], 0x74
mov eax, 0x6172
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 3
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp edx, 0xff
jne 0x40c21a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x72
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x408760
lea edx, [eax + 3]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 2], 0x63
mov byte [ebx + 0x104], 0x63
cmp edx, 0xff
jne 0x40d24f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov esi, 0x6f6c
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], si
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x6e
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x65
mov byte [ebx + 0x104], 0x65
cmp edx, 0xff
jne 0x408b83
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
jmp 0x408b86
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x20
mov edx, 1
add dword [ebx + 0x128], 1
jmp 0x4093a7
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x20
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x40946c
lea eax, [edx + 3]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx + 2], 0x6e
mov byte [ebx + 0x104], 0x6e
cmp eax, 0xff
jne 0x409987
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x40998a
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x535f
mov edx, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x61
lea eax, [edx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x74
mov byte [ebx + 0x104], 0x74
cmp eax, 0xff
jne 0x40d013
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x40d016
lea ecx, [eax + 3]
mov dword [ebx + 0x100], ecx
mov byte [ebx + eax + 2], 0x62
mov byte [ebx + 0x104], 0x62
cmp ecx, 0xff
jne 0x40d1c0
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x69
mov edx, 1
add dword [ebx + 0x128], 1
jmp 0x40651c
lea ecx, [edx + 3]
mov dword [ebx + 0x100], ecx
mov byte [ebx + edx + 2], 0x6f
mov byte [ebx + 0x104], 0x6f
cmp ecx, 0xff
jne 0x40d132
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x72
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x40a01e
mov ecx, ebp
mov edx, 0x11
mov eax, ebx
call fcn.0040f240
mov ecx, 3
mov edx, 0x519e9e
jmp 0x40bf65
sub eax, 0x50
cmp eax, 1
ja 0x40b7fd
mov eax, dword [esp + 0x18]
cmp dword [eax + 0xc], 0
lea eax, [esp + 0x70]
mov dword [ebx + 0x114], eax
je 0x40d9d8
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
sub eax, 0x50
cmp eax, 1
ja 0x40d52d
mov edi, dword [esp + 0x10]
cmp edi, 4
je 0x40d9d8
lea eax, [edi - 1]
shl edi, 4
shl eax, 4
lea ecx, [esp + edi + 0x40]
mov dword [esp + 0x20], edi
lea esi, [esp + eax + 0x40]
mov edi, ecx
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
lea ecx, [esi + eax]
mov esi, dword [esp + 0x14]
mov dword [esp + edi + 0x40], ecx
mov ecx, edi
xor edi, edi
add ecx, esi
mov esi, dword [esp + 0x18]
mov dword [esp + eax + 0x48], edi
mov dword [esp + eax + 0x4c], edx
mov edi, dword [esp + 0x10]
mov dword [esp + eax + 0x44], esi
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], ecx
mov dword [ebx + 0x114], ecx
lea ecx, [edi + 1]
mov dword [esp + 0x18], eax
test eax, eax
je 0x40d9d8
mov eax, dword [eax]
cmp eax, 0x4e
je 0x40ed02
ja 0x40ecf6
sub eax, 0x1c
cmp eax, 4
jbe 0x40ed02
mov dword [esp + 0x10], ecx
jmp 0x40d52d
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x3e
mov eax, 1
add dword [ebx + 0x128], 1
lea edx, [eax + 1]
jmp 0x40d953
cmp eax, 0x73
jne 0x40caf1
cmp byte [ebp + 1], 0x50
jne 0x40caf1
xor ecx, ecx
cmp byte [ebp + 2], 0
jne 0x40caf1
mov edi, ecx
jmp 0x40e8d8
add edi, 1
mov esi, dword [esi + 0x10]
test esi, esi
je 0x40ee0a
cmp dword [esi], 0x2f
jne 0x40ee0a
mov eax, dword [esi + 0xc]
test eax, eax
je 0x40ee0a
cmp dword [eax], 0x4c
jne 0x40e8ca
mov edx, dword [eax + 0xc]
mov eax, ebx
call fcn.00401980
xor edx, edx
test eax, eax
jne 0x40e919
jmp 0x40e91e
mov ebp, dword [eax + 0xc]
test ebp, ebp
je 0x40e91e
mov eax, dword [eax + 0x10]
add edx, 1
test eax, eax
je 0x40e91e
cmp dword [eax], 0x2f
je 0x40e908
add edi, edx
jmp 0x40e8cd
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 0x110]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x14], eax
mov dword [ebx + 0x110], eax
test eax, eax
je 0x40d73a
mov dword [esp + 0x20], 1
jmp 0x40d6f7
add eax, 2
mov dword [ebx + 0x100], eax
mov byte [ebx + edx], 0x7b
mov byte [ebx + 0x104], 0x7b
cmp eax, 0xff
jne 0x40db1f
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x6564
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x66
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x40db76
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x6c75
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x74
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
cmp edx, 0xff
jne 0x40dbcc
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x7261
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x67
jmp 0x40dc1e
lea ecx, [edx + 1]
mov dword [ebx + 0x100], ecx
mov byte [ebx + edx], 0x7d
mov byte [ebx + 0x104], 0x7d
cmp ecx, 0xff
jne 0x40eab6
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x3a
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x40a487
mov byte [ebx + 1], 0x7d
mov ecx, 2
lea eax, [ecx + 1]
mov dword [ebx + 0x100], eax
mov byte [ebx + ecx], 0x3a
mov byte [ebx + 0x104], 0x3a
cmp eax, 0xff
jne 0x40a487
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov edx, 1
xor eax, eax
jmp 0x40a48a
mov edx, 1
jmp 0x40ac7b
mov eax, dword [eax + 0xc]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x40d50c
jmp 0x40d9d8
mov edx, dword [esi + 0xc]
cmp dword [edx], 1
jne 0x40ca90
mov ecx, dword [esi + 0x10]
cmp dword [ecx], 0x29
cmove esi, edx
jmp 0x40ca90
lea edx, [eax + 3]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 2], 0x74
mov byte [ebx + 0x104], 0x74
cmp edx, 0xff
jne 0x40d813
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x6f
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x40921c
lea ecx, [eax + 3]
mov dword [ebx + 0x100], ecx
mov byte [ebx + eax + 2], 0x61
mov byte [ebx + 0x104], 0x61
cmp ecx, 0xff
jne 0x40cf43
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov eax, 0x6d72
add dword [ebx + 0x128], 1
mov word [ebx], ax
mov eax, 2
jmp 0x40cf94
mov dword [esp + 4], 0x519e7a
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x40ef10
mov eax, dword [ebp + 0x10]
mov edx, 0x11
mov ecx, dword [eax + 0x10]
mov eax, ebx
call fcn.0040f240
jmp 0x407c02
lea edx, [eax + 3]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 2], 0x69
mov byte [ebx + 0x104], 0x69
cmp edx, 0xff
jne 0x408475
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
add dword [ebx + 0x128], 1
mov eax, 1
xor edx, edx
jmp 0x408478
mov eax, dword [eax + 0xc]
cmp dword [eax + 8], 1
jne 0x407ae0
mov eax, dword [eax + 4]
cmp byte [eax], 0x3e
jne 0x407ae0
cmp dword [ebx + 0x100], 0xff
jne 0x40ecd0
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
xor ecx, ecx
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], ecx
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x28
mov byte [ebx + 0x104], 0x28
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
jmp 0x407ae0
sub eax, 0x50
cmp eax, 1
ja 0x40e865
cmp ecx, 4
je 0x40d9d8
mov eax, dword [esp + 0x10]
shl ecx, 4
add dword [esp + 0x10], 2
mov dword [esp + 0x28], ecx
lea edi, [esp + ecx + 0x40]
mov ecx, 4
shl eax, 4
mov dword [esp + 0x2c], eax
lea eax, [esp + eax + 0x40]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
mov dword [esp + ecx + 0x40], esi
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
mov dword [esp + edi + 0x4c], edx
lea eax, [ecx + esi + 0x10]
mov ecx, dword [esp + 0x18]
xor esi, esi
mov dword [esp + edi + 0x48], esi
mov dword [esp + edi + 0x44], ecx
mov edi, dword [ecx + 0xc]
mov dword [ebx + 0x114], eax
mov dword [esp + 0x18], edi
test edi, edi
je 0x40d9d8
mov ecx, dword [edi]
cmp ecx, 0x4e
je 0x40ed8f
ja 0x40f10f
sub ecx, 0x1c
cmp ecx, 4
ja 0x40d52d
cmp dword [esp + 0x10], 4
je 0x40d9d8
lea edi, [esp + 0x70]
lea esi, [esp + 0x60]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x20]
xor ecx, ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
lea eax, [eax + edi + 0x20]
mov dword [ebx + 0x114], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x64], eax
mov eax, dword [eax + 0xc]
mov dword [esp + 0x18], eax
test eax, eax
je 0x40d9d8
mov eax, dword [eax]
cmp eax, 0x4e
je 0x40d9d8
ja 0x40f0f6
sub eax, 0x1c
mov dword [esp + 0x10], 4
cmp eax, 4
ja 0x40d52d
jmp 0x40d9d8
mov ecx, edi
jmp 0x40cade
lea edx, [eax + 3]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 2], 0x61
mov byte [ebx + 0x104], 0x61
cmp edx, 0xff
jne 0x40e676
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x74
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x40d013
mov ecx, dword [esi + 0xc]
mov edx, 0x11
mov eax, ebx
call fcn.0040f240
mov ecx, edi
jmp 0x407ccb
cmp dword [ebx + 0x138], ecx
jle 0x40eeef
mov eax, dword [ebx + 0x130]
lea eax, [eax + ecx*8]
add ecx, 1
mov dword [ebx + 0x134], ecx
mov ecx, dword [esp + 0x18]
lea esi, [eax + 4]
mov dword [eax], ecx
mov eax, dword [ebx + 0x110]
test eax, eax
je 0x40ef4d
mov ecx, dword [ebx + 0x144]
mov dword [esp + 0x24], edi
mov dword [esp + 0x14], ecx
mov ecx, dword [ebx + 0x140]
jmp 0x40eee7
mov edx, dword [ebx + 0x13c]
mov edi, dword [eax + 4]
lea edx, [edx + ecx*8]
add ecx, 1
mov dword [ebx + 0x140], ecx
mov dword [edx + 4], edi
mov dword [esi], edx
mov eax, dword [eax]
mov esi, edx
test eax, eax
je 0x40ef49
mov edx, dword [esp + 0x14]
cmp ecx, edx
jl 0x40eec5
mov dword [ebx + 0x118], 1
jmp case.default.0x40bf54
mov eax, dword [ebx + 0x110]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
jmp 0x406040
mov ecx, esi
mov edx, 0x11
mov eax, ebx
call fcn.0040f3d0
jmp 0x40ec0d
mov eax, dword [ecx + 0x10]
cmp dword [eax], 0x29
je 0x40ef35
mov dword [ebx + 0x118], 1
mov ecx, dword [ecx + 0xc]
mov edx, 0x11
mov eax, ebx
call fcn.0040f240
jmp 0x407b1d
mov edi, dword [esp + 0x24]
xor eax, eax
mov dword [esi], eax
jmp 0x40d6e5
mov ecx, 4
mov edx, str.new
mov eax, ebx
call 0x4017a0
cmp dword [edi + 0xc], 0
je 0x40efd2
mov ecx, edi
mov edx, 0x11
mov eax, ebx
call fcn.0040f240
cmp dword [ebx + 0x100], 0xff
jne 0x40efb8
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
xor eax, eax
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], eax
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x20
mov byte [ebx + 0x104], 0x20
mov ecx, dword [esp + 0x10]
mov edx, 0x11
mov eax, ebx
call fcn.0040f1b0
test ebp, ebp
je case.default.0x40bf54
mov ecx, ebp
jmp 0x407cb2
lea edx, [eax + 2]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax + 1], 0x65
mov byte [ebx + 0x104], 0x65
cmp edx, 0xff
jne 0x40a5e6
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x6166
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x75
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x6c
mov byte [ebx + 0x104], 0x6c
cmp edx, 0xff
jne 0x40a63c
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov word [ebx], 0x2074
mov eax, 3
add dword [ebx + 0x128], 1
mov byte [ebx + 2], 0x61
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x72
mov byte [ebx + 0x104], 0x72
cmp edx, 0xff
jne 0x40a692
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
mov byte [ebx], 0x67
mov eax, 1
add dword [ebx + 0x128], 1
jmp 0x40dc1e
sub eax, 0x50
cmp eax, 1
jbe 0x40d9d8
mov dword [esp + 0x10], 4
jmp 0x40d52d
sub ecx, 0x50
cmp ecx, 1
ja 0x40d52d
jmp 0x40ed8f
cmp dword [ebx + 0x100], 0xff
jne 0x40f15d
mov eax, dword [ebx + 0x10c]
mov byte [ebx + 0xff], 0
mov dword [esp + 4], 0xff
mov dword [esp + 8], eax
mov dword [esp], ebx
call dword [ebx + 0x108]
xor eax, eax
add dword [ebx + 0x128], 1
mov dword [ebx + 0x100], eax
mov eax, dword [ebx + 0x100]
lea edx, [eax + 1]
mov dword [ebx + 0x100], edx
mov byte [ebx + eax], 0x2d
mov byte [ebx + 0x104], 0x2d
mov ecx, dword [ebp + 0x10]
jmp 0x40bf3c
mov eax, dword [ebx + 0x100]
jmp 0x409461
mov ecx, 5
mov edx, str.false
jmp 0x40bf65
mov eax, dword [ebx + 0x100]
jmp 0x40c65b