Function at 0x4269bb
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using rc4 ksa
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd14
movzx eax, byte [0x44d7b4]
push esi
mov esi, 0x44d7b4
mov dword [ebp - 0xc4], ecx
push edi
mov dword [ebp - 0x4d0], edx
mov edi, 0x151a
mov ecx, esi
jmp 0x4269f5
add edi, eax
inc ecx
cmp edi, 0x2b2
ja 0x4269fb
movzx eax, byte [ecx]
test eax, eax
jne 0x4269e7
jmp 0x426a00
call fcn.004219e0
mov eax, dword [0x44d784]
mov edx, esi
add eax, 0x2561c457
mov ecx, esi
push esi
push esi
mov dword [0x44d774], eax
call fcn.004218d2
pop ecx
pop ecx
mov cl, byte [0x44d7b4]
xor eax, eax
test cl, cl
je 0x426a58
inc eax
cmp eax, 0x2235
jl 0x426a3b
cmp byte [eax + 0x44d7b4], 0
jne 0x426a28
jmp 0x426a58
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
and dword [0x44d784], 0x1cc0be01
pop ecx
pop ecx
mov cl, byte [0x44d7b4]
imul eax, dword [0x44d784], 0x4518a5bf
mov edi, 0x24a5
push 0x44
pop edx
mov dword [ebp - 0x94], edx
mov edx, esi
mov dword [ebp - 0x174], 0x19
xor eax, 0xc3b847b8
mov dword [ebp - 0x170], 0x10
mov dword [0x44d774], eax
mov dword [ebp - 0x16c], 0xffffff93
movzx ecx, cl
jmp 0x426aad
add edi, ecx
inc edx
cmp edi, 0xfe3
ja 0x426ab3
movzx ecx, byte [edx]
test ecx, ecx
jne 0x426a9f
jmp 0x426acf
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
xor dword [0x44d784], 0xc5e506d6
mov eax, dword [0x44d774]
pop ecx
pop ecx
add eax, 0x94eaa5e0
mov edx, esi
xor eax, 0xaafb26b2
mov ecx, esi
push esi
push esi
mov dword [0x44d774], eax
call fcn.004218d2
mov edx, dword [ebp - 0x94]
xor eax, eax
pop ecx
pop ecx
mov ecx, eax
add edx, dword [ebp + ecx*4 - 0x174]
inc ecx
cmp ecx, 3
jl 0x426af5
mov dword [ebp - 0x94], edx
mov ecx, eax
mov dword [ebp - 0xdc], 0x7994c0af
mov dword [ebp - 0xd8], 0xbd1d812d
mov dword [ebp - 0xd4], 0xe36d5857
mov dword [ebp - 0xd0], 0xe76171db
mov dword [ebp - 0xcc], 0x5066d912
mov dword [ebp - 0xc8], 0x446524af
mov dword [ebp - 0x18], 0x73657268
mov dword [ebp - 0x14], 0x746c75
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x426b54
mov edi, eax
mov dword [ebp - 0x78], 7
mov esi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x2cc]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x78]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x18]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + esi - 0x2cc], al
cmp edi, 0x100
jb 0x426b6f
xor eax, eax
mov esi, 0x44d7b4
mov dword [ebp - 8], eax
mov ecx, eax
mov edi, eax
lea eax, [ecx + 1]
movzx edx, al
push 0x72
mov dword [ebp - 0xa0], edx
mov cl, byte [ebp + edx - 0x2cc]
movzx eax, cl
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edx - 0x2cc], al
mov edx, 0x9da
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
mov eax, 0x40277c
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0xadf
ja 0x426c1e
movzx ecx, word [eax]
test ecx, ecx
jne 0x426c08
jmp 0x426c2b
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
pop ecx
pop ecx
mov eax, dword [0x44d774]
and eax, 0x44bd69b7
mov dword [0x44d784], eax
add eax, 0x12e2638f
mov edx, esi
push esi
push esi
mov ecx, esi
mov dword [0x44d774], eax
call fcn.004218d2
pop ecx
pop ecx
mov ecx, dword [ebp - 0xa0]
movzx eax, byte [ebp + ecx - 0x2cc]
add eax, dword [ebp - 0xc]
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + edi - 0xdc]
mov byte [ebp + edi - 0x8b4], al
inc edi
cmp edi, 0x18
jb 0x426bbe
xor ecx, ecx
cmp byte [0x44d7b4], cl
je 0x426ca7
inc ecx
cmp ecx, 0x91
je 0x426ca2
cmp byte [ecx + 0x44d7b4], 0
jne 0x426c8e
jmp 0x426ca7
call fcn.004219e0
mov ecx, dword [0x44d774]
mov eax, ecx
or eax, 0xb2ce2e88
mov dword [0x44d784], eax
add ecx, 0x54352eb3
mov edx, esi
mov dword [0x44d774], ecx
mov ecx, esi
push esi
push esi
call fcn.004218d2
mov eax, dword [0x402644]
pop ecx
mov dword [ebp - 0xc0], eax
mov ax, word [0x402648]
pop ecx
xor ecx, ecx
mov word [ebp - 0xbc], ax
mov byte [ebp - 0x89c], cl
mov eax, ecx
mov dword [ebp - 0x18], 0xc07f68f3
mov byte [ebp - 0x14], 0xf9
mov byte [ebp + eax - 0x2cc], al
inc eax
cmp eax, 0x100
jb 0x426cff
mov edi, ecx
mov dword [ebp - 0xf4], 5
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + edi - 0x2cc]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0xf4]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xc0]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + esi - 0x2cc], al
cmp edi, 0x100
jb 0x426d1c
xor ecx, ecx
mov edx, 0x1cd1
push 0x72
mov dword [ebp - 8], ecx
mov eax, 0x40277c
mov dword [ebp - 0x10], ecx
mov esi, 0x44d7b4
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x5c9
ja 0x426d98
movzx ecx, word [eax]
test ecx, ecx
jne 0x426d7d
mov eax, dword [0x44d774]
jmp 0x426dac
call fcn.004219e0
mov eax, dword [0x44d784]
xor eax, 0xd90d974d
mov dword [0x44d774], eax
add eax, 0xbf3c0cc2
mov edx, esi
push esi
push esi
mov ecx, esi
mov dword [0x44d784], eax
call fcn.004218d2
mov edi, dword [0x44d784]
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], 9
mov ecx, eax
mov edx, 0x40277c
inc ecx
lea edx, [edx + 2]
cmp ecx, 0x1e21
je 0x426dfd
cmp word [edx], ax
jne 0x426de2
cmp ecx, 0x176d
jle 0x426e69
jmp 0x426e09
sub edi, 0x1654e4c2
mov dword [0x44d784], edi
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
pop ecx
pop ecx
xor eax, eax
mov edx, 0x40277c
mov ecx, eax
inc ecx
lea edx, [edx + 2]
cmp ecx, 0x1b6b
je 0x426e44
cmp word [edx], ax
jne 0x426e1f
cmp ecx, 0x392
jg 0x426e53
mov eax, dword [0x44d784]
add eax, 0x276658a4
jmp 0x426e5d
mov eax, dword [0x44d784]
xor eax, 0xdd02592f
mov dword [0x44d774], eax
call fcn.004219e0
mov eax, dword [0x44d784]
imul edi, eax, 0xb252fdcf
mov dword [0x44d784], edi
push 0x72
mov ecx, 0x40277c
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x426e8b
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x426e71
jmp 0x426e97
imul edi, edi, 0x33081428
mov dword [0x44d784], edi
lea eax, [edi + 0x2e2503c6]
mov edx, esi
push esi
push esi
mov ecx, esi
mov dword [0x44d774], eax
call fcn.004218d2
imul edi, dword [0x44d784], 0x9914d969
pop ecx
pop ecx
mov dword [0x44d784], edi
mov eax, dword [ebp - 0x10]
inc eax
movzx eax, al
mov dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x10]
mov cl, byte [ebp + eax - 0x2cc]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
lea eax, [edi + 0x3843ecb]
mov dword [ebp - 0x44], eax
mov dword [0x44d774], eax
mov eax, dword [ebp - 8]
push 5
mov byte [ebp + eax - 0x2cc], cl
mov eax, esi
mov ecx, dword [ebp - 0xa0]
mov esi, 0x44d7b4
movzx eax, byte [ebp + eax - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + ecx - 0x18]
mov byte [ebp + ecx - 0x488], al
inc ecx
pop eax
push 0
cmp ecx, eax
mov dword [ebp - 0xa0], ecx
pop eax
jb 0x426ddb
xor edx, edx
mov dword [ebp - 0x18], 0x1d
push 0x57
mov byte [ebp - 0x483], dl
mov eax, edx
pop ecx
mov dword [ebp - 0x14], 0xffffff8c
add ecx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, 2
jl 0x426f63
mov dword [ebp - 0xb4], 0x25
mov dword [ebp - 0xb0], 0x21
mov dword [ebp - 0xac], 0x57
mov dword [ebp - 0xa8], 0xffffff50
movups xmm1, xmmword [ebp - 0xb4]
mov dword [ebp - 0xb4], 0x61
mov dword [ebp - 0xb0], 0x32
movaps xmm0, xmm1
mov dword [ebp - 0xac], 0x5d
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0xa8], 0xffffff10
movups xmm0, xmm1
mov dword [ebp - 0x44c], ecx
psrldq xmm0, 4
mov ecx, edx
paddd xmm1, xmm0
mov dword [ebp - 0xd8], 0x63
movups xmm0, xmmword [ebp - 0xb4]
mov dword [ebp - 0xd4], 0x52
movd eax, xmm1
xorps xmm1, xmm1
psubd xmm1, xmm0
mov dword [ebp - 0xd0], 0x29
movaps xmm0, xmm1
mov dword [ebp - 0xcc], 0x39
psrldq xmm0, 8
add eax, 0x14
paddd xmm1, xmm0
mov dword [ebp - 0x468], eax
movups xmm0, xmm1
mov dword [ebp - 0xc8], 0xfffffee9
psrldq xmm0, 4
sub edi, 0x357feda4
paddd xmm1, xmm0
mov eax, edx
movd dword [ebp - 0x464], xmm1
sub ecx, dword [ebp + eax*4 - 0xd8]
inc eax
cmp eax, 5
jl 0x427059
push 0x72
mov dword [ebp - 0x4e0], ecx
mov ecx, 0x40277c
mov dword [ebp - 0x178], edx
mov dword [ebp - 0xb4], 0x4d
mov dword [ebp - 0xb0], 0x2b
mov dword [ebp - 0xac], 0x37
mov dword [ebp - 0xa8], 0xffffff51
pop eax
add eax, 0xffffffd0
cmp ax, word [ebp - 0x9c]
ja 0x4270c3
add ecx, 2
mov esi, 0x44d7b4
movzx eax, word [ecx]
mov dword [ebp - 0x80], eax
test ax, ax
jne 0x4270a2
jmp 0x4270cc
mov edi, dword [ebp - 0x44]
xor edi, 0xcefd08fe
imul ecx, edi, 0xc2b03eb1
mov edi, edx
mov dword [ebp - 0x7c], ecx
mov dword [0x44d784], ecx
push 0x72
mov dword [ebp - 0xa0], 0x40277c
pop eax
add eax, 0xffffffd0
cmp ax, word [ebp - 0x9c]
ja 0x42711a
mov eax, dword [ebp - 0xa0]
mov esi, 0x44d7b4
add eax, 2
mov dword [ebp - 0xa0], eax
movzx eax, word [eax]
mov dword [ebp - 0x80], eax
test ax, ax
jne 0x4270ea
mov eax, dword [ebp - 0x44]
jmp 0x427120
imul eax, ecx, 0x1604e024
add eax, 0x36446768
mov dword [ebp - 0x44], eax
mov dword [0x44d774], eax
mov eax, dword [ebp - 0x178]
sub eax, dword [ebp + edi*4 - 0xb4]
inc edi
mov dword [ebp - 0x178], eax
cmp edi, 4
jl 0x4270dd
mov dword [ebp - 0x160], 0xd
mov edi, edx
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x1c], 0x5a
mov dword [ebp - 0x18], 0x1b
mov dword [ebp - 0x14], 0x37e
add ecx, dword [ebp + edi*4 - 0x1c]
inc edi
cmp edi, 3
jl 0x42716d
mov al, byte [0x44d7b4]
mov dword [ebp - 0x160], ecx
test al, al
mov ecx, dword [ebp - 0x7c]
movzx edi, al
mov eax, dword [ebp - 0x44]
mov dword [ebp - 8], 0x2351
mov dword [ebp - 0x90], esi
je 0x4271cd
add dword [ebp - 8], edi
inc dword [ebp - 0x90]
cmp dword [ebp - 8], 0x1a3f
ja 0x4271c3
mov edi, dword [ebp - 0x90]
movzx edi, byte [edi]
test edi, edi
jne 0x42719c
imul eax, ecx, 0x1fe538ff
jmp 0x4271e8
and eax, 0xd488342
mov dword [0x44d774], eax
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
pop ecx
pop ecx
mov ecx, dword [0x44d784]
xor edx, edx
lea eax, [ecx + 0x4ae84fa5]
and ecx, 0x9b974f07
mov dword [0x44d774], eax
cmp byte [0x44d7b4], 0
mov eax, edx
push 0x4e
mov dword [0x44d784], ecx
pop edi
mov dword [ebp - 0x18], 0x14
mov dword [ebp - 0x14], 0xffffffc6
je 0x427241
inc eax
cmp eax, 0x3aa
jg 0x427228
cmp byte [eax + 0x44d7b4], 0
jne 0x427215
jmp 0x427241
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
pop ecx
pop ecx
imul ecx, dword [0x44d774], 0x12eb0e92
xor edx, edx
imul eax, ecx, 0xaaab01e9
mov dword [0x44d784], eax
mov eax, edx
add edi, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, 2
jl 0x42724e
mov dword [ebp - 0x46c], edi
mov esi, 0x401f54
push 6
pop eax
mov ecx, eax
mov dword [ebp - 0xa0], eax
lea edi, [ebp - 0xe0]
mov eax, edx
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, edx
mov byte [ebp + eax - 0x2cc], al
inc eax
cmp eax, 0x100
jb 0x42727c
mov esi, edx
xor edx, edx
mov cl, byte [ebp + esi - 0x2cc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x174]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xe0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x2cc], al
cmp esi, 0x100
jb 0x42728d
mov dl, byte [ebp - 0x2cb]
movzx ecx, dl
push 6
mov dword [ebp - 0xdb], 0x726a6fcb
mov dword [ebp - 0xd7], 0x37bc6673
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp - 0x2cb], al
mov byte [ebp + ecx - 0x2cc], dl
movzx ecx, byte [ebp - 0x2cb]
movzx eax, dl
add ecx, eax
mov dword [ebp - 0xd3], 0xf8af44a7
movzx eax, cl
mov dword [ebp - 0xcf], 0x18390388
mov dword [ebp - 0xcb], 0x3e577765
mov word [ebp - 0xc7], 0x5a57
mov al, byte [ebp + eax - 0x2cc]
xor al, 0x38
mov byte [ebp - 0xc5], 0x97
mov byte [ebp - 0x18a], al
xor ecx, ecx
pop eax
mov byte [ebp - 0x189], cl
mov byte [ebp - 0xdc], al
imul eax, dword [0x44d784], 0xa05eccea
mov esi, 0x44d7b4
push esi
push esi
mov edx, esi
mov ecx, esi
mov dword [0x44d774], eax
call fcn.004218d2
mov eax, dword [0x40264c]
mov dword [ebp - 0x18], eax
mov ax, word [0x402650]
mov word [ebp - 0x14], ax
imul eax, dword [0x44d784], 0x89c6beee
pop ecx
pop ecx
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov ecx, eax
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x4273a9
mov edi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x2cc]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0xf4]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x18]
add eax, dword [ebp - 0xc]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0xc], ecx
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x2cc], al
cmp edi, 0x100
jb 0x4273bb
xor eax, eax
mov dword [ebp - 8], eax
mov esi, eax
mov edi, eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + esi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + edi - 0xdc]
mov byte [ebp + edi - 0x898], al
inc edi
cmp edi, 0x18
jb 0x42740c
mov dword [ebp - 0xb4], 0x46
xorps xmm1, xmm1
mov dword [ebp - 0xb0], 0x32
xor ecx, ecx
imul edi, dword [ebp - 0x48], 0xa8c2dee1
xorps xmm2, xmm2
mov dword [ebp - 0xac], 0x4c
mov eax, ecx
mov dword [ebp - 0xa8], 0xffffff3c
mov esi, 0x44d7b4
movups xmm0, xmmword [ebp - 0xb4]
mov byte [ebp - 0x880], cl
mov edx, ecx
mov dword [0x44d784], edi
psubd xmm1, xmm0
mov dword [ebp - 0xd8], 0xa
movaps xmm0, xmm1
mov dword [ebp - 0xd4], 0x1d
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0xd0], 0x50
movups xmm0, xmm1
mov dword [ebp - 0xcc], 0x41
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0xc8], 0xffffff48
movd dword [ebp - 0x470], xmm1
sub edx, dword [ebp + eax*4 - 0xd8]
inc eax
cmp eax, 5
jl 0x427510
mov dword [ebp - 0x444], edx
mov eax, ecx
mov edx, dword [ebp - 0x48]
add edx, 0x6397e715
mov dword [ebp - 0x1c], 0x59
push 0x2a
mov dword [0x44d774], edx
pop edx
mov dword [ebp - 0x18], 0x16
mov dword [ebp - 0x14], 0xffffff67
add edx, dword [ebp + eax*4 - 0x1c]
inc eax
cmp eax, 3
jl 0x42754c
mov dword [ebp - 0x478], edx
mov eax, ecx
mov edx, 0xa28
mov dword [ebp - 0x504], 0x3c
mov dword [ebp - 0x500], 0x38
mov dword [ebp - 0x4fc], 0x56
mov dword [ebp - 0x4f8], 0x41
mov dword [ebp - 0x4f4], 0x819
sub edx, dword [ebp + eax*4 - 0x504]
inc eax
cmp eax, 5
jl 0x427595
mov dword [ebp - 0x188], 0x12
movaps xmm1, xmm2
mov dword [ebp - 0x184], 0xe
mov dword [ebp - 0x180], 0x4d
mov dword [ebp - 0x17c], 0xffffff31
movups xmm0, xmmword [ebp - 0x188]
mov dword [ebp - 0x474], edx
mov edx, ecx
mov dword [ebp - 0x1c], 0x39
paddd xmm1, xmm0
mov dword [ebp - 0x18], 0x20
movaps xmm0, xmm1
mov dword [ebp - 0x14], 0xffffffa7
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x62
mov dword [ebp - 0x47c], eax
mov eax, ecx
sub edx, dword [ebp + eax*4 - 0x1c]
inc eax
cmp eax, 3
jl 0x42761c
push 0x3c
pop eax
mov byte [ebp - 0x6b], al
mov eax, dword [0x401ea8]
mov dword [ebp - 0x18], eax
mov ax, word [0x401eac]
mov dword [ebp - 0x4dc], edx
mov edx, ecx
mov word [ebp - 0x14], ax
mov eax, 0x40277c
mov dword [ebp - 0x74], 0x1d717d00
mov dword [ebp - 0x70], 0xa4202cb5
mov byte [ebp - 0x6c], 2
mov dword [ebp - 0x6a], 0x9d66a4ae
mov dword [ebp - 0x66], 0x7058deb1
mov dword [ebp - 0x62], 0xc1b8b97b
mov dword [ebp - 0x5e], 0x28e395ba
mov dword [ebp - 0x5a], 0x8cfef3ba
mov dword [ebp - 0x56], 0xb9a73dd7
mov dword [ebp - 0x52], 0xe0b9d158
mov dword [ebp - 0x4e], 0x7f8ee0c2
mov word [ebp - 0x4a], 0x8efb
mov dword [ebp - 0xc], ecx
inc edx
lea eax, [eax + 2]
cmp edx, 0x1009
je 0x4276b1
cmp word [eax], cx
jne 0x42769e
jmp 0x4276ca
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
mov edi, dword [0x44d774]
pop ecx
pop ecx
add edi, 0x95e6e25e
lea eax, [edi + 0x4dbfc73]
mov dword [0x44d774], eax
or eax, 0x4bfdce3a
mov dword [0x44d784], eax
call fcn.004219e0
xor ecx, ecx
mov eax, ecx
mov byte [ebp + eax - 0x2cc], al
inc eax
cmp eax, 0x100
jb 0x4276e8
mov edi, ecx
xor edx, edx
mov cl, byte [ebp + edi - 0x2cc]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0xf4]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x18]
add eax, dword [ebp - 0xc]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0xc], ecx
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x2cc], al
cmp edi, 0x100
jb 0x4276f9
xor eax, eax
mov dword [ebp - 8], eax
mov esi, eax
mov edi, eax
mov eax, dword [0x44d784]
and eax, 0x7a430c63
mov dword [0x44d774], eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + esi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + edi - 0x74]
mov byte [ebp + edi - 0xa24], al
inc edi
cmp edi, 0x2c
jb 0x427759
xor ecx, ecx
mov esi, 0x44d7b4
cmp byte [0x44d7b4], cl
je 0x4277d9
inc ecx
cmp ecx, 0x1e91
jg 0x4277d4
cmp byte [ecx + 0x44d7b4], 0
jne 0x4277c0
jmp 0x4277d9
call fcn.004219e0
imul eax, dword [0x44d784], 0x24bbd349
mov edx, esi
push esi
push esi
mov ecx, esi
mov dword [0x44d774], eax
call fcn.004218d2
mov eax, dword [0x401b00]
pop ecx
mov dword [ebp - 0xc0], eax
mov ax, word [0x401b04]
pop ecx
xor ecx, ecx
mov word [ebp - 0xbc], ax
mov byte [ebp - 0x9f8], cl
mov eax, ecx
mov dword [ebp - 0x18], 0xbdd30846
mov byte [ebp - 0x14], 0x28
mov dword [ebp - 0xc], ecx
mov byte [ebp + eax - 0x2cc], al
inc eax
cmp eax, 0x100
jb 0x427825
mov edi, ecx
xor edx, edx
mov cl, byte [ebp + edi - 0x2cc]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0xf4]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xc0]
add eax, dword [ebp - 0xc]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0xc], ecx
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x2cc], al
cmp edi, 0x100
jb 0x427836
mov edi, dword [0x44d774]
xor eax, eax
mov dword [ebp - 8], eax
mov ecx, eax
mov esi, eax
lea eax, [ecx + 1]
movzx eax, al
mov dword [ebp - 0x90], eax
push 0x72
mov cl, byte [ebp + eax - 0x2cc]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
mov dword [ebp - 0x80], edx
mov edx, dword [ebp - 0x90]
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edx - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
mov eax, edx
mov edx, 0x1d0d
pop ecx
movzx eax, byte [ebp + eax - 0x2cc]
add eax, dword [ebp - 0x80]
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp - 1], al
mov eax, 0x40277c
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x191b
ja 0x42790f
movzx ecx, word [eax]
test ecx, ecx
jne 0x4278f9
jmp 0x42791a
imul eax, edi, 0x4f1536ef
mov dword [0x44d784], eax
add edi, 0xcb327b3
mov dword [0x44d774], edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov al, byte [ebp + esi - 0x18]
xor al, byte [ebp - 1]
mov edi, dword [0x44d774]
mov ecx, dword [ebp - 0x90]
or edi, 0x82d3b77c
mov byte [ebp + esi - 0x490], al
inc esi
push 5
pop eax
mov dword [0x44d774], edi
cmp esi, eax
jb 0x427890
xor eax, eax
mov dword [ebp - 0x18], 0x14
push 0x23
mov byte [ebp - 0x48b], al
mov ecx, eax
pop edx
mov dword [ebp - 0x14], 0xffffffc9
mov esi, 0x44d7b4
add edx, dword [ebp + ecx*4 - 0x18]
inc ecx
cmp ecx, 2
jl 0x42797e
mov dword [ebp - 0x1a0], edx
cmp byte [0x44d7b4], al
je 0x4279b5
inc eax
cmp eax, 0x140c
je 0x4279a9
cmp byte [eax + 0x44d7b4], 0
jne 0x427996
jmp 0x4279b5
and edi, 0x68035cfc
mov dword [0x44d774], edi
push esi
and edi, 0x913202a1
mov edx, esi
push esi
mov ecx, esi
mov dword [0x44d784], edi
call fcn.004218d2
mov eax, dword [0x44d784]
xorps xmm1, xmm1
mov dword [ebp - 0xb4], 0x52
mov dword [ebp - 0xb0], 0x60
mov dword [ebp - 0xac], 0x1e
mov dword [ebp - 0xa8], 0xffffff30
movups xmm0, xmmword [ebp - 0xb4]
pop ecx
pop ecx
psubd xmm1, xmm0
mov dword [ebp - 0x1c], 0x44
movaps xmm0, xmm1
mov dword [ebp - 0x18], 0x2d
psrldq xmm0, 8
xor ecx, ecx
paddd xmm1, xmm0
mov dword [ebp - 0x14], 0xffffffa4
movups xmm0, xmm1
mov edx, ecx
psrldq xmm0, 4
paddd xmm1, xmm0
push 0x18
movd dword [ebp - 0x448], xmm1
pop edi
sub edi, dword [ebp + edx*4 - 0x1c]
xor eax, 0xc3cb619a
inc edx
cmp edx, 3
jl 0x427a45
push 0x31
pop edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0xb0], edx
imul edx, eax, 0xb8be9582
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4d8], edi
mov dword [ebp - 0xb4], 0x3e
mov dword [ebp - 0xac], 0x16
mov edi, edx
mov dword [ebp - 0xa8], 0xffffff4a
mov dword [0x44d774], edx
and edi, 0x6989489c
add eax, dword [ebp + ecx*4 - 0xb4]
inc ecx
cmp ecx, 4
jl 0x427a9b
push 0x72
mov dword [ebp - 0x48], eax
mov ecx, 0x40277c
mov dword [ebp - 0x84], 3
pop eax
add eax, 0xffffffd0
cmp ax, word [ebp - 0x9c]
ja 0x427ade
add ecx, 2
mov esi, 0x44d7b4
movzx eax, word [ecx]
mov dword [ebp - 0x80], eax
test ax, ax
jne 0x427abd
jmp 0x427aea
imul edx, edi, 0xd2c2f503
mov dword [0x44d774], edx
lea eax, [edx - 0x30d71b98]
mov dword [0x44d784], eax
call fcn.004219e0
mov ecx, dword [0x44d774]
xor eax, eax
mov edi, dword [ebp - 0x84]
add ecx, 0x4824b8ee
mov dword [ebp - 0x18], 0x27
mov edx, eax
mov dword [ebp - 0x14], 0xffffffd6
mov dword [0x44d774], ecx
add edi, dword [ebp + edx*4 - 0x18]
inc edx
cmp edx, 2
jl 0x427b24
push 0x1f
pop edx
mov dword [ebp - 0x84], edi
mov edi, 0x40277c
mov dword [ebp - 0x40], edx
mov dword [ebp - 0xc], edx
mov edx, eax
inc edx
lea edi, [edi + 2]
cmp edx, 0x1a92
jg 0x427b6a
cmp word [edi], ax
jne 0x427b44
mov eax, dword [0x44d784]
cmp edx, 0x155e
jg 0x427b79
xor ecx, 0xa28df3a1
jmp 0x427b7f
call fcn.004219e0
imul eax, dword [0x44d784], 0xab24bedb
lea ecx, [eax + 0x13fab119]
imul eax, eax, 0x18c15d62
mov edx, esi
mov dword [0x44d774], ecx
mov ecx, esi
push esi
push esi
mov dword [0x44d784], eax
call fcn.004218d2
mov edx, dword [ebp - 0xc]
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x1c], 0x14
mov ecx, eax
mov dword [ebp - 0x18], 0x4e
mov dword [ebp - 0x14], 0xffffff7f
add edx, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, 3
jl 0x427bb9
push 0x19
pop ecx
mov dword [ebp - 0x1c], ecx
push 0xe
pop ecx
mov dword [ebp - 0xc], edx
mov edx, 0x3c00
mov dword [ebp - 0x18], ecx
mov ecx, eax
mov dword [ebp - 0x14], 0x37d9
sub edx, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, 3
jl 0x427be0
push 0x4c
pop ecx
push 0xe
mov esi, 0x4016e4
mov dword [ebp - 0x4d4], edx
pop edx
push 0x34
mov byte [ebp - 0x72], cl
lea edi, [ebp - 0x1c]
mov byte [ebp - 0x58], cl
pop ecx
movsd dword es:[edi], dword [esi]
push 0x19
mov dword [ebp - 0x8c], ecx
mov byte [ebp - 0x57], cl
pop ecx
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x56], cl
push 0x11
pop ecx
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x7c], ecx
mov edi, eax
mov byte [ebp - 0x54], cl
mov ecx, eax
mov word [ebp - 0x74], 0xd459
mov dword [ebp - 0x71], 0x4c7b0fc
mov word [ebp - 0x6d], 0xd13b
mov byte [ebp - 0x6b], dl
mov dword [ebp - 0x6a], 0x88d527d7
mov dword [ebp - 0x66], 0x839d93d6
mov dword [ebp - 0x62], 0xcb60e339
mov dword [ebp - 0x5e], 0xcaf15bc9
mov word [ebp - 0x5a], 0xb55f
mov byte [ebp - 0x55], 0x3b
mov dword [ebp - 0x53], 0x4e5e52c1
mov dword [ebp - 0x4f], 0xb72a60c4
mov word [ebp - 0x4b], 0xa8ee
mov byte [ebp - 0x49], 0x45
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x427c7a
mov esi, eax
mov dl, byte [ebp + esi - 0x2cc]
mov eax, esi
push 7
pop ecx
and eax, ecx
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x1c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov byte [ebp + edi - 0x2cc], dl
cmp esi, 0x100
jb 0x427c8c
xor eax, eax
mov edx, 0x1c31
push 0x72
mov dword [ebp - 8], eax
mov edi, eax
mov eax, 0x40277c
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x2680
ja 0x427cf6
movzx ecx, word [eax]
test ecx, ecx
jne 0x427cdb
mov esi, 0x44d7b4
jmp 0x427d1c
mov esi, 0x44d7b4
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
imul eax, dword [0x44d784], 0x1ab4a3f3
pop ecx
pop ecx
mov dword [0x44d784], eax
call fcn.004219e0
mov eax, dword [0x44d784]
mov edx, esi
add eax, 0xf83d29b
mov ecx, esi
or eax, 0x4639d2ac
push esi
push esi
mov dword [0x44d774], eax
call fcn.004218d2
pop ecx
pop ecx
xor ecx, ecx
mov esi, ecx
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + esi - 0x74]
mov byte [ebp + esi - 0xa54], al
inc esi
cmp esi, 0x2c
jb 0x427d41
mov edx, dword [0x44d784]
lea edi, [ebp - 0x54]
mov esi, 0x401714
mov dword [ebp - 0x18], 0xc75d6f5e
mov eax, edx
mov byte [ebp - 0x14], 0xa6
xor ecx, ecx
and eax, 0xc8513177
sub eax, 0x69ed8e00
mov byte [ebp - 0xa28], cl
movsd dword es:[edi], dword [esi]
mov dword [0x44d774], eax
mov eax, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x72
mov dword [ebp - 8], 0x637
mov esi, 0x40277c
pop edi
add dword [ebp - 8], edi
lea esi, [esi + 2]
cmp dword [ebp - 8], 0x1b9e
ja 0x427df7
movzx edi, word [esi]
test edi, edi
jne 0x427ddf
jmp 0x427dfd
sub edx, 0x133f62ae
and edx, 0xe5f2decb
mov byte [ebp + eax - 0x2cc], al
inc eax
cmp eax, 0x100
jb 0x427dd0
mov dword [0x44d784], edx
mov esi, ecx
mov dword [ebp - 0x90], 0xb
mov edi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x2cc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x90]
movzx ecx, cl
push 0x72
movzx eax, byte [ebp + edx - 0x54]
mov edx, 0x11bb
add eax, edi
add ecx, eax
mov eax, 0x40277c
movzx edi, cl
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x6cc
ja 0x427e6c
movzx ecx, word [eax]
test ecx, ecx
jne 0x427e56
jmp 0x427e71
call fcn.004219e0
mov eax, dword [0x44d774]
and eax, 0x26520153
add eax, 0x4076cc3
mov dword [0x44d784], eax
call fcn.004219e0
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x2cc], al
cmp esi, 0x100
jb 0x427e26
xor eax, eax
mov esi, 0x44d7b4
mov dword [ebp - 8], eax
mov edi, eax
mov dword [ebp - 0x10], eax
cmp byte [0x44d7b4], 0
je 0x427ee9
inc eax
cmp eax, 0x1cc8
je 0x427eda
cmp byte [eax + 0x44d7b4], 0
jne 0x427ec7
jmp 0x427ee9
mov eax, dword [0x44d784]
add eax, 0x2002022f
mov dword [0x44d774], eax
mov eax, dword [0x44d774]
or eax, 0xbd6f613c
push 0x1f6a
mov dword [0x44d784], eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
sub eax, 0x4d81a3f9
mov edx, esi
push esi
push esi
mov ecx, esi
mov dword [0x44d784], eax
call fcn.004218d2
mov eax, dword [ebp - 0x10]
inc eax
movzx eax, al
mov dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x10]
pop ecx
pop ecx
mov cl, byte [ebp + eax - 0x2cc]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
push 5
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
mov eax, esi
mov esi, 0x44d7b4
movzx eax, byte [ebp + eax - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + edi - 0x18]
mov byte [ebp + edi - 0x498], al
inc edi
pop eax
push 0
cmp edi, eax
pop eax
jb 0x427ebe
push 0x72
mov edx, 0x40277c
pop edi
push 9
pop ecx
lea eax, [edi - 0x30]
cmp ax, cx
mov ecx, dword [0x44d774]
ja 0x427fb6
add edx, 2
movzx eax, word [edx]
mov edi, eax
test ax, ax
jne 0x427f91
mov eax, dword [0x44d784]
jmp 0x427fbc
imul eax, ecx, 0x53e5bea5
xor eax, 0xcbbea8e1
mov dword [ebp - 0x1c], 0x55
mov dword [0x44d784], eax
xor eax, eax
push 0x49
mov byte [ebp - 0x493], al
mov edx, eax
pop edi
mov dword [ebp - 0x18], 0x4d
mov dword [ebp - 0x14], 0xffffff15
add edi, dword [ebp + edx*4 - 0x1c]
inc edx
cmp edx, 3
jl 0x427fe8
mov dword [ebp - 0xb4], 8
xorps xmm1, xmm1
mov dword [ebp - 0xb0], 0x5d
mov edx, 0x40277c
mov dword [ebp - 0xac], 0x15
mov dword [ebp - 0xa8], 0xffffff86
movups xmm0, xmmword [ebp - 0xb4]
push 0x72
mov dword [ebp - 0x2d4], edi
psubd xmm1, xmm0
mov dword [ebp - 8], 0x260c
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x45c], xmm1
pop edi
jmp 0x428062
mov edx, dword [ebp - 0x10]
add edx, 2
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 8]
add edx, edi
mov dword [ebp - 8], edx
cmp edx, 0x1bf
ja 0x4280d6
cmp byte [0x44d7b4], 0
je 0x4280ad
inc eax
cmp eax, 0x1bc3
jl 0x428094
cmp byte [eax + 0x44d7b4], 0
jne 0x428081
jmp 0x4280ad
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
pop ecx
pop ecx
mov ecx, dword [0x44d784]
add ecx, 0x544dafa6
imul eax, ecx, 0xa879c21b
mov ecx, eax
mov dword [0x44d774], ecx
imul edx, eax, 0x91ff3260
mov eax, dword [ebp - 0x10]
push 0
movzx edi, word [eax]
mov dword [0x44d784], edx
pop eax
test edi, edi
jne 0x42805f
jmp 0x4280ed
call fcn.004219e0
mov ecx, dword [0x44d774]
imul edx, ecx, 0x7e98e0f2
mov dword [0x44d784], edx
push 0x72
mov dword [ebp - 8], 0x7dd
mov eax, 0x40277c
pop edi
add dword [ebp - 8], edi
lea eax, [eax + 2]
cmp dword [ebp - 8], 0x18ce
ja 0x428114
movzx edi, word [eax]
test edi, edi
jne 0x4280fc
jmp 0x428139
xor ecx, 0xdbfd6903
mov edx, esi
mov dword [0x44d774], ecx
mov ecx, esi
push esi
push esi
call fcn.004218d2
mov edx, dword [0x44d784]
pop ecx
pop ecx
mov ecx, dword [0x44d774]
or edx, 0xa9c1acf0
mov dword [0x44d784], edx
and ecx, 0xc1fd7f82
mov edx, esi
mov dword [0x44d774], ecx
mov ecx, esi
push esi
push esi
call fcn.004218d2
pop ecx
pop ecx
mov eax, dword [0x44d774]
and eax, 0xfe0834c5
mov dword [0x44d784], eax
call fcn.004219e0
push 0x1f
pop eax
mov dword [ebp - 0x50], eax
xorps xmm1, xmm1
mov dword [ebp - 0x58], 0x4b
xorps xmm2, xmm2
mov dword [ebp - 0x54], 0x58
mov dword [ebp - 0x4c], 0xffffff3e
movups xmm0, xmmword [ebp - 0x58]
push 0xb
pop eax
psubd xmm1, xmm0
mov dword [ebp - 0x5c], 0x2d
movaps xmm0, xmm1
mov dword [ebp - 0x58], 0x47
psrldq xmm0, 8
mov edx, eax
paddd xmm1, xmm0
mov dword [ebp - 0x54], 0x28
movups xmm0, xmm1
mov dword [ebp - 0x50], 0x36
psrldq xmm0, 4
xor eax, eax
paddd xmm1, xmm0
mov dword [ebp - 0x4c], 0xffffff38
push 5
movd dword [ebp - 0x450], xmm1
mov ecx, eax
pop esi
sub edx, dword [ebp + ecx*4 - 0x5c]
inc ecx
cmp ecx, esi
jl 0x4281ea
mov dword [ebp - 0x58], 0x3b
mov dword [ebp - 0x54], 0x25
mov dword [ebp - 0x50], 0x4b
mov dword [ebp - 0x4c], 0xffffff00
movups xmm1, xmmword [ebp - 0x58]
push 0x55
mov dword [ebp - 0x1a4], edx
paddd xmm1, xmm2
mov dword [ebp - 0x4c], 0xffffff49
movaps xmm0, xmm1
mov dword [ebp - 0x18], 0x4d
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x14], 0xffffff5b
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
movaps xmm1, xmm2
pop edx
push 0x58
add ecx, edx
mov dword [ebp - 0x58], edx
pop edx
mov dword [ebp - 0x4cc], ecx
mov esi, edx
push 0xa
pop ecx
mov dword [ebp - 0x50], ecx
mov ecx, dword [0x44d774]
mov dword [ebp - 0x54], edx
add ecx, 0x613bd5b8
movups xmm0, xmmword [ebp - 0x58]
mov dword [0x44d774], ecx
mov edx, eax
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x168], xmm1
add esi, dword [ebp + edx*4 - 0x18]
inc edx
cmp edx, 2
jl 0x4282a9
mov dword [ebp - 0x194], esi
lea edi, [ebp - 0x58]
push 0x19
pop edx
mov esi, 0x402654
mov byte [ebp - 0x3c], dl
push 0xb
pop edx
push 5
movsd dword es:[edi], dword [esi]
or ecx, 0x9d5e4e78
mov byte [ebp - 0x31], dl
pop edx
mov byte [ebp - 0x2b], dl
movsd dword es:[edi], dword [esi]
push 0xe
pop edx
mov byte [ebp - 0x17], dl
mov edx, eax
movsd dword es:[edi], dword [esi]
mov dword [0x44d784], ecx
mov dword [ebp - 0x3b], 0x28299e88
mov dword [ebp - 0x37], 0xac8fb13f
mov word [ebp - 0x33], 0x871b
mov dword [ebp - 0x30], 0xe8142720
mov byte [ebp - 0x2c], 0x59
mov dword [ebp - 0x2a], 0x53671b3b
mov dword [ebp - 0x26], 0x578edae3
mov dword [ebp - 0x22], 0x48369c4b
mov dword [ebp - 0x1e], 0xfe2b398d
mov word [ebp - 0x1a], 0xab08
mov byte [ebp - 0x18], 0xd7
mov dword [ebp - 0x16], 0xf282d4cb
mov word [ebp - 0x12], 0x6d59
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x10], eax
mov byte [ebp + edx - 0x2cc], dl
inc edx
cmp edx, 0x100
jb 0x428340
mov edi, eax
mov dword [ebp - 0x80], 0xf
mov esi, 0x44d7b4
push 0x72
mov dword [ebp - 8], 0xebd
mov eax, 0x40277c
pop edx
add dword [ebp - 8], edx
lea eax, [eax + 2]
cmp dword [ebp - 8], 0x71d
ja 0x428385
movzx edx, word [eax]
test edx, edx
jne 0x42836d
jmp 0x4283a4
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
pop ecx
pop ecx
mov ecx, dword [0x44d784]
or ecx, 0x7de031ce
mov dword [0x44d784], ecx
xor ecx, 0x94bc0839
mov edx, esi
mov dword [0x44d774], ecx
mov ecx, esi
push esi
push esi
call fcn.004218d2
xor edx, edx
mov eax, edi
div dword [ebp - 0x80]
pop ecx
pop ecx
mov cl, byte [ebp + edi - 0x2cc]
mov byte [ebp - 1], cl
movzx eax, byte [ebp + edx - 0x58]
add eax, dword [ebp - 0x10]
movzx ecx, cl
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x10], ecx
mov al, byte [ebp + ecx - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x2cc], al
cmp edi, 0x100
jae 0x42840d
mov ecx, dword [0x44d784]
jmp 0x42835e
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + esi - 0x3c]
mov byte [ebp + esi - 0xa84], al
inc esi
cmp esi, 0x2c
jb 0x428416
push 8
pop ecx
mov esi, 0x402664
mov dword [ebp - 0x18], 0x9c2bdd75
lea edi, [ebp - 0x68]
mov byte [ebp - 0x14], 0x63
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov esi, 0x25ab
push 0x72
mov byte [ebp - 0xa58], al
mov ecx, 0x40277c
pop edx
add esi, edx
lea ecx, [ecx + 2]
cmp esi, 0x2138
ja 0x4284c0
movzx edx, word [ecx]
test edx, edx
jne 0x42849b
mov edx, dword [0x44d784]
xor edx, 0xfaa163d
mov dword [ebp - 0x10], edx
jmp 0x4284de
call fcn.004219e0
or dword [0x44d774], 0xf3232764
call fcn.004219e0
mov eax, dword [0x44d774]
mov dword [ebp - 0x10], eax
xor eax, eax
mov edi, eax
mov ecx, eax
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x4284e2
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x2cc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x40]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x68]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x2cc], al
cmp esi, 0x100
jb 0x4284f4
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x2cc]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
push 5
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x4a0], al
inc esi
pop eax
cmp esi, eax
jb 0x42853e
mov edx, dword [ebp - 0x10]
xor eax, eax
push 0x47
mov byte [ebp - 0x49b], al
and edx, 0x5bcf0762
pop esi
mov dword [ebp - 0x1c], 0x2f
mov ecx, eax
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x14], 0xffffffa7
add esi, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, 3
jl 0x4285c3
push 0x4c
pop ecx
push 0x3c
mov byte [ebp - 0x429], cl
mov byte [ebp - 0x3f6], cl
mov byte [ebp - 0x3e0], cl
pop ecx
push 0x13
mov byte [ebp - 0x3d6], cl
pop ecx
push 0xe
mov dword [ebp - 0x40], ecx
mov byte [ebp - 0x3bb], cl
pop ecx
push 0x34
mov byte [ebp - 0x3ba], cl
pop ecx
push 0x18
mov byte [ebp - 0x38e], cl
pop ecx
mov dword [ebp - 0x19c], esi
mov dword [ebp - 0x440], 0x6db4f596
mov dword [ebp - 0x43c], 0xbe2ee442
mov dword [ebp - 0x438], 0xa70d7346
mov dword [ebp - 0x434], 0xc05664e6
mov dword [ebp - 0x430], 0x5e0ddb2f
mov word [ebp - 0x42c], 0x368a
mov byte [ebp - 0x42a], 0x5f
mov dword [ebp - 0x428], 0xee536f1e
mov dword [ebp - 0x424], 0x84fbd25d
mov dword [ebp - 0x420], 0x3a97e8e3
mov dword [ebp - 0x41c], 0xe066b588
mov dword [ebp - 0x418], 0xbc145925
mov dword [ebp - 0x414], 0x4588a24d
mov dword [ebp - 0x410], 0x87754b64
mov dword [ebp - 0x40c], 0xf5f1fcab
mov dword [ebp - 0x408], 0x289fcfcf
mov dword [ebp - 0x404], 0x2a698ad2
mov dword [ebp - 0x400], 0x58965bc9
mov dword [ebp - 0x3fc], 0x65ef1426
mov word [ebp - 0x3f8], 0x7e38
mov dword [ebp - 0x3f5], 0x190a19c4
mov dword [ebp - 0x3f1], 0xa45dd8f
mov dword [ebp - 0x3ed], 0x14358e15
mov dword [ebp - 0x3e9], 0xaefbfff1
mov dword [ebp - 0x3e5], 0xada95fd8
mov byte [ebp - 0x3e1], 0x8b
mov dword [ebp - 0x3df], 0xdf644fbd
mov dword [ebp - 0x3db], 0x3af06f42
mov byte [ebp - 0x3d7], 0x6d
mov dword [ebp - 0x3d5], 0xd9ccd75a
mov dword [ebp - 0x3d1], 0xa0a285d7
mov dword [ebp - 0x3cd], 0xecf86c91
mov dword [ebp - 0x3c9], 0xf57923be
mov dword [ebp - 0x3c5], 0x1a0607a
mov dword [ebp - 0x3c1], 0x76000dca
mov word [ebp - 0x3bd], 0x1a6e
mov dword [ebp - 0x3b9], 0x5610e67e
mov dword [ebp - 0x3b5], 0x5bcb9f9b
mov dword [ebp - 0x3b1], 0xe67bfb91
mov dword [ebp - 0x3ad], 0xa2b38b23
mov dword [ebp - 0x3a9], 0x27996b9b
mov dword [ebp - 0x3a5], 0xd34579d0
mov dword [ebp - 0x3a1], 0x5ff91621
mov dword [ebp - 0x39d], 0x2ac91472
mov dword [ebp - 0x399], 0xa8e75cd6
mov dword [ebp - 0x395], 0x1d367ef1
mov word [ebp - 0x391], 0x60d6
mov byte [ebp - 0x38f], 0x1e
mov dword [ebp - 0x38d], 0x4b995b52
mov dword [ebp - 0x389], 0x97e64475
mov word [ebp - 0x385], 0x8874
mov byte [ebp - 0x383], 0x8d
mov byte [ebp - 0x382], cl
mov dword [ebp - 0x381], 0xeb701bec
mov dword [ebp - 0x37d], 0x30620c3e
mov dword [ebp - 0x379], 0xebf0b4ad
mov dword [ebp - 0x375], 0xe0f2b334
mov dword [ebp - 0x371], 0x157f41fd
mov dword [ebp - 0x36d], 0x8ea94869
mov dword [ebp - 0x369], 0xdd5c1f6c
push 6
mov byte [ebp - 0x345], cl
mov edi, eax
pop ecx
push 0x1f
mov byte [ebp - 0x33c], cl
pop ecx
push 0xb
mov byte [ebp - 0x312], cl
pop ecx
mov byte [ebp - 0x30e], cl
push 9
pop ecx
mov byte [ebp - 0x305], cl
push 0x3c
pop ecx
mov byte [ebp - 0x2dd], cl
imul ecx, edx, 0xc1bfcf91
mov dword [ebp - 0x365], 0x7141bbab
mov dword [ebp - 0x361], 0x4e517d31
mov dword [ebp - 0x35d], 0xad78fbdd
mov dword [ebp - 0x359], 0xf6ce9f74
mov dword [ebp - 0x44], ecx
mov dword [0x44d784], ecx
mov ecx, eax
mov dword [ebp - 0x355], 0xcc8dd30f
mov dword [ebp - 0x351], 0x7cbcb5a3
mov dword [ebp - 0x34d], 0x96724da
mov dword [ebp - 0x349], 0x4540b903
mov dword [ebp - 0x344], 0x52dec17c
mov dword [ebp - 0x340], 0x4adbd126
mov dword [ebp - 0x33b], 0x317dfff6
mov dword [ebp - 0x337], 0xcbe47308
mov dword [ebp - 0x333], 0x16a07a68
mov dword [ebp - 0x32f], 0x3b8c6a04
mov dword [ebp - 0x32b], 0x30aca51c
mov dword [ebp - 0x327], 0x247fac72
mov dword [ebp - 0x323], 0x84437117
mov dword [ebp - 0x31f], 0x946c96a4
mov dword [ebp - 0x31b], 0xeea3c463
mov dword [ebp - 0x317], 0x4dcc477c
mov byte [ebp - 0x313], 0xcb
mov word [ebp - 0x311], 0x53a3
mov byte [ebp - 0x30f], 0x3b
mov dword [ebp - 0x30d], 0x56e176e9
mov dword [ebp - 0x309], 0x8d412eb0
mov dword [ebp - 0x304], 0xd1f53739
mov dword [ebp - 0x300], 0x6e86759a
mov dword [ebp - 0x2fc], 0x331c1b5c
mov dword [ebp - 0x2f8], 0xb6e6f623
mov dword [ebp - 0x2f4], 0xd06ac624
mov dword [ebp - 0x2f0], 0x9bfc2a3a
mov dword [ebp - 0x2ec], 0xdbcc4899
mov dword [ebp - 0x2e8], 0xd4d2aaf2
mov dword [ebp - 0x2e4], 0x5f8bad4c
mov word [ebp - 0x2e0], 0x7673
mov byte [ebp - 0x2de], 0x3b
mov dword [ebp - 0x2dc], 0xab33800d
mov dword [ebp - 0x2d8], 0x934a61d2
mov dword [ebp - 0x18], 0x73657268
mov dword [ebp - 0x14], 0x746c75
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x428a17
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x2cc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x78]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x18]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x2cc], al
cmp esi, 0x100
jb 0x428a29
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
imul eax, dword [ebp - 0x44], 0x59f0cf4e
mov dword [0x44d774], eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + esi - 0x440]
mov byte [ebp + esi - 0xd14], al
inc esi
cmp esi, 0x16c
jb 0x428a7f
mov esi, 0x401628
mov byte [ebp - 0x28], 0xaa
lea edi, [ebp - 0x58]
mov dword [ebp - 0x26], 0xc3b5d5ca
push 0x11
pop ecx
movsd dword es:[edi], dword [esi]
xor eax, eax
push 0x34
mov byte [ebp - 0x27], cl
pop ecx
movsd dword es:[edi], dword [esi]
push 7
mov byte [ebp - 0x21], cl
pop ecx
movsd dword es:[edi], dword [esi]
push 0x72
mov byte [ebp - 0x1a], cl
mov ecx, 0x40277c
mov byte [ebp - 0xba8], al
movsw word es:[edi], word [esi]
mov byte [ebp - 0x22], 0xcd
mov dword [ebp - 0x20], 0x8c081eaa
mov word [ebp - 0x1c], 0xb12a
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x19], 0xd14033d3
mov esi, 0xbbc
mov dword [ebp - 0x15], 0x2ee7cb9b
mov byte [ebp - 0x11], 0xc6
pop edx
add esi, edx
lea ecx, [ecx + 2]
cmp esi, 0x1f50
ja 0x428b59
movzx edx, word [ecx]
test edx, edx
jne 0x428b40
mov ecx, dword [ebp - 0x44]
jmp 0x428b73
mov esi, 0x44d7b4
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
pop ecx
pop ecx
mov ecx, dword [0x44d784]
xor eax, eax
xor ecx, 0xfdbf77dc
mov edi, eax
or ecx, 0x8db17194
mov dword [ebp - 0x44], ecx
mov ecx, eax
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x428b86
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x2cc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x184]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x58]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x2cc], al
cmp esi, 0x100
jb 0x428b98
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + esi - 0x28]
mov byte [ebp + esi - 0x860], al
inc esi
cmp esi, 0x18
jb 0x428be5
mov eax, dword [ebp - 0x44]
lea edi, [ebp - 0xc0]
mov esi, 0x402684
mov dword [ebp - 0x18], 0x2393f899
xor eax, 0xf22ab21c
mov word [ebp - 0x14], 0x5872
mov dword [0x44d774], eax
xor eax, eax
mov byte [ebp - 0x848], al
mov ecx, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, eax
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x428c71
mov esi, eax
mov dl, byte [ebp + esi - 0x2cc]
mov eax, esi
push 7
pop ecx
and eax, ecx
movzx ecx, dl
movzx eax, byte [ebp + eax - 0xc0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov byte [ebp + edi - 0x2cc], dl
cmp esi, 0x100
jb 0x428c83
xor eax, eax
mov dword [ebp - 8], eax
mov ecx, eax
mov edi, eax
mov eax, dword [ebp - 0x44]
add eax, 0x1cd5dcdf
mov dword [ebp - 0x44], eax
mov dword [0x44d784], eax
lea eax, [ecx + 1]
movzx eax, al
mov dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x10]
mov cl, byte [ebp + eax - 0x2cc]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
mov eax, esi
mov esi, 0x44d7b4
mov ecx, esi
movzx eax, byte [ebp + eax - 0x2cc]
add eax, edx
mov edx, 0x9f0
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp - 1], al
movzx eax, byte [0x44d7b4]
jmp 0x428d4f
add edx, eax
inc ecx
cmp edx, 0x285
ja 0x428d95
movzx eax, byte [ecx]
test eax, eax
jne 0x428d41
mov eax, dword [ebp - 0x44]
add eax, 0x2e2bcc8c
mov edx, esi
and eax, 0xd1e41bb7
mov ecx, esi
push esi
push esi
mov dword [0x44d784], eax
call fcn.004218d2
mov al, byte [ebp + edi - 0x18]
xor al, byte [ebp - 1]
pop ecx
pop ecx
mov byte [ebp + edi - 0x4f0], al
inc edi
push 6
pop eax
cmp edi, eax
jae 0x428da6
mov eax, dword [0x44d784]
mov ecx, dword [ebp - 0x10]
jmp 0x428ccd
call fcn.004219e0
mov eax, dword [0x44d774]
xor eax, 0x5dddb0cf
jmp 0x428d56
mov esi, 0x402690
mov word [ebp - 0x60], 0x1cb
lea edi, [ebp - 0x1c]
mov dword [ebp - 0x5d], 0xe85d66ad
push 0x34
pop ecx
movsd dword es:[edi], dword [esi]
xor eax, eax
mov byte [ebp - 0x5e], cl
mov edx, eax
push 0x15
pop ecx
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x4c], cl
mov ecx, 0x40277c
mov byte [ebp - 0x4ea], al
mov dword [ebp - 0x59], 0xf8369346
mov dword [ebp - 0x55], 0x6ba37c41
mov dword [ebp - 0x51], 0x7163413f
mov byte [ebp - 0x4d], 0x94
mov word [ebp - 0x4b], 0xf714
mov byte [ebp - 0x49], 0xec
movsw word es:[edi], word [esi]
inc edx
lea ecx, [ecx + 2]
cmp edx, 0x1549
je 0x428e16
cmp word [ecx], ax
jne 0x428dfd
cmp edx, 0x258c
jle 0x428e2a
mov esi, 0x44d7b4
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
pop ecx
pop ecx
jmp 0x428e2f
mov esi, 0x44d7b4
mov eax, dword [0x44d774]
xor eax, 0x8b43bf0c
mov dword [0x44d784], eax
or eax, 0xed0aa73c
mov edx, esi
push esi
push esi
mov ecx, esi
mov dword [0x44d774], eax
call fcn.004218d2
pop ecx
xor eax, eax
pop ecx
mov edi, eax
mov ecx, eax
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x428e5b
mov esi, eax
mov eax, dword [0x44d774]
add eax, 0x4c7b8d00
mov dword [ebp - 0x10], eax
xor edx, edx
mov cl, byte [ebp + esi - 0x2cc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x9c]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x1c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x2cc], al
cmp esi, 0x100
jb 0x428e7a
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + esi - 0x60]
mov byte [ebp + esi - 0x87c], al
inc esi
cmp esi, 0x18
jb 0x428ec7
mov esi, 0x401680
mov dword [ebp - 0x18], 0xaeb2fa92
lea edi, [ebp - 0x54]
mov word [ebp - 0x14], 0x21f8
xor eax, eax
mov byte [ebp - 0x864], al
mov ecx, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, eax
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x428f43
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x2cc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x90]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x54]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
mov eax, dword [ebp - 0x10]
or eax, 0x7e81ba16
mov dword [ebp - 0x80], eax
imul ecx, dword [ebp - 0x10], 0x36b7e75b
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x2cc], al
mov dword [ebp - 0x10], ecx
cmp esi, 0x100
jb 0x428f55
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
push 6
mov cl, byte [ebp + edi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x4e8], al
inc esi
pop eax
cmp esi, eax
jb 0x428fb7
push 0x34
pop ecx
push 0x13
mov byte [ebp - 0x38], cl
lea edi, [ebp - 0x5c]
pop ecx
push 0x11
mov byte [ebp - 0x35], cl
mov esi, 0x402554
pop ecx
mov byte [ebp - 0x30], cl
xor eax, eax
push 0xb
pop ecx
mov byte [ebp - 0x2a], cl
mov byte [ebp - 0x1e], cl
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x80]
mov ecx, eax
add esi, 0xff0a1710
mov byte [ebp - 0x4e2], al
or esi, 0xf9882d6a
mov dword [ebp - 0x3c], 0x658c715b
mov word [ebp - 0x37], 0xb1bb
mov dword [ebp - 0x34], 0x36d9fa4a
mov dword [ebp - 0x2f], 0x4cfd0850
mov byte [ebp - 0x2b], 0x90
mov dword [ebp - 0x29], 0xe49b83d3
mov dword [ebp - 0x25], 0x5dc26bdc
mov word [ebp - 0x21], 0xf5d8
mov byte [ebp - 0x1f], 0x80
mov dword [ebp - 0x1d], 0x77b342cf
mov dword [ebp - 0x19], 0xa6ee0058
mov dword [ebp - 0x15], 0x84c55b3e
mov byte [ebp - 0x11], 0xbf
mov dword [0x44d784], esi
mov dword [ebp - 8], eax
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x4290ab
mov edi, eax
cmp byte [0x44d7b4], 0
mov ecx, eax
je 0x4290fb
inc ecx
cmp ecx, 0x1720
jg 0x4290dc
cmp byte [ecx + 0x44d7b4], 0
jne 0x4290c8
jmp 0x4290fb
mov eax, esi
xor eax, 0xde9707e6
mov dword [0x44d774], eax
cmp ecx, 0x244f
jle 0x4290fb
call fcn.004219e0
mov esi, dword [0x44d784]
lea eax, [esi - 0x1f973006]
mov cl, byte [ebp + edi - 0x2cc]
mov dword [0x44d774], eax
xor edx, edx
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x40]
movzx ecx, cl
push 0
movzx eax, byte [ebp + edx - 0x5c]
add eax, dword [ebp - 8]
add ecx, eax
movzx edx, cl
mov dword [ebp - 8], edx
mov al, byte [ebp + edx - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0x2cc], al
pop eax
cmp edi, 0x100
jb 0x4290bd
imul eax, esi, 0x634d18b8
mov dword [0x44d774], eax
xor esi, 0x573437ad
mov dword [0x44d784], esi
mov esi, 0x44d7b4
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 8], ecx
mov edi, ecx
mov dword [ebp - 0x10], ecx
cmp byte [0x44d7b4], 0
lea eax, [edi + 1]
movzx edi, al
je 0x4291bf
inc ecx
cmp ecx, 0x1506
je 0x4291a8
cmp byte [ecx + 0x44d7b4], 0
jne 0x429194
jmp 0x4291bf
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
add dword [0x44d784], 0x66c161b7
pop ecx
pop ecx
mov eax, dword [0x44d784]
add eax, 0x80712de6
mov dword [0x44d774], eax
call fcn.004219e0
mov cl, byte [ebp + edi - 0x2cc]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
and dword [0x44d774], 0x68f96dad
movzx eax, al
mov dword [ebp - 8], eax
push 0
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
mov edx, dword [ebp - 0x10]
movzx eax, al
pop ecx
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + edx - 0x3c]
mov byte [ebp + edx - 0xab4], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0x2c
jb 0x429185
push 5
pop ecx
mov esi, 0x401c00
mov dword [ebp - 0x18], 0xa88daabc
lea edi, [ebp - 0x60]
mov byte [ebp - 0x14], 0x12
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov byte [ebp - 0xa88], al
mov ecx, eax
movsw word es:[edi], word [esi]
mov edi, eax
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x429262
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x2cc]
mov eax, esi
xor dword [0x44d774], 0xc799ec15
div dword [ebp - 0xac]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x60]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x2cc], al
cmp esi, 0x100
jb 0x429274
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
push 5
mov cl, byte [ebp + edi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x4a8], al
inc esi
pop eax
cmp esi, eax
jb 0x4292cb
push 0x3c
pop ecx
mov byte [ebp - 0x16], cl
lea edi, [ebp - 0x6c]
push 8
pop ecx
mov esi, 0x40269c
mov dword [ebp - 0x3c], 0x9c6a4446
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebp - 0x38], 0x2112eb62
mov byte [ebp - 0x4a3], al
mov dword [ebp - 0x34], 0xa1815df7
movsw word es:[edi], word [esi]
mov dword [ebp - 0x30], 0xf1ce7d9f
mov dword [ebp - 0x2c], 0xbec4ad97
mov dword [ebp - 0x28], 0x2ec22a81
movsb byte es:[edi], byte [esi]
mov edi, eax
mov dword [ebp - 0x24], 0x2be5756d
mov dword [ebp - 0x20], 0x70418f68
mov dword [ebp - 0x1c], 0x7d03ecfe
mov word [ebp - 0x18], 0x21c8
mov dword [ebp - 0x15], 0x3989214d
mov byte [ebp - 0x11], 0xf2
cmp byte [0x44d7b4], al
je 0x4293e8
inc edi
cmp edi, 0xb3c
jl 0x4293b5
cmp byte [edi + 0x44d7b4], al
jne 0x42939d
mov esi, 0x44d7b4
jmp 0x4293d9
mov esi, 0x44d7b4
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
xor dword [0x44d784], 0x91c9fa47
pop ecx
pop ecx
cmp edi, 0x416
jle 0x4293e6
push esi
push esi
mov edx, esi
mov ecx, esi
call fcn.004218d2
pop ecx
pop ecx
xor eax, eax
mov ecx, dword [0x44d784]
mov edi, eax
and ecx, 0xe8abd76a
mov dword [ebp - 0x10], ecx
mov ecx, eax
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x4293fb
mov esi, eax
mov dword [ebp - 0x80], 0x22
xor edx, edx
mov cl, byte [ebp + esi - 0x2cc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x80]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x6c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x2cc], al
cmp esi, 0x100
jb 0x429414
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
push 0x72
mov cl, byte [ebp + edi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
mov edx, 0x40277c
movzx eax, al
pop ecx
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp - 1], al
lea eax, [ecx - 0x30]
push 9
pop ecx
cmp ax, cx
ja 0x4294ca
add edx, 2
movzx eax, word [edx]
mov ecx, eax
test ax, ax
jne 0x4294b0
jmp 0x4294d7
mov eax, dword [ebp - 0x10]
add eax, 0x37d4f81e
mov dword [0x44d784], eax
mov eax, dword [ebp - 0x10]
and eax, 0x20af1a93
mov dword [0x44d774], eax
call fcn.004219e0
mov al, byte [ebp + esi - 0x3c]
xor al, byte [ebp - 1]
mov byte [ebp + esi - 0xb14], al
inc esi
cmp esi, 0x2c
jae 0x42950a
mov eax, dword [0x44d774]
mov dword [ebp - 0x10], eax
jmp 0x42945e
mov esi, 0x4025b8
mov dword [ebp - 0x18], 0x26a393ea
lea edi, [ebp - 0xc0]
mov byte [ebp - 0x14], 0x85
xor eax, eax
add dword [0x44d784], 0x5e51af92
mov byte [ebp - 0xae8], al
mov ecx, eax
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, eax
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x42953a
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x2cc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0xa0]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xc0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x2cc], al
cmp esi, 0x100
jb 0x42954c
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
push 5
mov cl, byte [ebp + edi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x4b0], al
inc esi
pop eax
cmp esi, eax
jb 0x42959c
push 9
pop ecx
mov dword [ebp - 0x58], ecx
xorps xmm1, xmm1
push 0xa
pop ecx
mov dword [ebp - 0x50], ecx
xor eax, eax
mov dword [ebp - 0x54], 0x37
mov dword [ebp - 0x4c], 0x1bb6
movups xmm0, xmmword [ebp - 0x58]
push 7
mov byte [ebp - 0x4ab], al
psubd xmm1, xmm0
mov dword [ebp - 0x18], 0x18
movaps xmm0, xmm1
mov dword [ebp - 0x14], 0xffffffe0
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0x2000
mov dword [ebp - 0xfc], ecx
pop ecx
mov edx, ecx
push 0xe
pop ecx
mov dword [ebp - 0x1c], ecx
mov ecx, eax
sub edx, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, 3
jl 0x429666
mov esi, 0x402584
mov dword [ebp - 0x80], edx
lea edi, [ebp - 0x58]
mov dword [ebp - 0x3c], 0xdf1b948b
mov dword [ebp - 0x38], 0x417cb1e3
mov ecx, eax
mov dword [ebp - 0x34], 0xe4cee616
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x30], 0xe97b1602
mov dword [ebp - 0x2c], 0x386b9320
mov dword [ebp - 0x28], 0x47bacbda
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], 0x6c4814be
mov dword [ebp - 0x20], 0x28d547de
mov dword [ebp - 0x1c], 0x551d4968
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0x7b1c95f7
mov dword [ebp - 0x14], 0x5e914f40
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, eax
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x4296d2
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x2cc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x184]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x58]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x2cc], al
cmp esi, 0x100
jb 0x4296e4
mov eax, dword [0x44d784]
add eax, 0x60ec86fe
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + esi - 0x3c]
mov byte [ebp + esi - 0xb44], al
inc esi
cmp esi, 0x2c
jb 0x42973e
xor eax, eax
mov dword [ebp - 0x18], 0x3ee9fd57
mov byte [ebp - 0xb18], al
mov edi, eax
mov byte [ebp - 0x14], 0xf1
mov ecx, eax
mov dword [ebp - 0xc0], 0x7373656d
mov dword [ebp - 0xbc], 0x656761
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x4297c1
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x2cc]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x78]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xc0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x2cc]
mov byte [ebp + esi - 0x2cc], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x2cc], al
cmp esi, 0x100
jb 0x4297d3
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
push 5
mov cl, byte [ebp + edi - 0x2cc]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x2cc]
mov byte [ebp + edi - 0x2cc], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x2cc], cl
movzx eax, byte [ebp + edi - 0x2cc]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x2cc]
xor al, byte [ebp + esi - 0x18]
mov byte [ebp + esi - 0x4b8], al
inc esi
pop eax
cmp esi, eax
jb 0x429820
push 0x62
pop eax
mov byte [ebp - 0x6c], al
xor ecx, ecx
mov byte [ebp - 0x4c], al
mov eax, dword [0x4026c0]
push 0xf
mov dword [ebp - 0x18], eax
mov ax, word [0x4026c4]
pop edx
mov byte [ebp - 0x4b3], cl
mov dword [ebp - 0x74], 0x47ab8cbb
mov dword [ebp - 0x70], 0x52ee323b
mov dword [ebp - 0x6b], 0xe4ed8838
mov dword [ebp - 0x67], 0x5ca93ef5
mov dword [ebp - 0x63], 0x466c318c
mov dword [ebp - 0x5f], 0x8b3fb9c7
mov byte [ebp - 0x5b], 0x84
mov byte [ebp - 0x5a], dl
mov dword [ebp - 0x59], 0x1026ee97
mov dword [ebp - 0x55], 0x6e3a0d73
mov dword [ebp - 0x51], 0x354d86ec
mov byte [ebp - 0x4d], 0xea
mov word [ebp - 0x4b], 0xf842
mov byte [ebp - 0x49], 0xec
mov word [ebp - 0x14], ax
cmp byte [0x44d7b4], cl
je 0x429912
inc ecx
cmp ecx, 0xd44
je 0x4299db
mov eax, dword [0x44d784]
mov esi, 0x44d7b4
add eax, 0x4db64a84
push esi
push esi
mov edx, esi
mov dword [0x44d774], eax
mov ecx, esi
call fcn.004218d2
pop ecx
pop ecx
mov ecx, dword [0x44d774]
xor eax, eax
sub ecx, 0x50e484e4
mov dword [ebp - 0x44], ecx
mov ecx, eax
mov byte [ebp + ecx - 0x2cc], cl
inc ecx
cmp ecx, 0x100
jb 0x429946