Function at 0x443b89
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xa8
movups xmm0, xmmword [0x4e18e8]
mov eax, ecx
mov dword [esp + 0xc], eax
push esi
push edi
movups xmmword [esp + 0x50], xmm0
test eax, eax
je 0x4440af
mov esi, dword [eax + 0x18]
cmp esi, 1
jne 0x442c40
mov esi, dword [eax]
movzx eax, byte [esi]
and eax, 7
add eax, 0xfffffffe
cmp eax, 5
ja case.default.0x441fd8
jmp dword [eax*4 + 0x4440b8]
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov edi, dword [esi + 8]
shrd ecx, eax, 8
mov dword [esp + 0x14], ecx
cmp ecx, 0x2aaaaaa7
jae case.default.0x441fd8
lea eax, [ecx + ecx*2]
lea eax, [eax*2 + 4]
push eax
push 0
call fcn.00429770
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
je case.default.0x441fd8
mov edx, dword [esp + 0x14]
lea esi, [eax + 1]
add edx, edi
mov byte [eax], 0x22
mov dword [esp + 0x34], edx
nop dword [eax]
mov cl, byte [edi]
movzx eax, cl
cmp byte [eax + 0x4de940], 0
jne 0x442295
lea eax, [edi + 1]
mov dword [esp + 0x14], eax
movzx eax, byte [eax]
cmp byte [eax + 0x4de940], 0
je 0x442061
mov edi, dword [esp + 0x14]
mov byte [esi], cl
inc esi
jmp 0x442295
movzx eax, byte [edi + 2]
cmp byte [eax + 0x4de940], 0
je 0x44207f
mov ax, word [edi]
mov word [esi], ax
add esi, 2
add edi, 2
jmp 0x442295
movzx eax, byte [edi + 3]
cmp byte [eax + 0x4de940], 0
je 0x4420a3
mov ax, word [edi]
mov word [esi], ax
mov al, byte [edi + 2]
mov byte [esi + 2], al
add esi, 3
add edi, 3
jmp 0x442295
movzx eax, byte [edi + 4]
cmp byte [eax + 0x4de940], 0
je 0x4420bf
mov eax, dword [edi]
mov dword [esi], eax
add esi, 4
add edi, 4
jmp 0x442295
movzx eax, byte [edi + 5]
cmp byte [eax + 0x4de940], 0
je 0x4420e1
mov eax, dword [edi]
mov dword [esi], eax
mov al, byte [edi + 4]
mov byte [esi + 4], al
add esi, 5
add edi, 5
jmp 0x442295
movzx eax, byte [edi + 6]
cmp byte [eax + 0x4de940], 0
je 0x442105
mov eax, dword [edi]
mov dword [esi], eax
mov ax, word [edi + 4]
mov word [esi + 4], ax
add esi, 6
add edi, 6
jmp 0x442295
movzx eax, byte [edi + 7]
cmp byte [eax + 0x4de940], 0
je 0x44212f
mov eax, dword [edi]
mov dword [esi], eax
mov ax, word [edi + 4]
mov word [esi + 4], ax
mov al, byte [edi + 6]
mov byte [esi + 6], al
add esi, 7
add edi, 7
jmp 0x442295
lea eax, [edi + 8]
mov dword [esp + 0x14], eax
movzx eax, byte [eax]
cmp byte [eax + 0x4de940], 0
je 0x442158
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov edi, dword [esp + 0x14]
mov dword [esi], eax
mov dword [esi + 4], ecx
add esi, 8
jmp 0x442295
movzx eax, byte [edi + 9]
cmp byte [eax + 0x4de940], 0
je 0x44217e
movq xmm0, qword [edi]
movq qword [esi], xmm0
mov al, byte [edi + 8]
mov byte [esi + 8], al
add esi, 9
add edi, 9
jmp 0x442295
movzx eax, byte [edi + 0xa]
cmp byte [eax + 0x4de940], 0
je 0x4421a6
movq xmm0, qword [edi]
movq qword [esi], xmm0
mov ax, word [edi + 8]
mov word [esi + 8], ax
add esi, 0xa
add edi, 0xa
jmp 0x442295
movzx eax, byte [edi + 0xb]
cmp byte [eax + 0x4de940], 0
je 0x4421d4
movq xmm0, qword [edi]
movq qword [esi], xmm0
mov ax, word [edi + 8]
mov word [esi + 8], ax
mov al, byte [edi + 0xa]
mov byte [esi + 0xa], al
add esi, 0xb
add edi, 0xb
jmp 0x442295
movzx eax, byte [edi + 0xc]
cmp byte [eax + 0x4de940], 0
je 0x4421fa
movq xmm0, qword [edi]
movq qword [esi], xmm0
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
add esi, 0xc
add edi, 0xc
jmp 0x442295
movzx eax, byte [edi + 0xd]
cmp byte [eax + 0x4de940], 0
je 0x442223
movq xmm0, qword [edi]
movq qword [esi], xmm0
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
mov al, byte [edi + 0xc]
mov byte [esi + 0xc], al
add esi, 0xd
add edi, 0xd
jmp 0x442295
movzx eax, byte [edi + 0xe]
cmp byte [eax + 0x4de940], 0
je 0x44224e
movq xmm0, qword [edi]
movq qword [esi], xmm0
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
mov ax, word [edi + 0xc]
mov word [esi + 0xc], ax
add esi, 0xe
add edi, 0xe
jmp 0x442295
movzx eax, byte [edi + 0xf]
cmp byte [eax + 0x4de940], 0
je 0x44227f
movq xmm0, qword [edi]
movq qword [esi], xmm0
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
mov ax, word [edi + 0xc]
mov word [esi + 0xc], ax
mov al, byte [edi + 0xe]
mov byte [esi + 0xe], al
add esi, 0xf
add edi, 0xf
jmp 0x442295
movups xmm0, xmmword [edi]
movups xmmword [esi], xmm0
add esi, 0x10
add edi, 0x10
jmp 0x442030
inc edi
mov edx, dword [esp + 0x34]
cmp edi, edx
jae 0x44244f
mov dh, byte [edi]
movzx eax, dh
movzx ecx, byte [eax + 0x4de940]
cmp ecx, 5
ja case.default.0x4422ae
jmp dword [ecx*4 + 0x4440d0]
mov ax, word [eax*2 + str._________________b_t_n___f_r___________________________________________________________________________________________________________________________________________________________]
mov word [esi], ax
add esi, 2
jmp 0x442290
mov dword [esp + 0x38], 0x3030755c
mov eax, dword [esp + 0x38]
mov dword [esi], eax
movzx eax, byte [edi]
mov ax, word [eax*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [esi + 4], ax
add esi, 6
jmp 0x442290
mov cl, byte [edi + 1]
mov word [esp + 0x18], 0x755c
movzx eax, word [esp + 0x18]
mov word [esi], ax
movzx edx, dh
and edx, 0x1f
movzx eax, cl
and eax, 0x3f
shl edx, 6
or edx, eax
mov eax, edx
shr eax, 8
movzx eax, word [eax*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [esi + 2], ax
movzx eax, dl
movzx eax, word [eax*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [esi + 4], ax
add esi, 6
add edi, 2
jmp case.default.0x4422ae
mov cl, byte [edi + 1]
mov dl, byte [edi + 2]
mov word [esp + 0x30], 0x755c
movzx eax, word [esp + 0x30]
mov word [esi], ax
movzx ecx, cl
and ecx, 0x3f
movzx eax, dh
shl eax, 6
or ecx, eax
movzx eax, dl
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx ecx, cx
mov eax, ecx
shr eax, 8
movzx eax, word [eax*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [esi + 2], ax
movzx eax, cl
movzx eax, word [eax*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [esi + 4], ax
add esi, 6
add edi, 3
jmp case.default.0x4422ae
movzx eax, byte [edi + 1]
and eax, 0x3f
movzx edx, dh
and edx, 7
mov word [esp + 0x1c], 0x755c
shl edx, 6
or edx, eax
mov word [esp + 0x40], 0x755c
movzx eax, byte [edi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [edi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, word [esp + 0x1c]
mov word [esi], ax
sub edx, 0x10000
mov ecx, edx
and edx, 0x3ff
shr ecx, 0xa
add edx, 0xdc00
add ecx, 0xd800
mov eax, ecx
shr eax, 8
movzx eax, word [eax*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [esi + 2], ax
movzx eax, cl
movzx eax, word [eax*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [esi + 4], ax
movzx eax, word [esp + 0x40]
mov word [esi + 6], ax
mov eax, edx
shr eax, 8
movzx eax, word [eax*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [esi + 8], ax
movzx eax, dl
movzx eax, word [eax*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [esi + 0xa], ax
add esi, 0xc
add edi, 4
jmp case.default.0x4422ae
mov byte [esi], dh
inc esi
mov edx, dword [esp + 0x34]
inc edi
jmp 0x442030
mov byte [esi], 0x22
lea edi, [esi + 1]
mov edx, dword [esp + 0x3c]
mov eax, edx
mov byte [edi], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x20
push 0
call fcn.00429770
mov ecx, eax
add esp, 8
mov dword [esp + 0x3c], ecx
test ecx, ecx
je case.default.0x441fd8
mov eax, dword [esi]
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 8]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [esi]
and eax, 0x10
mov dword [esp + 0x4c], edx
or eax, 0
je 0x4424b5
push edx
push edi
mov edx, 1
call fcn.00440210
add esp, 8
mov edi, eax
jmp 0x442b1a
mov esi, edi
mov eax, edx
mov edx, dword [esp + 0x14]
neg esi
mov dword [esp + 0xc], esi
adc eax, 0
neg eax
mov dword [esp + 0x38], eax
and edx, 8
je 0x4424d6
mov edx, 1
cmp dword [esp + 0x4c], 0
jg 0x4424ed
jl 0x4424e3
test edi, edi
jae 0x4424ed
mov dword [esp + 0x14], 1
jmp 0x4424f5
mov dword [esp + 0x14], 0
mov byte [ecx], 0x2d
and edx, dword [esp + 0x14]
jne 0x44250c
mov eax, dword [esp + 0x4c]
mov esi, edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x38], eax
lea edi, [edx + ecx]
mov dword [esp + 0x10], edi
test eax, eax
ja 0x44268d
jb 0x442529
cmp esi, 0x5f5e100
jae 0x44268d
cmp esi, 0x64
jae 0x442552
cmp esi, 0xa
sbb ecx, ecx
neg ecx
mov ax, word [ecx + esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi], ax
mov eax, 2
sub eax, ecx
add edi, eax
mov dword [esp + 0x10], edi
jmp 0x442b1a
cmp esi, 0x2710
jae 0x442594
imul edx, esi, 0x147b
shr edx, 0x13
cmp edx, 0xa
sbb ecx, ecx
neg ecx
movzx eax, word [ecx + edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi], ax
sub edi, ecx
imul eax, edx, 0x64
sub esi, eax
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 2], ax
add edi, 4
mov dword [esp + 0x10], edi
jmp 0x442b1a
mov eax, esi
cmp esi, 0xf4240
jae 0x4425fb
mov ecx, 0x68db9
mul ecx
imul eax, edx, 0x2710
sub esi, eax
mov dword [esp + 0xc], esi
imul esi, esi, 0x147b
shr esi, 0x13
cmp edx, 0xa
sbb ecx, ecx
neg ecx
movzx eax, word [ecx + edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi], ax
sub edi, ecx
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ecx, dword [esp + 0xc]
mov word [edi + 2], ax
imul eax, esi, 0x64
sub ecx, eax
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 4], ax
add edi, 6
mov dword [esp + 0x10], edi
jmp 0x442b1a
mov ecx, 0x68db8bb
mul ecx
mov edi, edx
shr edi, 8
imul eax, edi, 0x2710
mov dword [esp + 0x14], edi
sub esi, eax
mov dword [esp + 0xc], esi
imul edx, dword [esp + 0xc], 0x147b
imul esi, edi, 0x147b
mov edi, dword [esp + 0x10]
shr edx, 0x13
shr esi, 0x13
cmp esi, 0xa
sbb ecx, ecx
neg ecx
sub dword [esp + 0x10], ecx
movzx eax, word [ecx + esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ecx, dword [esp + 0x10]
mov word [edi], ax
mov edi, dword [esp + 0x14]
imul eax, esi, 0x64
sub edi, eax
movzx eax, word [edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 2], ax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 4], ax
imul eax, edx, 0x64
mov edx, dword [esp + 0xc]
sub edx, eax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 6], ax
add ecx, 8
mov dword [esp + 0x10], ecx
mov edi, ecx
jmp 0x442b1a
mov eax, esi
mov ecx, 0x8461cefd
mul ecx
mov edi, 0xabcc7711
mov dword [esp + 0x68], eax
mov esi, edx
mov eax, dword [esp + 0xc]
mul edi
mov edi, eax
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x38]
mul ecx
mov ecx, eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x38]
mov edx, 0xabcc7711
mul edx
add ecx, esi
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x14]
adc edx, 0
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x2c]
add edi, ecx
mov ecx, dword [esp + 0x4c]
adc ecx, 0
mov dword [esp + 0x68], edi
xor eax, eax
add edx, ecx
mov ecx, dword [esp + 0x34]
adc eax, eax
add esi, edx
adc ecx, eax
shrd esi, ecx, 0x1a
shr ecx, 0x1a
cmp dword [esp + 0x38], 0x2386f2
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2c], esi
ja 0x4428ff
jb 0x442723
cmp ecx, 0x6fc10000
jae 0x4428ff
imul eax, esi, 0x5f5e100
sub ecx, eax
mov dword [esp + 0xc], ecx
mov ecx, 0x68db8bb
cmp esi, 0x64
jae 0x44275d
mov edi, dword [esp + 0x10]
cmp esi, 0xa
sbb ecx, ecx
neg ecx
mov ax, word [ecx + esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi], ax
mov eax, 2
sub eax, ecx
add edi, eax
jmp 0x442888
cmp esi, 0x2710
jae 0x44279f
mov edi, dword [esp + 0x10]
imul edx, esi, 0x147b
shr edx, 0x13
cmp edx, 0xa
sbb ecx, ecx
neg ecx
movzx eax, word [ecx + edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi], ax
sub edi, ecx
imul eax, edx, 0x64
sub esi, eax
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 2], ax
add edi, 4
jmp 0x442888
mov eax, esi
cmp esi, 0xf4240
jae 0x442806
mov ecx, 0x68db9
mov edi, dword [esp + 0x10]
mul ecx
imul eax, edx, 0x2710
sub esi, eax
mov dword [esp + 0x2c], esi
imul esi, esi, 0x147b
shr esi, 0x13
cmp edx, 0xa
sbb ecx, ecx
neg ecx
movzx eax, word [ecx + edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi], ax
sub edi, ecx
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ecx, dword [esp + 0x2c]
mov word [edi + 2], ax
imul eax, esi, 0x64
sub ecx, eax
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 4], ax
add edi, 6
jmp 0x442888
mul ecx
mov edi, edx
shr edi, 8
imul eax, edi, 0x2710
mov dword [esp + 0x14], edi
sub esi, eax
mov dword [esp + 0x2c], esi
imul edx, dword [esp + 0x2c], 0x147b
imul esi, edi, 0x147b
mov edi, dword [esp + 0x10]
shr edx, 0x13
shr esi, 0x13
cmp esi, 0xa
sbb ecx, ecx
neg ecx
sub dword [esp + 0x10], ecx
movzx eax, word [ecx + esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi], ax
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
imul eax, esi, 0x64
sub edi, eax
movzx eax, word [edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov edi, dword [esp + 0x10]
mov word [edi + 2], ax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 4], ax
imul eax, edx, 0x64
sub ecx, eax
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 6], ax
add edi, 8
mov ecx, dword [esp + 0xc]
mov edx, 0x68db8bb
mov eax, ecx
mul edx
mov esi, edx
shr esi, 8
imul eax, esi, 0x2710
sub ecx, eax
mov dword [esp + 0xc], ecx
imul edx, dword [esp + 0xc], 0x147b
imul ecx, esi, 0x147b
shr edx, 0x13
shr ecx, 0x13
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi], ax
imul eax, ecx, 0x64
mov ecx, dword [esp + 0xc]
sub esi, eax
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 2], ax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 4], ax
imul eax, edx, 0x64
sub ecx, eax
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 6], ax
add edi, 8
jmp 0x442b1a
imul eax, esi, 0x5f5e100
mov edi, 0x346dc5d6
sub ecx, eax
mov eax, esi
mov dword [esp + 0xc], ecx
mov ecx, 0x3886594b
mul ecx
mov dword [esp + 0x68], eax
mov esi, edx
mov eax, dword [esp + 0x2c]
mul edi
mov edi, eax
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x34]
mul ecx
mov ecx, eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x34]
mov edx, 0x346dc5d6
mul edx
add ecx, esi
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x14]
adc edx, 0
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0x38]
add edi, ecx
mov ecx, dword [esp + 0x4c]
adc ecx, 0
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0x2c]
xor eax, eax
add edx, ecx
mov ecx, dword [esp + 0x74]
adc eax, eax
add esi, edx
adc ecx, eax
shrd esi, ecx, 0xb
mov ecx, 0x68db8bb
imul eax, esi, 0x2710
sub edi, eax
mov eax, esi
mov dword [esp + 0x2c], edi
cmp esi, 0xf4240
jae 0x4429f2
mov ecx, 0x68db9
mul ecx
imul eax, edx, 0x2710
sub esi, eax
mov dword [esp + 0x38], esi
imul esi, esi, 0x147b
shr esi, 0x13
cmp edx, 0xa
sbb ecx, ecx
neg ecx
movzx eax, word [ecx + edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov edx, dword [esp + 0x10]
mov word [edx], ax
sub edx, ecx
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ecx, dword [esp + 0x38]
mov word [edx + 2], ax
imul eax, esi, 0x64
sub ecx, eax
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edx + 4], ax
add edx, 6
jmp 0x442a78
mul ecx
mov edi, edx
shr edi, 8
imul eax, edi, 0x2710
mov dword [esp + 0x14], edi
sub esi, eax
mov dword [esp + 0x38], esi
imul edx, dword [esp + 0x38], 0x147b
imul esi, edi, 0x147b
mov edi, dword [esp + 0x10]
shr edx, 0x13
shr esi, 0x13
cmp esi, 0xa
sbb ecx, ecx
neg ecx
sub dword [esp + 0x10], ecx
movzx eax, word [ecx + esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ecx, dword [esp + 0x10]
mov word [edi], ax
mov edi, dword [esp + 0x14]
imul eax, esi, 0x64
sub edi, eax
movzx eax, word [edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov edi, dword [esp + 0x2c]
mov word [ecx + 2], ax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 4], ax
imul eax, edx, 0x64
mov edx, dword [esp + 0x38]
sub edx, eax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
lea edx, [ecx + 8]
mov word [ecx + 6], ax
imul ecx, edi, 0x147b
shr ecx, 0x13
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edx], ax
imul eax, ecx, 0x64
mov ecx, 0x68db8bb
sub edi, eax
movzx eax, word [edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov edi, dword [esp + 0xc]
mov word [edx + 2], ax
add edx, 4
mov eax, edi
mov dword [esp + 0x14], edx
mul ecx
mov esi, edx
shr esi, 8
imul eax, esi, 0x2710
imul ecx, esi, 0x147b
sub edi, eax
shr ecx, 0x13
imul edx, edi, 0x147b
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x14]
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
shr edx, 0x13
mov word [edi], ax
imul eax, ecx, 0x64
mov ecx, edi
mov edi, dword [esp + 0xc]
sub esi, eax
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 2], ax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 4], ax
imul eax, edx, 0x64
sub edi, eax
movzx eax, word [edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
lea edi, [ecx + 8]
mov word [ecx + 6], ax
test edi, edi
jne 0x442455
mov eax, dword [esp + 0x3c]
push eax
push dword [esp + 0x60]
call dword [esp + 0x60]
add esp, 8
xor edx, edx
mov eax, edx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 8
push 0
call fcn.00429770
mov edx, eax
add esp, 8
test edx, edx
je case.default.0x441fd8
mov cl, byte [esi]
and cl, 0x18
je 0x442b67
mov dword [esp + 0x20], 0x65757274
mov dword [esp + 0x24], 0xa2c
jmp 0x442b77
mov dword [esp + 0x20], 0x736c6166
mov dword [esp + 0x24], 0xa2c65
mov eax, dword [esp + 0x20]
mov edi, edx
mov esi, dword [esp + 0x24]
mov dword [edx], eax
xor eax, eax
test cl, cl
mov dword [edx + 4], esi
setne al
sub edi, eax
mov eax, edx
add edi, 5
mov byte [edi], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 8
push 0
call fcn.00429770
mov edx, eax
add esp, 8
test edx, edx
je case.default.0x441fd8
mov dword [esp + 0x20], 0x6c6c756e
lea edi, [edx + 4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], 0xa2c
mov ecx, dword [esp + 0x24]
mov dword [edx], eax
mov eax, edx
mov dword [edx + 4], ecx
mov byte [edi], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 4
push 0
call fcn.00429770
mov edx, eax
add esp, 8
test edx, edx
je case.default.0x441fd8
mov word [esp + 0x18], 0x5d5b
lea edi, [edx + 2]
mov ax, word [esp + 0x18]
mov word [edx], ax
mov eax, edx
mov byte [edi], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 4
push 0
call fcn.00429770
mov edx, eax
add esp, 8
test edx, edx
je case.default.0x441fd8
mov word [esp + 0x18], 0x7d7b
lea edi, [edx + 2]
mov ax, word [esp + 0x18]
mov word [edx], ax
mov eax, edx
mov byte [edi], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
shl esi, 5
add esi, 0x40
push esi
push 0
mov dword [esp + 0x44], esi
call fcn.00429770
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x4440af
lea ecx, [esi + eax]
mov edi, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], 1
mov esi, dword [eax]
mov al, byte [esi]
mov edx, dword [esi]
and al, 7
cmp al, 7
sete al
mov byte [esp + 0x40], al
mov eax, dword [esi + 4]
add esi, 0x10
shrd edx, eax, 8
mov ah, byte [esp + 0x40]
mov cl, ah
mov dword [esp + 0x38], esi
shl edx, cl
mov al, ah
mov ecx, dword [esp + 0x10]
shl al, 5
or al, 0x5b
mov dword [esp + 0x34], edx
lea edx, [ecx + 1]
mov byte [edx], 0xa
inc edx
mov byte [ecx], al
mov al, byte [esi]
mov esi, dword [esp + 0x3c]
and al, 7
movzx ecx, al
sub ecx, 2
mov dword [esp + 0xc], edx
mov byte [esp + 0x1c], al
cmp ecx, 5
ja case.default.0x442cd8
jmp dword [ecx*4 + 0x4440e8]
mov ecx, dword [esp + 0x34]
mov al, cl
mov edi, dword [esp + 0x38]
not al
and al, ah
and ah, cl
mov byte [esp + 0x18], al
mov byte [esp + 0x1c], ah
mov ecx, dword [edi]
mov eax, dword [edi + 4]
mov edi, dword [edi + 8]
shrd ecx, eax, 8
mov dword [esp + 0x30], edi
mov dword [esp + 0x60], ecx
cmp ecx, 0x2aaaaaa7
jae 0x444066
cmp byte [esp + 0x1c], 0
je 0x442d28
mov dword [esp + 0x14], 0
jmp 0x442d33
mov eax, dword [esp + 0x44]
shl eax, 2
mov dword [esp + 0x14], eax
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x14]
lea eax, [ecx + eax*2]
lea ecx, [eax + 0x10]
add eax, 0x10
add eax, edx
mov dword [esp + 0x14], ecx
cmp eax, dword [esp + 0x48]
jb 0x442de1
mov eax, esi
mov edi, dword [esp + 0x5c]
shr eax, 1
cmp eax, ecx
cmovbe eax, ecx
add eax, 3
and eax, 0xfffffffc
lea edx, [eax + esi]
cmp edx, eax
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
or ecx, eax
jne 0x44406a
mov esi, edx
push esi
push dword [esp + 0x14]
mov dword [esp + 0x44], esi
push edi
call dword [esp + 0x60]
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x44406a
mov eax, dword [esp + 0x48]
mov edi, ecx
mov edx, dword [esp + 0x2c]
sub edx, eax
sub edi, edx
add edi, esi
mov esi, ecx
sub esi, dword [esp + 0x10]
push edx
add eax, esi
push eax
push edi
call fcn.0049b820
mov edx, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x3c]
add edx, esi
mov eax, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x44]
xor eax, eax
cmp byte [esp + 0x1c], al
cmovne ecx, eax
test ecx, ecx
je 0x442e0e
mov dword [esp + 0x88], 0x20202020
mov eax, dword [esp + 0x88]
mov dword [edx], eax
add edx, 4
sub ecx, 1
jne 0x442e04
mov esi, dword [esp + 0x60]
lea eax, [edx + 1]
add esi, edi
mov byte [edx], 0x22
mov dword [esp + 0x14], esi
nop
movzx ecx, byte [edi]
cmp byte [ecx + 0x4de940], 0
jne case.default.0x442eb1
movzx ecx, byte [edi + 1]
cmp byte [ecx + 0x4de940], 0
je 0x442e41
mov cl, byte [edi]
mov byte [eax], cl
inc eax
inc edi
jmp case.default.0x442eb1
movzx ecx, byte [edi + 2]
cmp byte [ecx + 0x4de940], 0
je 0x442e5c
mov cx, word [edi]
mov word [eax], cx
add eax, 2
add edi, 2
jmp case.default.0x442eb1
movzx ecx, byte [edi + 3]
cmp byte [ecx + 0x4de940], 0
je 0x442e7d
mov cx, word [edi]
mov word [eax], cx
mov cl, byte [edi + 2]
mov byte [eax + 2], cl
add eax, 3
add edi, 3
jmp case.default.0x442eb1
movzx ecx, byte [edi + 4]
cmp byte [ecx + 0x4de940], 0
je 0x442eb8
mov ecx, dword [edi]
mov dword [eax], ecx
add eax, 4
add edi, 4
cmp edi, esi
jae 0x44325d
mov cl, byte [edi]
movzx edx, cl
mov byte [esp + 0x1c], cl
movzx ecx, byte [edx + 0x4de940]
cmp ecx, 5
ja case.default.0x442eb1
jmp dword [ecx*4 + 0x444100]
movzx ecx, byte [edi + 5]
cmp byte [ecx + 0x4de940], 0
je 0x442ed7
mov ecx, dword [edi]
mov dword [eax], ecx
mov cl, byte [edi + 4]
mov byte [eax + 4], cl
add eax, 5
add edi, 5
jmp case.default.0x442eb1
movzx ecx, byte [edi + 6]
cmp byte [ecx + 0x4de940], 0
je 0x442ef8
mov ecx, dword [edi]
mov dword [eax], ecx
mov cx, word [edi + 4]
mov word [eax + 4], cx
add eax, 6
add edi, 6
jmp case.default.0x442eb1
movzx ecx, byte [edi + 7]
cmp byte [ecx + 0x4de940], 0
je 0x442f22
mov ecx, dword [edi]
mov dword [eax], ecx
mov cx, word [edi + 4]
mov word [eax + 4], cx
mov cl, byte [edi + 6]
mov byte [eax + 6], cl
add eax, 7
add edi, 7
jmp case.default.0x442eb1
lea ecx, [edi + 8]
mov dword [esp + 0x60], ecx
movzx ecx, byte [ecx]
cmp byte [ecx + 0x4de940], 0
je 0x442f4b
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov edi, dword [esp + 0x60]
mov dword [eax], ecx
mov dword [eax + 4], edx
add eax, 8
jmp case.default.0x442eb1
movzx ecx, byte [edi + 9]
cmp byte [ecx + 0x4de940], 0
je 0x442f71
movq xmm0, qword [edi]
movq qword [eax], xmm0
mov cl, byte [edi + 8]
mov byte [eax + 8], cl
add eax, 9
add edi, 9
jmp case.default.0x442eb1
movzx ecx, byte [edi + 0xa]
cmp byte [ecx + 0x4de940], 0
je 0x442f99
movq xmm0, qword [edi]
movq qword [eax], xmm0
mov cx, word [edi + 8]
mov word [eax + 8], cx
add eax, 0xa
add edi, 0xa
jmp case.default.0x442eb1
movzx ecx, byte [edi + 0xb]
cmp byte [ecx + 0x4de940], 0
je 0x442fc7
movq xmm0, qword [edi]
movq qword [eax], xmm0
mov cx, word [edi + 8]
mov word [eax + 8], cx
mov cl, byte [edi + 0xa]
mov byte [eax + 0xa], cl
add eax, 0xb
add edi, 0xb
jmp case.default.0x442eb1
movzx ecx, byte [edi + 0xc]
cmp byte [ecx + 0x4de940], 0
je 0x442fed
movq xmm0, qword [edi]
movq qword [eax], xmm0
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
add eax, 0xc
add edi, 0xc
jmp case.default.0x442eb1
movzx ecx, byte [edi + 0xd]
cmp byte [ecx + 0x4de940], 0
je 0x443019
movq xmm0, qword [edi]
movq qword [eax], xmm0
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov cl, byte [edi + 0xc]
mov byte [eax + 0xc], cl
add eax, 0xd
add edi, 0xd
jmp case.default.0x442eb1
movzx ecx, byte [edi + 0xe]
cmp byte [ecx + 0x4de940], 0
je 0x443047
movq xmm0, qword [edi]
movq qword [eax], xmm0
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov cx, word [edi + 0xc]
mov word [eax + 0xc], cx
add eax, 0xe
add edi, 0xe
jmp case.default.0x442eb1
movzx ecx, byte [edi + 0xf]
cmp byte [ecx + 0x4de940], 0
je 0x44307b
movq xmm0, qword [edi]
movq qword [eax], xmm0
mov ecx, dword [edi + 8]
mov dword [eax + 8], ecx
mov cx, word [edi + 0xc]
mov word [eax + 0xc], cx
mov cl, byte [edi + 0xe]
mov byte [eax + 0xe], cl
add eax, 0xf
add edi, 0xf
jmp case.default.0x442eb1
movups xmm0, xmmword [edi]
movups xmmword [eax], xmm0
add eax, 0x10
add edi, 0x10
jmp 0x442e20
mov cx, word [edx*2 + str._________________b_t_n___f_r___________________________________________________________________________________________________________________________________________________________]
mov word [eax], cx
add eax, 2
inc edi
jmp case.default.0x442eb1
mov dword [esp + 0x8c], 0x3030755c
mov ecx, dword [esp + 0x8c]
mov dword [eax], ecx
movzx ecx, byte [edi]
mov cx, word [ecx*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [eax + 4], cx
add eax, 6
inc edi
jmp case.default.0x442eb1
mov dl, byte [edi + 1]
mov word [esp + 0x78], 0x755c
movzx ecx, word [esp + 0x78]
mov word [eax], cx
movzx ecx, byte [esp + 0x1c]
and ecx, 0x1f
shl ecx, 6
mov dword [esp + 0x60], ecx
movzx ecx, dl
mov edx, dword [esp + 0x60]
and ecx, 0x3f
or edx, ecx
mov ecx, edx
shr ecx, 8
movzx ecx, word [ecx*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [eax + 2], cx
movzx ecx, dl
movzx ecx, word [ecx*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [eax + 4], cx
add eax, 6
add edi, 2
jmp case.default.0x442eb1
mov dl, byte [edi + 1]
mov dh, byte [edi + 2]
movzx esi, byte [esp + 0x1c]
mov word [esp + 0x7c], 0x755c
movzx ecx, word [esp + 0x7c]
mov word [eax], cx
shl esi, 6
movzx ecx, dl
and ecx, 0x3f
or esi, ecx
movzx ecx, dh
and ecx, 0x3f
shl esi, 6
or esi, ecx
movzx edx, si
mov esi, dword [esp + 0x14]
mov ecx, edx
shr ecx, 8
movzx ecx, word [ecx*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [eax + 2], cx
movzx ecx, dl
movzx ecx, word [ecx*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [eax + 4], cx
add eax, 6
add edi, 3
jmp case.default.0x442eb1
movzx edx, byte [edi + 1]
movzx ecx, byte [esp + 0x1c]
and edx, 0x3f
and ecx, 7
mov word [esp + 0x80], 0x755c
shl ecx, 6
or edx, ecx
mov word [esp + 0x84], 0x755c
movzx ecx, byte [edi + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [edi + 3]
and ecx, 0x3f
shl edx, 6
or edx, ecx
sub edx, 0x10000
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0xc]
and ecx, 0x3ff
shr edx, 0xa
add ecx, 0xdc00
add edx, 0xd800
mov dword [esp + 0xc], ecx
movzx ecx, word [esp + 0x80]
mov word [eax], cx
mov ecx, edx
shr ecx, 8
movzx ecx, word [ecx*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [eax + 2], cx
movzx ecx, dl
mov edx, dword [esp + 0xc]
movzx ecx, word [ecx*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [eax + 4], cx
movzx ecx, word [esp + 0x84]
mov word [eax + 6], cx
mov ecx, edx
shr ecx, 8
movzx ecx, word [ecx*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [eax + 8], cx
movzx ecx, dl
movzx ecx, word [ecx*2 + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF_v]
mov word [eax + 0xa], cx
add eax, 0xc
jmp 0x442e91
mov cl, byte [esp + 0x1c]
mov byte [eax], cl
inc eax
inc edi
jmp 0x442e20
mov cl, byte [esp + 0x18]
lea edx, [eax + 1]
mov byte [eax], 0x22
test cl, cl
mov esi, 0x3a
mov eax, 0x2c
cmovne eax, esi
mov ecx, 0x20
mov esi, dword [esp + 0x44]
mov byte [edx], al
mov eax, 0xa
cmovne eax, ecx
mov byte [edx + 1], al
add edx, 2
jmp 0x443dc6
mov al, ah
mov ecx, 0
and al, byte [esp + 0x34]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x44]
lea eax, [eax*4]
cmove ecx, eax
lea eax, [ecx + 0x20]
mov dword [esp + 0x60], eax
lea eax, [ecx + 0x20]
add eax, edx
cmp eax, edi
jb 0x443354
mov eax, esi
shr eax, 1
cmp eax, dword [esp + 0x60]
cmovbe eax, dword [esp + 0x60]
add eax, 3
and eax, 0xfffffffc
lea edx, [eax + esi]
cmp edx, eax
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
or ecx, eax
jne 0x444066
mov esi, edx
push esi
push dword [esp + 0x14]
mov dword [esp + 0x44], esi
push dword [esp + 0x64]
call dword [esp + 0x60]
add esp, 0xc
mov dword [esp + 0x60], eax
test eax, eax
je 0x444066
mov ecx, dword [esp + 0x2c]
sub ecx, edi
mov edi, eax
sub edi, ecx
add edi, esi
mov esi, eax
sub esi, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
push ecx
add eax, esi
push eax
push edi
call fcn.0049b820
mov edx, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x3c]
add edx, esi
mov eax, dword [esp + 0x60]
add ecx, eax
mov dword [esp + 0x48], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x44]
xor eax, eax
cmp byte [esp + 0x18], al
cmovne ecx, eax
test ecx, ecx
je 0x443385
mov dword [esp + 0x90], 0x20202020
mov eax, dword [esp + 0x90]
mov dword [edx], eax
add edx, 4
sub ecx, 1
jne 0x443377
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 4]
mov esi, dword [edi]
mov ecx, dword [edi + 8]
mov edi, dword [edi + 0xc]
mov dword [esp + 0x24], eax
mov eax, esi
and eax, 0x10
mov dword [esp + 0x30], ecx
or eax, 0
mov dword [esp + 0x1c], edi
je 0x4433c4
push edi
push ecx
mov ecx, dword [esp + 0x14]
mov edx, 1
call fcn.00440210
add esp, 8
mov edx, eax
jmp 0x443a15
mov edi, ecx
mov ecx, dword [esp + 0x1c]
neg edi
mov dword [esp + 0x18], edi
adc ecx, 0
neg ecx
mov dword [esp + 0x14], ecx
and esi, 8
jne 0x4433e2
xor eax, eax
jmp 0x4433e7
mov eax, 1
cmp dword [esp + 0x1c], 0
mov esi, dword [esp + 0x30]
jg 0x443402
jl 0x4433f8
test esi, esi
jae 0x443402
mov dword [esp + 0xc], 1
jmp 0x44340a
mov dword [esp + 0xc], 0
mov byte [edx], 0x2d
and eax, dword [esp + 0xc]
jne 0x443421
mov ecx, dword [esp + 0x1c]
mov edi, esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ecx
add edx, eax
mov dword [esp + 0xc], edx
test ecx, ecx
ja 0x44359b
jb 0x44343d
cmp edi, 0x5f5e100
jae 0x44359b
cmp edi, 0x64
jae 0x443462
cmp edi, 0xa
sbb ecx, ecx
neg ecx
mov ax, word [ecx + edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edx], ax
mov eax, 2
sub eax, ecx
add edx, eax
jmp 0x443a15
cmp edi, 0x2710
jae 0x4434aa
mov esi, dword [esp + 0xc]
imul edx, edi, 0x147b
shr edx, 0x13
cmp edx, 0xa
sbb ecx, ecx
neg ecx
movzx eax, word [ecx + edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [esi], ax
sub esi, ecx
imul eax, edx, 0x64
mov edx, esi
mov dword [esp + 0xc], esi
sub edi, eax
movzx eax, word [edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edx + 2], ax
add edx, 4
jmp 0x443a15
mov eax, edi
cmp edi, 0xf4240
jae 0x443509
mov ecx, 0x68db9
mul ecx
imul eax, edx, 0x2710
sub edi, eax
imul esi, edi, 0x147b
shr esi, 0x13
cmp edx, 0xa
sbb ecx, ecx
neg ecx
movzx eax, word [ecx + edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov edx, dword [esp + 0xc]
mov word [edx], ax
sub edx, ecx
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edx + 2], ax
imul eax, esi, 0x64
sub edi, eax
movzx eax, word [edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edx + 4], ax
add edx, 6
jmp 0x443a15
mov ecx, 0x68db8bb
mul ecx
mov edi, edx
mov edx, dword [esp + 0x18]
shr edi, 8
imul eax, edi, 0x2710
imul esi, edi, 0x147b
sub edx, eax
mov dword [esp + 0x18], edx
imul edx, edx, 0x147b
shr esi, 0x13
shr edx, 0x13
cmp esi, 0xa
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0xc]
sbb ecx, ecx
neg ecx
sub dword [esp + 0xc], ecx
movzx eax, word [ecx + esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ecx, dword [esp + 0xc]
mov word [edx], ax
mov edx, dword [esp + 0x60]
imul eax, esi, 0x64
sub edi, eax
movzx eax, word [edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 2], ax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 4], ax
mov ecx, dword [esp + 0x18]
imul eax, edx, 0x64
mov edx, dword [esp + 0xc]
sub ecx, eax
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edx + 6], ax
add edx, 8
jmp 0x443a15
mov eax, edi
mov edx, 0x8461cefd
mul edx
mov esi, edx
mov dword [esp + 0x20], eax
mov eax, edi
mov edx, 0xabcc7711
mul edx
mov edi, eax
mov dword [esp + 0x20], edx
mov eax, ecx
mov ecx, 0x8461cefd
mul ecx
mov dword [esp + 0x60], edx
mov ecx, eax
mov eax, dword [esp + 0x14]
mov edx, 0xabcc7711
mul edx
add ecx, esi
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x60]
adc edx, 0
mov dword [esp + 0x30], eax
mov esi, dword [esp + 0x30]
add edi, ecx
mov ecx, dword [esp + 0x20]
adc ecx, 0
mov dword [esp + 0x60], edi
xor eax, eax
add edx, ecx
mov ecx, dword [esp + 0x1c]
adc eax, eax
add esi, edx
adc ecx, eax
shrd esi, ecx, 0x1a
shr ecx, 0x1a
cmp dword [esp + 0x14], 0x2386f2
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], esi
ja 0x4437fa
jb 0x443632
cmp ecx, 0x6fc10000
jae 0x4437fa
imul eax, esi, 0x5f5e100
sub ecx, eax
mov dword [esp + 0x18], ecx
cmp esi, 0x64
jae 0x443667
mov edi, dword [esp + 0xc]
cmp esi, 0xa
sbb ecx, ecx
neg ecx
mov ax, word [ecx + esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi], ax
mov eax, 2
sub eax, ecx
add edi, eax
jmp 0x443797
cmp esi, 0x2710
jae 0x4436a9
mov edi, dword [esp + 0xc]
imul edx, esi, 0x147b
shr edx, 0x13
cmp edx, 0xa
sbb ecx, ecx
neg ecx
movzx eax, word [ecx + edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi], ax
sub edi, ecx
imul eax, edx, 0x64
sub esi, eax
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 2], ax
add edi, 4
jmp 0x443797
mov eax, esi
cmp esi, 0xf4240
jae 0x443710
mov ecx, 0x68db9
mov edi, dword [esp + 0xc]
mul ecx
imul eax, edx, 0x2710
sub esi, eax
mov dword [esp + 0x30], esi
imul esi, esi, 0x147b
shr esi, 0x13
cmp edx, 0xa
sbb ecx, ecx
neg ecx
movzx eax, word [ecx + edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi], ax
sub edi, ecx
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ecx, dword [esp + 0x30]
mov word [edi + 2], ax
imul eax, esi, 0x64
sub ecx, eax
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 4], ax
add edi, 6
jmp 0x443797
mov ecx, 0x68db8bb
mul ecx
mov edi, edx
shr edi, 8
imul eax, edi, 0x2710
sub esi, eax
mov dword [esp + 0x30], esi
imul edx, dword [esp + 0x30], 0x147b
imul esi, edi, 0x147b
shr edx, 0x13
shr esi, 0x13
cmp esi, 0xa
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xc]
sbb ecx, ecx
neg ecx
sub dword [esp + 0xc], ecx
movzx eax, word [ecx + esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edx], ax
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
imul eax, esi, 0x64
sub edi, eax
movzx eax, word [edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov edi, dword [esp + 0xc]
mov word [edi + 2], ax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 4], ax
imul eax, edx, 0x64
sub ecx, eax
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 6], ax
add edi, 8
mov ecx, dword [esp + 0x18]
mov edx, 0x68db8bb
mov eax, ecx
mov dword [esp + 0xc], edi
mul edx
mov esi, edx
shr esi, 8
imul eax, esi, 0x2710
sub ecx, eax
mov dword [esp + 0x18], ecx
imul edx, dword [esp + 0x18], 0x147b
imul ecx, esi, 0x147b
shr edx, 0x13
shr ecx, 0x13
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi], ax
imul eax, ecx, 0x64
sub esi, eax
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 2], ax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edi + 4], ax
jmp 0x44357a
imul eax, esi, 0x5f5e100
mov edi, 0x346dc5d6
sub ecx, eax
mov eax, esi
mov dword [esp + 0x18], ecx
mov ecx, 0x3886594b
mul ecx
mov dword [esp + 0x20], eax
mov esi, edx
mov eax, dword [esp + 0x30]
mul edi
mov edi, eax
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x1c]
mul ecx
mov ecx, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x1c]
mov edx, 0x346dc5d6
mul edx
add ecx, esi
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
adc edx, 0
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x1c]
add edi, ecx
mov ecx, dword [esp + 0x60]
adc ecx, 0
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x30]
xor eax, eax
add edx, ecx
mov ecx, dword [esp + 0x14]
adc eax, eax
add esi, edx
adc ecx, eax
shrd esi, ecx, 0xb
imul eax, esi, 0x2710
sub edi, eax
mov eax, esi
mov dword [esp + 0x30], edi
cmp esi, 0xf4240
jae 0x4438e8
mov ecx, 0x68db9
mul ecx
imul eax, edx, 0x2710
sub esi, eax
mov dword [esp + 0x1c], esi
imul esi, esi, 0x147b
shr esi, 0x13
cmp edx, 0xa
sbb ecx, ecx
neg ecx
movzx eax, word [ecx + edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov edx, dword [esp + 0xc]
mov word [edx], ax
sub edx, ecx
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ecx, dword [esp + 0x1c]
mov word [edx + 2], ax
imul eax, esi, 0x64
sub ecx, eax
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edx + 4], ax
add edx, 6
jmp 0x443973
mov ecx, 0x68db8bb
mul ecx
mov edi, edx
shr edi, 8
imul eax, edi, 0x2710
sub esi, eax
mov dword [esp + 0x1c], esi
imul edx, dword [esp + 0x1c], 0x147b
imul esi, edi, 0x147b
shr edx, 0x13
shr esi, 0x13
cmp esi, 0xa
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xc]
sbb ecx, ecx
neg ecx
sub dword [esp + 0xc], ecx
movzx eax, word [ecx + esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov ecx, dword [esp + 0xc]
mov word [edx], ax
mov edx, dword [esp + 0x20]
imul eax, esi, 0x64
sub edi, eax
movzx eax, word [edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov edi, dword [esp + 0x30]
mov word [ecx + 2], ax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 4], ax
imul eax, edx, 0x64
mov edx, dword [esp + 0x1c]
sub edx, eax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
lea edx, [ecx + 8]
mov word [ecx + 6], ax
imul ecx, edi, 0x147b
shr ecx, 0x13
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [edx], ax
imul eax, ecx, 0x64
mov ecx, 0x68db8bb
sub edi, eax
movzx eax, word [edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov edi, dword [esp + 0x18]
mov word [edx + 2], ax
add edx, 4
mov dword [esp + 0x14], edx
mov eax, edi
mul ecx
mov esi, edx
shr esi, 8
imul eax, esi, 0x2710
imul ecx, esi, 0x147b
sub edi, eax
imul edx, edi, 0x147b
shr ecx, 0x13
movzx eax, word [ecx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
shr edx, 0x13
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov word [edx], ax
imul eax, ecx, 0x64
mov ecx, edx
mov edx, dword [esp + 0x20]
sub esi, eax
movzx eax, word [esi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 2], ax
movzx eax, word [edx*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 4], ax
imul eax, edx, 0x64
lea edx, [ecx + 8]
sub edi, eax
movzx eax, word [edi*2 + str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899]
mov word [ecx + 6], ax
test edx, edx
je case.default.0x444051
mov esi, dword [esp + 0x44]
mov word [edx], 0xa2c
add edx, 2
jmp 0x443dc6
mov al, ah
mov ecx, 0
and al, byte [esp + 0x34]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x44]
lea eax, [eax*4]
cmove ecx, eax
lea eax, [ecx + 0x10]
mov dword [esp + 0x20], eax
lea eax, [ecx + 0x10]
add eax, edx
cmp eax, edi
jb 0x443aea
mov eax, esi
shr eax, 1
cmp eax, dword [esp + 0x20]
cmovbe eax, dword [esp + 0x20]
add eax, 3
and eax, 0xfffffffc
lea edx, [eax + esi]
cmp edx, eax
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
or ecx, eax
jne 0x444066
mov esi, edx
push esi
push dword [esp + 0x14]
mov dword [esp + 0x44], esi
push dword [esp + 0x64]
call dword [esp + 0x60]
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
je 0x444066
mov ecx, dword [esp + 0x2c]
sub ecx, edi
mov edi, eax
sub edi, ecx
add edi, esi
mov esi, eax
sub esi, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
push ecx
add eax, esi
push eax
push edi
call fcn.0049b820
mov edx, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x3c]
add edx, esi
mov eax, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x44]
xor eax, eax
cmp byte [esp + 0x18], al
cmovne ecx, eax
test ecx, ecx
je 0x443b1a
mov dword [esp + 0x94], 0x20202020
mov eax, dword [esp + 0x94]
nop dword [eax]
mov dword [edx], eax
add edx, 4
sub ecx, 1
jne 0x443b10
mov eax, dword [esp + 0x38]
mov cl, byte [eax]
and cl, 0x18
je 0x443b4b
mov dword [esp + 0xa0], 0x65757274
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xa4], 0xa2c
mov esi, dword [esp + 0xa4]
jmp 0x443b6f
mov dword [esp + 0xa8], 0x736c6166
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xac], 0xa2c65
mov esi, dword [esp + 0xac]
mov dword [edx], eax
xor eax, eax
test cl, cl
mov dword [edx + 4], esi
mov esi, dword [esp + 0x44]
setne al
sub edx, eax
add edx, 7
jmp 0x443dc6
mov al, ah
mov ecx, 0
and al, byte [esp + 0x34]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x44]
lea eax, [eax*4]
cmove ecx, eax
lea eax, [ecx + 0x10]
mov dword [esp + 0x20], eax
lea eax, [ecx + 0x10]
add eax, edx
cmp eax, edi
jb 0x443c45
mov eax, esi
shr eax, 1
cmp eax, dword [esp + 0x20]
cmovbe eax, dword [esp + 0x20]
add eax, 3
and eax, 0xfffffffc
lea edx, [eax + esi]
cmp edx, eax
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
or ecx, eax
jne 0x444066
mov esi, edx
push esi
push dword [esp + 0x14]
mov dword [esp + 0x44], esi
push dword [esp + 0x64]
call dword [esp + 0x60]
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
je 0x444066
mov ecx, dword [esp + 0x2c]
sub ecx, edi
mov edi, eax
sub edi, ecx
add edi, esi
mov esi, eax
sub esi, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
push ecx
add eax, esi
push eax
push edi
call fcn.0049b820
mov edx, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x3c]
add edx, esi
mov eax, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x44]
xor eax, eax
cmp byte [esp + 0x18], al
mov ecx, esi
cmovne ecx, eax
test ecx, ecx
je 0x443c7a
mov dword [esp + 0x98], 0x20202020
mov eax, dword [esp + 0x98]
nop word [eax + eax]
mov dword [edx], eax
add edx, 4
sub ecx, 1
jne 0x443c70
mov dword [esp + 0x68], 0x6c6c756e
mov eax, dword [esp + 0x68]
mov dword [esp + 0x6c], 0xa2c
mov ecx, dword [esp + 0x6c]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 6
jmp 0x443dc6
mov cl, ah
mov eax, dword [esp + 0x38]
and cl, byte [esp + 0x34]
mov byte [esp + 0x30], cl
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 4]
shrd dword [esp + 0x18], eax, 8
cmp byte [esp + 0x1c], 7
sete byte [esp + 0x1c]
cmp dword [esp + 0x18], 0
jne 0x443f05
test cl, cl
je 0x443cdd
xor eax, eax
jmp 0x443ce4
mov eax, dword [esp + 0x44]
shl eax, 2
lea ecx, [eax + 0x10]
add eax, 0x10
add eax, edx
cmp eax, edi
jb 0x443d7b
mov eax, esi
shr eax, 1
cmp eax, ecx
cmovbe eax, ecx
add eax, 3
and eax, 0xfffffffc
lea edx, [eax + esi]
cmp edx, eax
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
or ecx, eax
jne 0x444066
mov esi, edx
push esi
push dword [esp + 0x14]
mov dword [esp + 0x44], esi
push dword [esp + 0x64]
call dword [esp + 0x60]
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
je 0x444066
mov ecx, dword [esp + 0x2c]
sub ecx, edi
mov edi, eax
sub edi, ecx
add edi, esi
mov esi, eax
sub esi, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
push ecx
add eax, esi
push eax
push edi
call fcn.0049b820
mov edx, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x3c]
add edx, esi
mov eax, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x44]
xor eax, eax
cmp byte [esp + 0x30], al
mov ecx, esi
cmovne ecx, eax
test ecx, ecx
je 0x443daa
mov dword [esp + 0x9c], 0x20202020
mov eax, dword [esp + 0x9c]
mov dword [edx], eax
add edx, 4
sub ecx, 1
jne 0x443da0
mov cl, byte [esp + 0x1c]
shl cl, 5
mov al, cl
mov word [edx + 2], 0xa2c
or al, 0x5b
or cl, 0x5d
mov byte [edx], al
mov byte [edx + 1], cl
add edx, 4
sub dword [esp + 0x34], 1
mov edi, dword [esp + 0x48]
mov dword [esp + 0xc], edx
jne 0x44402b
lea ecx, [esi*4]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
nop dword [eax + eax]
mov byte [edx - 2], 0xa
dec edx
mov dword [esp + 0xc], edx
lea eax, [edx + ecx]
cmp eax, edi
jb 0x443e8f
mov esi, dword [esp + 0x3c]
mov eax, esi
shr eax, 1
cmp eax, ecx
cmovbe eax, ecx
add eax, 3
and eax, 0xfffffffc
lea edx, [eax + esi]
cmp edx, eax
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
or ecx, eax
jne 0x444066
mov esi, edx
push esi
push dword [esp + 0x14]
mov dword [esp + 0x44], esi
push dword [esp + 0x64]
call dword [esp + 0x60]
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
je 0x444066
mov ecx, dword [esp + 0x2c]
sub ecx, edi
mov edi, eax
sub edi, ecx
add edi, esi
mov esi, eax
sub esi, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
push ecx
add eax, esi
push eax
push edi
call fcn.0049b820
mov edx, dword [esp + 0x18]
add esp, 0xc
mov eax, dword [esp + 0x20]
add edx, esi
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
add esi, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
sub ecx, 4
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x44], eax
mov ecx, eax
test eax, eax
je 0x443ebb
mov dword [esp + 0x74], 0x20202020
mov eax, dword [esp + 0x74]
mov dword [edx], eax
add edx, 4
sub ecx, 1
jne 0x443eb1
mov al, byte [esp + 0x40]
shl al, 5
or al, 0x5d
mov byte [edx], al
cmp edi, esi
jae 0x444058
mov ecx, dword [edi]
mov ah, cl
shr ecx, 1
and ah, 1
dec ecx
mov word [edx + 1], 0xa2c
add edi, 4
mov dword [esp + 0x34], ecx
add edx, 3
mov byte [esp + 0x40], ah
test ecx, ecx
mov dword [esp + 0x48], edi
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc], edx
je 0x443df0
jmp 0x44402f
test cl, cl
je 0x443f0d
xor eax, eax
jmp 0x443f14
mov eax, dword [esp + 0x44]
shl eax, 2
lea ecx, [eax + 0x20]
add eax, 0x20
add eax, edx
cmp eax, edi
jb 0x443fa7
mov eax, esi
shr eax, 1
cmp eax, ecx
cmovbe eax, ecx
add eax, 3
and eax, 0xfffffffc
lea edx, [eax + esi]
cmp edx, eax
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
or ecx, eax
jne 0x444066
mov esi, edx
push esi
push dword [esp + 0x14]
mov dword [esp + 0x44], esi
push dword [esp + 0x64]
call dword [esp + 0x60]
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
je 0x444066
mov ecx, dword [esp + 0x2c]
sub ecx, edi
mov edi, eax
sub edi, ecx
add edi, esi
mov esi, eax
sub esi, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
push ecx
add eax, esi
push eax
push edi
call fcn.0049b820
mov edx, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x3c]
add edx, esi
mov eax, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
sub edi, 4
mov esi, dword [esp + 0x44]
mov dword [esp + 0x20], 0
mov dword [esp + 0x48], edi
lea ecx, [eax + eax]
movzx eax, byte [esp + 0x40]
or ecx, eax
mov eax, dword [esp + 0x18]
mov dword [edi], ecx
mov cl, byte [esp + 0x1c]
shl eax, cl
cmp byte [esp + 0x30], 0
mov dword [esp + 0x34], eax
mov al, cl
mov ecx, esi
mov ah, al
cmovne ecx, dword [esp + 0x20]
mov byte [esp + 0x40], ah
test ecx, ecx
je 0x444012
mov dword [esp + 0x4c], 0x20202020
mov eax, dword [esp + 0x4c]
nop dword [eax]
mov dword [edx], eax
add edx, 4
sub ecx, 1
jne 0x444000
mov ah, byte [esp + 0x40]
mov al, byte [esp + 0x1c]
shl al, 5
inc esi
or al, 0x5b
mov byte [edx + 1], 0xa
mov byte [edx], al
add edx, 2
mov dword [esp + 0x44], esi
mov dword [esp + 0xc], edx
jmp 0x44402f
mov ah, byte [esp + 0x40]
mov ecx, dword [esp + 0x38]
add ecx, 0x10
mov dword [esp + 0x38], ecx
mov al, byte [ecx]
and al, 7
movzx ecx, al
sub ecx, 2
mov byte [esp + 0x1c], al
cmp ecx, 5
ja case.default.0x444051
mov esi, dword [esp + 0x3c]
jmp dword [ecx*4 + 0x4440e8]
mov eax, dword [esp + 0x10]
mov byte [edx + 1], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4440af
push eax
push edi
call dword [esp + 0x60]
add esp, 8
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4440af
push eax
push dword [esp + 0x60]
call dword [esp + 0x60]
add esp, 8
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
push eax
push dword [esp + 0x60]
call dword [esp + 0x60]
add esp, 8
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret