Function at 0x100d8a30
Capabilities:
Hash data using sha256
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [0x103d96b8], eax
mov eax, dword [edx + 4]
mov dword [0x103d96bc], eax
mov eax, dword [edx + 8]
mov dword [0x103d96c0], eax
mov eax, dword [edx + 0xc]
mov dword [0x103d96c4], eax
mov eax, dword [edx + 0x10]
mov dword [0x103d96c8], eax
mov eax, dword [edx + 0x14]
mov dword [0x103d96cc], eax
mov eax, dword [edx + 0x18]
mov dword [0x103d96d0], eax
mov eax, dword [edx + 0x1c]
mov dword [0x103d96d4], eax
mov eax, dword [edx + 0x20]
mov dword [0x103d96d8], eax
mov eax, dword [edx + 0x24]
mov dword [0x103d96dc], eax
mov eax, dword [edx + 0x28]
mov dword [0x103d96e0], eax
mov eax, dword [edx + 0x2c]
mov dword [0x103d96e4], eax
mov eax, dword [edx + 0x30]
mov dword [0x103d96e8], eax
mov eax, dword [edx + 0x34]
mov dword [0x103d96ec], eax
mov eax, dword [edx + 0x38]
mov dword [0x103d96f0], eax
mov eax, dword [edx + 0x3c]
mov dword [0x103d96f4], eax
push eax
push edx
mov eax, dword [0x103d96f0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d96f4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d96f0]
mov eax, dword [0x103d96f4]
mov edi, dword [0x103d96e0]
sub eax, 0x59eee795
xor edi, dword [0x103d96e8]
lea ecx, [ebx - 0x4117c6f3]
mov esi, dword [0x103d92f4]
mul ecx
xor ecx, ecx
and edi, ebx
xor edi, dword [0x103d96e0]
or ecx, eax
mov dword [ebp + 8], ecx
mov ecx, dword [0x103d96e4]
xor ecx, dword [0x103d96ec]
and ecx, dword [0x103d96f4]
xor ecx, dword [0x103d96e4]
add edx, edi
mov eax, dword [ebp + 8]
adc eax, ecx
add edx, dword [0x103d96b8]
mov ecx, dword [0x103d92f0]
adc eax, dword [0x103d96bc]
add edx, dword [0x103d96d8]
adc eax, dword [0x103d96dc]
add edx, 0x71374491
adc eax, 0x428a2f98
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or esi, eax
or ecx, edx
mov dword [0x103d96f8], esi
mov dword [0x103d96fc], ecx
push eax
push edx
mov eax, dword [0x103d96f8]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d96fc]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d96f8]
mov eax, dword [0x103d96fc]
mov edi, dword [0x103d96e8]
sub eax, 0x59eee795
xor edi, dword [0x103d96f0]
lea ecx, [ebx - 0x4117c6f3]
mov esi, dword [0x103d92f4]
mul ecx
xor ecx, ecx
and edi, ebx
xor edi, dword [0x103d96e8]
or ecx, eax
mov dword [ebp + 8], ecx
mov ecx, dword [0x103d96ec]
xor ecx, dword [0x103d96f4]
and ecx, dword [0x103d96fc]
xor ecx, dword [0x103d96ec]
add edx, edi
mov eax, dword [ebp + 8]
adc eax, ecx
add edx, dword [0x103d96c0]
mov ecx, dword [0x103d92f0]
adc eax, dword [0x103d96c4]
add edx, dword [0x103d96e0]
adc eax, dword [0x103d96e4]
add edx, 0xe9b5dba5
adc eax, 0xb5c0fbcf
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d9704], ecx
mov dword [0x103d9700], esi
push eax
push edx
mov eax, dword [0x103d9700]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d9704]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9700]
mov eax, dword [0x103d9704]
mov edi, dword [0x103d96f8]
sub eax, 0x59eee795
xor edi, dword [0x103d96f0]
mov esi, dword [0x103d96fc]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d96f4]
and edi, ebx
and esi, dword [0x103d9704]
xor esi, dword [0x103d96f4]
xor edi, dword [0x103d96f0]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d96c8]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d96cc]
add edx, dword [0x103d96e8]
adc eax, dword [0x103d96ec]
add edx, 0x59f111f1
adc eax, 0x3956c25b
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d970c], ecx
mov dword [0x103d9708], esi
push eax
push edx
mov eax, dword [0x103d9708]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d970c]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9708]
mov eax, dword [0x103d970c]
mov edi, dword [0x103d9700]
sub eax, 0x59eee795
xor edi, dword [0x103d96f8]
mov esi, dword [0x103d9704]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d96fc]
and edi, ebx
and esi, dword [0x103d970c]
xor esi, dword [0x103d96fc]
xor edi, dword [0x103d96f8]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d96d0]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d96d4]
add edx, dword [0x103d96f0]
adc eax, dword [0x103d96f4]
add edx, 0xab1c5ed5
adc eax, 0x923f82a4
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d9714], ecx
mov dword [0x103d9710], esi
push eax
push edx
mov eax, dword [0x103d9710]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d9714]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9710]
mov eax, dword [0x103d9714]
mov edi, dword [0x103d9708]
sub eax, 0x59eee795
xor edi, dword [0x103d9700]
mov esi, dword [0x103d970c]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d9704]
and edi, ebx
and esi, dword [0x103d9714]
xor edi, dword [0x103d9700]
xor esi, dword [0x103d9704]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
adc eax, esi
add edx, dword [0x103d96f8]
adc eax, dword [0x103d96fc]
add edx, dword [0x103d96d8]
adc eax, dword [0x103d96dc]
add edx, 0x12835b01
mov ecx, dword [0x103d92f0]
adc eax, 0xd807aa98
mov esi, dword [0x103d92f4]
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d971c], ecx
mov dword [0x103d9718], esi
push eax
push edx
mov eax, dword [0x103d9718]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d971c]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9718]
mov eax, dword [0x103d971c]
mov edi, dword [0x103d9710]
sub eax, 0x59eee795
xor edi, dword [0x103d9708]
mov esi, dword [0x103d9714]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d970c]
and edi, ebx
and esi, dword [0x103d971c]
xor esi, dword [0x103d970c]
xor edi, dword [0x103d9708]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9700]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d9704]
add edx, dword [0x103d96e0]
adc eax, dword [0x103d96e4]
add edx, 0x550c7dc3
adc eax, 0x243185be
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d9724], ecx
mov dword [0x103d9720], esi
push eax
push edx
mov eax, dword [0x103d9720]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d9724]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9720]
mov eax, dword [0x103d9724]
mov edi, dword [0x103d9718]
sub eax, 0x59eee795
xor edi, dword [0x103d9710]
mov esi, dword [0x103d971c]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d9714]
and edi, ebx
and esi, dword [0x103d9724]
mul ecx
xor ecx, ecx
or ecx, eax
xor edi, dword [0x103d9710]
xor esi, dword [0x103d9714]
mov eax, ecx
mov ecx, dword [0x103d92f0]
add edx, edi
adc eax, esi
add edx, dword [0x103d9708]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d970c]
add edx, dword [0x103d96e8]
adc eax, dword [0x103d96ec]
add edx, 0x80deb1fe
adc eax, 0x72be5d74
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d972c], ecx
mov dword [0x103d9728], esi
push eax
push edx
mov eax, dword [0x103d9728]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d972c]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9728]
mov eax, dword [0x103d972c]
mov edi, dword [0x103d9720]
sub eax, 0x59eee795
xor edi, dword [0x103d9718]
mov esi, dword [0x103d9724]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d971c]
and edi, ebx
and esi, dword [0x103d972c]
xor esi, dword [0x103d971c]
xor edi, dword [0x103d9718]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9710]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d9714]
add edx, dword [0x103d96f0]
adc eax, dword [0x103d96f4]
add edx, 0xc19bf174
adc eax, 0x9bdc06a7
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d9734], ecx
mov dword [0x103d9730], esi
push eax
push edx
mov eax, dword [0x103d9730]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d9734]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9730]
mov eax, dword [0x103d9734]
sub eax, 0x59eee795
lea ecx, [ebx - 0x4117c6f3]
mul ecx
mov edi, dword [0x103d9728]
xor ecx, ecx
xor edi, dword [0x103d9720]
or ecx, eax
mov esi, dword [0x103d972c]
and edi, ebx
xor esi, dword [0x103d9724]
mov eax, ecx
and esi, dword [0x103d9734]
xor esi, dword [0x103d9724]
xor edi, dword [0x103d9720]
mov ecx, dword [0x103d92f0]
add edx, edi
adc eax, esi
add edx, dword [0x103d9718]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d971c]
add edx, dword [0x103d96f8]
adc eax, dword [0x103d96fc]
add edx, 0xefbe4786
adc eax, 0xe49b69c1
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d973c], ecx
mov dword [0x103d9738], esi
push eax
push edx
mov eax, dword [0x103d9738]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d973c]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9738]
mov eax, dword [0x103d973c]
mov edi, dword [0x103d9730]
sub eax, 0x59eee795
xor edi, dword [0x103d9728]
mov esi, dword [0x103d9734]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d972c]
and edi, ebx
and esi, dword [0x103d973c]
xor esi, dword [0x103d972c]
xor edi, dword [0x103d9728]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9720]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d9724]
add edx, dword [0x103d9700]
adc eax, dword [0x103d9704]
add edx, 0x240ca1cc
adc eax, 0xfc19dc6
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or esi, eax
or ecx, edx
mov dword [0x103d9740], esi
mov dword [0x103d9744], ecx
push eax
push edx
mov eax, dword [0x103d9740]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d9744]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9740]
mov eax, dword [0x103d9744]
mov edi, dword [0x103d9738]
sub eax, 0x59eee795
xor edi, dword [0x103d9730]
mov esi, dword [0x103d973c]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d9734]
and edi, ebx
and esi, dword [0x103d9744]
xor esi, dword [0x103d9734]
xor edi, dword [0x103d9730]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9728]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d972c]
add edx, dword [0x103d9708]
adc eax, dword [0x103d970c]
add edx, 0x4a7484aa
adc eax, 0x2de92c6f
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d974c], ecx
mov dword [0x103d9748], esi
push eax
push edx
mov eax, dword [0x103d9748]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d974c]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9748]
mov eax, dword [0x103d974c]
mov edi, dword [0x103d9740]
sub eax, 0x59eee795
xor edi, dword [0x103d9738]
mov esi, dword [0x103d9744]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d973c]
and edi, ebx
and esi, dword [0x103d974c]
xor esi, dword [0x103d973c]
xor edi, dword [0x103d9738]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9730]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d9734]
add edx, dword [0x103d9710]
adc eax, dword [0x103d9714]
add edx, 0x76f988da
adc eax, 0x5cb0a9dc
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d9754], ecx
mov dword [0x103d9750], esi
push eax
push edx
mov eax, dword [0x103d9750]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d9754]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9750]
mov eax, dword [0x103d9754]
mov edi, dword [0x103d9748]
sub eax, 0x59eee795
xor edi, dword [0x103d9740]
mov esi, dword [0x103d974c]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d9744]
and edi, ebx
and esi, dword [0x103d9754]
xor esi, dword [0x103d9744]
xor edi, dword [0x103d9740]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9738]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d973c]
add edx, dword [0x103d9718]
adc eax, dword [0x103d971c]
add edx, 0xa831c66d
adc eax, 0x983e5152
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d975c], ecx
mov dword [0x103d9758], esi
push eax
push edx
mov eax, dword [0x103d9758]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d975c]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9758]
mov eax, dword [0x103d975c]
mov edi, dword [0x103d9750]
sub eax, 0x59eee795
xor edi, dword [0x103d9748]
mov esi, dword [0x103d9754]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d974c]
and edi, ebx
and esi, dword [0x103d975c]
xor edi, dword [0x103d9748]
xor esi, dword [0x103d974c]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
adc eax, esi
add edx, dword [0x103d9740]
adc eax, dword [0x103d9744]
add edx, dword [0x103d9720]
adc eax, dword [0x103d9724]
add edx, 0xbf597fc7
mov ecx, dword [0x103d92f0]
adc eax, 0xb00327c8
mov esi, dword [0x103d92f4]
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d9764], ecx
mov dword [0x103d9760], esi
push eax
push edx
mov eax, dword [0x103d9760]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d9764]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9760]
mov eax, dword [0x103d9764]
mov edi, dword [0x103d9758]
sub eax, 0x59eee795
xor edi, dword [0x103d9750]
mov esi, dword [0x103d975c]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d9754]
and edi, ebx
and esi, dword [0x103d9764]
xor esi, dword [0x103d9754]
xor edi, dword [0x103d9750]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9748]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d974c]
add edx, dword [0x103d9728]
adc eax, dword [0x103d972c]
add edx, 0xd5a79147
adc eax, 0xc6e00bf3
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d976c], ecx
mov dword [0x103d9768], esi
push eax
push edx
mov eax, dword [0x103d9768]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d976c]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9768]
mov eax, dword [0x103d976c]
mov edi, dword [0x103d9760]
sub eax, 0x59eee795
xor edi, dword [0x103d9758]
mov esi, dword [0x103d9764]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d975c]
and edi, ebx
and esi, dword [0x103d976c]
mul ecx
xor ecx, ecx
or ecx, eax
xor edi, dword [0x103d9758]
xor esi, dword [0x103d975c]
mov eax, ecx
mov ecx, dword [0x103d92f0]
add edx, edi
adc eax, esi
add edx, dword [0x103d9750]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d9754]
add edx, dword [0x103d9730]
adc eax, dword [0x103d9734]
add edx, 0x14292967
adc eax, 0x6ca6351
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d9774], ecx
mov dword [0x103d9770], esi
push eax
push edx
mov eax, dword [0x103d9770]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d9774]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9770]
mov eax, dword [0x103d9774]
mov edi, dword [0x103d9768]
sub eax, 0x59eee795
xor edi, dword [0x103d9760]
mov esi, dword [0x103d976c]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d9764]
and edi, ebx
and esi, dword [0x103d9774]
xor esi, dword [0x103d9764]
xor edi, dword [0x103d9760]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9758]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d975c]
add edx, dword [0x103d9738]
adc eax, dword [0x103d973c]
add edx, 0x2e1b2138
adc eax, 0x27b70a85
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d977c], ecx
mov dword [0x103d9778], esi
push eax
push edx
mov eax, dword [0x103d9778]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d977c]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9778]
mov eax, dword [0x103d977c]
sub eax, 0x59eee795
lea ecx, [ebx - 0x4117c6f3]
mul ecx
mov edi, dword [0x103d9770]
xor ecx, ecx
xor edi, dword [0x103d9768]
or ecx, eax
mov esi, dword [0x103d9774]
and edi, ebx
xor esi, dword [0x103d976c]
mov eax, ecx
and esi, dword [0x103d977c]
xor esi, dword [0x103d976c]
xor edi, dword [0x103d9768]
mov ecx, dword [0x103d92f0]
add edx, edi
adc eax, esi
add edx, dword [0x103d9760]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d9764]
add edx, dword [0x103d9740]
adc eax, dword [0x103d9744]
add edx, 0x53380d13
adc eax, 0x4d2c6dfc
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d9784], ecx
mov dword [0x103d9780], esi
push eax
push edx
mov eax, dword [0x103d9780]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d9784]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9780]
mov eax, dword [0x103d9784]
mov edi, dword [0x103d9778]
sub eax, 0x59eee795
xor edi, dword [0x103d9770]
mov esi, dword [0x103d977c]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d9774]
and edi, ebx
and esi, dword [0x103d9784]
xor esi, dword [0x103d9774]
xor edi, dword [0x103d9770]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9768]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d976c]
add edx, dword [0x103d9748]
adc eax, dword [0x103d974c]
add edx, 0x766a0abb
adc eax, 0x650a7354
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or esi, eax
or ecx, edx
mov dword [0x103d9788], esi
mov dword [0x103d978c], ecx
push eax
push edx
mov eax, dword [0x103d9788]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d978c]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9788]
mov eax, dword [0x103d978c]
mov edi, dword [0x103d9780]
sub eax, 0x59eee795
xor edi, dword [0x103d9778]
mov esi, dword [0x103d9784]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d977c]
and edi, ebx
and esi, dword [0x103d978c]
xor esi, dword [0x103d977c]
xor edi, dword [0x103d9778]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9770]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d9774]
add edx, dword [0x103d9750]
adc eax, dword [0x103d9754]
add edx, 0x92722c85
adc eax, 0x81c2c92e
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d9794], ecx
mov dword [0x103d9790], esi
push eax
push edx
mov eax, dword [0x103d9790]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d9794]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9790]
mov eax, dword [0x103d9794]
mov edi, dword [0x103d9788]
sub eax, 0x59eee795
xor edi, dword [0x103d9780]
mov esi, dword [0x103d978c]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d9784]
and edi, ebx
and esi, dword [0x103d9794]
xor esi, dword [0x103d9784]
xor edi, dword [0x103d9780]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9778]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d977c]
add edx, dword [0x103d9758]
adc eax, dword [0x103d975c]
add edx, 0xa81a664b
adc eax, 0xa2bfe8a1
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d979c], ecx
mov dword [0x103d9798], esi
push eax
push edx
mov eax, dword [0x103d9798]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d979c]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d9798]
mov eax, dword [0x103d979c]
mov edi, dword [0x103d9790]
sub eax, 0x59eee795
xor edi, dword [0x103d9788]
mov esi, dword [0x103d9794]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d978c]
and edi, ebx
and esi, dword [0x103d979c]
xor esi, dword [0x103d978c]
xor edi, dword [0x103d9788]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9780]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d9784]
add edx, dword [0x103d9760]
adc eax, dword [0x103d9764]
add edx, 0xc76c51a3
adc eax, 0xc24b8b70
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d97a4], ecx
mov dword [0x103d97a0], esi
push eax
push edx
mov eax, dword [0x103d97a0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97a4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d97a0]
mov eax, dword [0x103d97a4]
mov edi, dword [0x103d9798]
sub eax, 0x59eee795
xor edi, dword [0x103d9790]
mov esi, dword [0x103d979c]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d9794]
and edi, ebx
and esi, dword [0x103d97a4]
xor edi, dword [0x103d9790]
xor esi, dword [0x103d9794]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
adc eax, esi
add edx, dword [0x103d9788]
adc eax, dword [0x103d978c]
add edx, dword [0x103d9768]
adc eax, dword [0x103d976c]
add edx, 0xd6990624
mov ecx, dword [0x103d92f0]
adc eax, 0xd192e819
mov esi, dword [0x103d92f4]
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d97ac], ecx
mov dword [0x103d97a8], esi
push eax
push edx
mov eax, dword [0x103d97a8]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97ac]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d97a8]
mov eax, dword [0x103d97ac]
mov edi, dword [0x103d97a0]
sub eax, 0x59eee795
xor edi, dword [0x103d9798]
mov esi, dword [0x103d97a4]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d979c]
and edi, ebx
and esi, dword [0x103d97ac]
xor esi, dword [0x103d979c]
xor edi, dword [0x103d9798]
mul ecx
xor ecx, ecx
or ecx, eax
add edx, edi
mov eax, ecx
mov ecx, dword [0x103d92f0]
adc eax, esi
add edx, dword [0x103d9790]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d9794]
add edx, dword [0x103d9770]
adc eax, dword [0x103d9774]
add edx, 0x106aa070
adc eax, 0xf40e3585
add ecx, edx
mov dword [0x103d92f0], ecx
adc esi, eax
movzx eax, cl
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d97b4], ecx
mov dword [0x103d97b0], esi
push eax
push edx
mov eax, dword [0x103d97b0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97b4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov ebx, dword [0x103d97b0]
mov eax, dword [0x103d97b4]
mov edi, dword [0x103d97a8]
sub eax, 0x59eee795
xor edi, dword [0x103d97a0]
mov esi, dword [0x103d97ac]
lea ecx, [ebx - 0x4117c6f3]
xor esi, dword [0x103d97a4]
and edi, ebx
and esi, dword [0x103d97b4]
mul ecx
xor ecx, ecx
or ecx, eax
xor edi, dword [0x103d97a0]
xor esi, dword [0x103d97a4]
mov eax, ecx
mov ecx, dword [0x103d92f0]
add edx, edi
adc eax, esi
add edx, dword [0x103d9798]
mov esi, dword [0x103d92f4]
adc eax, dword [0x103d979c]
add edx, dword [0x103d9778]
adc eax, dword [0x103d977c]
add edx, 0x1e376c08
adc eax, 0x19a4c116
add ecx, edx
adc esi, eax
movzx eax, cl
movzx eax, byte [eax + str.cux]
cdq
xor eax, ecx
xor edx, esi
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x1b
shr esi, 5
shl eax, 0x1b
or ecx, edx
or esi, eax
mov dword [0x103d97bc], ecx
mov eax, 0x2d
mov dword [0x103d97b8], esi
mov ecx, 0x103d97c0
movd xmm3, eax
mov eax, 0x13
movd xmm2, eax
mov eax, 0x103d96b8
movdqu xmm0, xmmword [eax]
mov eax, 0x103d96d8
movdqa xmm1, xmm0
psllq xmm1, xmm2
psrlq xmm0, xmm3
por xmm1, xmm0
movdqu xmm0, xmmword [eax]
mov eax, 0x103d96c8
pxor xmm1, xmm0
movdqu xmmword [ecx], xmm1
mov ecx, 0x103d97d0
movdqu xmm0, xmmword [eax]
mov eax, 0x103d96e8
movdqa xmm1, xmm0
psllq xmm1, xmm2
psrlq xmm0, xmm3
por xmm1, xmm0
movdqu xmm0, xmmword [eax]
pxor xmm1, xmm0
movdqu xmmword [ecx], xmm1
mov esi, dword [0x103d97d0]
mov ecx, esi
mov edx, dword [0x103d97d4]
mov eax, edx
mov edi, dword [0x103d97c0]
xor ecx, edi
mov ebx, dword [0x103d97c4]
and ecx, 0x66666666
xor eax, ebx
xor esi, ecx
and eax, 0x66666666
mov dword [0x103d97d0], esi
mov esi, dword [0x103d97d8]
xor edx, eax
xor ebx, eax
mov dword [0x103d97d4], edx
mov edx, dword [0x103d97dc]
xor edi, ecx
mov dword [0x103d97c4], ebx
mov ecx, esi
mov ebx, dword [0x103d97c8]
mov eax, edx
mov dword [0x103d97c0], edi
xor ecx, ebx
mov edi, dword [0x103d97cc]
xor eax, edi
and ecx, 0x33333333
and eax, 0x33333333
xor ebx, ecx
xor edi, eax
mov dword [0x103d97c8], ebx
xor ebx, dword [0x103d97c0]
xor esi, ecx
mov dword [0x103d97cc], edi
xor edx, eax
xor edi, dword [0x103d97c4]
and ebx, 0x55555555
mov dword [0x103d97d8], esi
and edi, 0x55555555
mov dword [0x103d97dc], edx
mov esi, 0x103d97c0
mov dword [ebp - 0xc], ebx
mov ebx, 0x103d97d0
mov dword [ebp - 8], edi
movq xmm0, qword [ebp - 0xc]
movdqu xmm1, xmmword [esi]
punpcklqdq xmm0, xmm0
pxor xmm1, xmm0
movdqu xmmword [esi], xmm1
mov ecx, dword [0x103d97d8]
mov eax, dword [0x103d97dc]
xor eax, dword [0x103d97d4]
xor ecx, dword [0x103d97d0]
and eax, 0x55555555
movdqu xmm1, xmmword [ebx]
and ecx, 0x55555555
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], ecx
movq xmm0, qword [ebp - 0xc]
mov dword [0x103d92f4], eax
mov eax, dword [ebp - 4]
punpcklqdq xmm0, xmm0
pxor xmm1, xmm0
mov dword [0x103d92f0], ecx
movdqu xmmword [ebx], xmm1
cmp dword [eax + 4], 1
jl 0x100da6e0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
xor dword [0x103d97c0], eax
mov eax, dword [ecx + 4]
xor dword [0x103d97c4], eax
mov eax, dword [ecx + 8]
xor dword [0x103d97c8], eax
mov eax, dword [ecx + 0xc]
xor dword [0x103d97cc], eax
mov eax, dword [ecx + 0x10]
xor dword [0x103d97d0], eax
mov eax, dword [ecx + 0x14]
xor dword [0x103d97d4], eax
mov eax, dword [ecx + 0x18]
xor dword [0x103d97d8], eax
mov eax, dword [ecx + 0x1c]
xor dword [0x103d97dc], eax
push eax
push edx
mov eax, dword [0x103d97d8]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97dc]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97c8]
xor edx, dword [0x103d97d0]
and edx, dword [0x103d97d8]
mov edi, dword [0x103d97cc]
xor edi, dword [0x103d97d4]
and edi, dword [0x103d97dc]
xor edx, dword [0x103d97c8]
xor edi, dword [0x103d97cc]
add edx, dword [0x103d97c0]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97c4]
add edx, 0x1e376c08
mov esi, dword [0x103d92f4]
adc edi, 0x19a4c116
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97c4], ecx
mov dword [0x103d97c0], esi
push eax
push edx
mov eax, dword [0x103d97c0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97c4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97d8]
xor edx, dword [0x103d97d0]
and edx, dword [0x103d97c0]
xor edx, dword [0x103d97d0]
mov edi, dword [0x103d97dc]
xor edi, dword [0x103d97d4]
and edi, dword [0x103d97c4]
xor edi, dword [0x103d97d4]
add edx, dword [0x103d97c8]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97cc]
add edx, 0x106aa070
mov esi, dword [0x103d92f4]
adc edi, 0xf40e3585
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or esi, eax
or ecx, edx
mov dword [0x103d97c8], esi
mov dword [0x103d97cc], ecx
push eax
push edx
mov eax, dword [0x103d97c8]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97cc]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97d8]
xor edx, dword [0x103d97c0]
and edx, dword [0x103d97c8]
mov edi, dword [0x103d97dc]
xor edi, dword [0x103d97c4]
and edi, dword [0x103d97cc]
xor edx, dword [0x103d97d8]
xor edi, dword [0x103d97dc]
add edx, dword [0x103d97d0]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97d4]
add edx, 0xd6990624
mov esi, dword [0x103d92f4]
adc edi, 0xd192e819
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97d4], ecx
mov dword [0x103d97d0], esi
push eax
push edx
mov eax, dword [0x103d97d0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97d4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97c8]
mov eax, dword [0x103d97cc]
mov ebx, dword [0x103d97d0]
mov ecx, dword [0x103d92f0]
mov esi, dword [0x103d92f4]
mov dword [ebp - 8], eax
xor eax, dword [0x103d97c4]
and eax, dword [0x103d97d4]
xor eax, dword [0x103d97c4]
mov dword [ebp + 8], edx
xor edx, dword [0x103d97c0]
and edx, ebx
xor edx, dword [0x103d97c0]
add edx, dword [0x103d97d8]
adc eax, dword [0x103d97dc]
add edx, 0xc76c51a3
adc eax, 0xc24b8b70
add ecx, edx
adc esi, eax
movzx eax, cl
xor edi, edi
movzx eax, byte [eax + str.cux]
cdq
xor eax, ecx
xor edx, esi
mov esi, edx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edi, edx
mov edx, dword [0x103d97d4]
or esi, eax
mov eax, ebx
mov ecx, edx
xor eax, dword [0x103d97c0]
xor ecx, dword [0x103d97c4]
and eax, 0x66666666
xor dword [0x103d97c0], eax
and ecx, 0x66666666
xor dword [0x103d97c4], ecx
xor ebx, eax
xor edx, ecx
mov dword [0x103d97d0], ebx
mov dword [0x103d97d4], edx
mov eax, esi
mov edx, dword [ebp - 8]
mov ecx, edi
mov ebx, dword [ebp + 8]
xor ecx, edx
xor eax, ebx
and ecx, 0x33333333
and eax, 0x33333333
xor edx, ecx
xor ebx, eax
mov dword [0x103d97cc], edx
xor edx, dword [0x103d97c4]
xor esi, eax
mov dword [0x103d97c8], ebx
xor edi, ecx
xor ebx, dword [0x103d97c0]
and edx, 0x55555555
mov dword [0x103d97d8], esi
and ebx, 0x55555555
mov dword [0x103d97dc], edi
mov esi, 0x103d97c0
mov dword [ebp - 0xc], ebx
mov ebx, 0x103d97d0
mov dword [ebp - 8], edx
movq xmm0, qword [ebp - 0xc]
movdqu xmm1, xmmword [esi]
mov edx, dword [ebp + 0xc]
punpcklqdq xmm0, xmm0
pxor xmm1, xmm0
movdqu xmmword [esi], xmm1
mov ecx, dword [0x103d97d8]
mov eax, dword [0x103d97dc]
xor eax, dword [0x103d97d4]
xor ecx, dword [0x103d97d0]
and eax, 0x55555555
movdqu xmm1, xmmword [ebx]
mov dword [0x103d92f4], eax
and ecx, 0x55555555
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], ecx
movq xmm0, qword [ebp - 0xc]
mov dword [0x103d92f0], ecx
punpcklqdq xmm0, xmm0
pxor xmm1, xmm0
movdqu xmmword [ebx], xmm1
mov eax, dword [0x103d97c0]
xor dword [edx + 0x20], eax
mov eax, dword [0x103d97c4]
xor dword [edx + 0x24], eax
mov eax, dword [0x103d97c8]
xor dword [edx + 0x28], eax
mov eax, dword [0x103d97cc]
xor dword [edx + 0x2c], eax
mov eax, dword [0x103d97d0]
xor dword [edx + 0x30], eax
mov eax, dword [0x103d97d4]
xor dword [edx + 0x34], eax
mov eax, dword [0x103d97d8]
xor dword [edx + 0x38], eax
mov eax, dword [0x103d97dc]
xor dword [edx + 0x3c], eax
mov eax, dword [ebp - 4]
jmp 0x100da6e3
mov edx, dword [ebp + 0xc]
cmp dword [eax + 4], 2
jl 0x100dab98
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x24]
xor ecx, dword [0x103d9728]
xor eax, dword [0x103d972c]
mov dword [0x103d97c0], ecx
mov dword [0x103d97c4], eax
mov ecx, dword [edx + 0x28]
mov eax, dword [edx + 0x2c]
xor ecx, dword [0x103d9730]
xor eax, dword [0x103d9734]
mov dword [0x103d97c8], ecx
mov dword [0x103d97cc], eax
mov ecx, dword [edx + 0x30]
mov eax, dword [edx + 0x34]
xor ecx, dword [0x103d9738]
xor eax, dword [0x103d973c]
mov dword [0x103d97d0], ecx
mov dword [0x103d97d4], eax
mov ecx, dword [edx + 0x38]
mov eax, dword [edx + 0x3c]
xor ecx, dword [0x103d9740]
xor eax, dword [0x103d9744]
mov dword [0x103d97d8], ecx
mov dword [0x103d97dc], eax
push eax
push edx
mov eax, dword [0x103d97d8]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97dc]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97c8]
xor edx, dword [0x103d97d0]
and edx, dword [0x103d97d8]
mov edi, dword [0x103d97cc]
xor edi, dword [0x103d97d4]
and edi, dword [0x103d97dc]
xor edx, dword [0x103d97c8]
xor edi, dword [0x103d97cc]
add edx, dword [0x103d97c0]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97c4]
add edx, 0xa81a664b
mov esi, dword [0x103d92f4]
adc edi, 0xa2bfe8a1
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97c4], ecx
mov dword [0x103d97c0], esi
push eax
push edx
mov eax, dword [0x103d97c0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97c4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97d8]
xor edx, dword [0x103d97d0]
and edx, dword [0x103d97c0]
mov edi, dword [0x103d97dc]
xor edi, dword [0x103d97d4]
and edi, dword [0x103d97c4]
xor edx, dword [0x103d97d0]
xor edi, dword [0x103d97d4]
add edx, dword [0x103d97c8]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97cc]
add edx, 0x92722c85
mov esi, dword [0x103d92f4]
adc edi, 0x81c2c92e
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor eax, ecx
xor edx, esi
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97cc], ecx
mov dword [0x103d97c8], esi
push eax
push edx
mov eax, dword [0x103d97c8]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97cc]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97d8]
xor edx, dword [0x103d97c0]
and edx, dword [0x103d97c8]
mov edi, dword [0x103d97dc]
xor edi, dword [0x103d97c4]
and edi, dword [0x103d97cc]
xor edx, dword [0x103d97d8]
xor edi, dword [0x103d97dc]
add edx, dword [0x103d97d0]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97d4]
add edx, 0x766a0abb
mov esi, dword [0x103d92f4]
adc edi, 0x650a7354
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97d4], ecx
mov dword [0x103d97d0], esi
push eax
push edx
mov eax, dword [0x103d97d0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97d4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97c8]
mov eax, dword [0x103d97cc]
mov ebx, dword [0x103d97d0]
mov ecx, dword [0x103d92f0]
mov esi, dword [0x103d92f4]
mov dword [ebp - 8], eax
xor eax, dword [0x103d97c4]
and eax, dword [0x103d97d4]
xor eax, dword [0x103d97c4]
mov dword [ebp + 8], edx
xor edx, dword [0x103d97c0]
and edx, ebx
xor edx, dword [0x103d97c0]
add edx, dword [0x103d97d8]
adc eax, dword [0x103d97dc]
add edx, 0x53380d13
adc eax, 0x4d2c6dfc
add ecx, edx
adc esi, eax
movzx eax, cl
xor edi, edi
movzx eax, byte [eax + str.cux]
cdq
xor eax, ecx
xor edx, esi
mov esi, edx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edi, edx
mov edx, dword [0x103d97d4]
or esi, eax
mov eax, ebx
mov ecx, edx
xor eax, dword [0x103d97c0]
xor ecx, dword [0x103d97c4]
and eax, 0x66666666
and ecx, 0x66666666
xor dword [0x103d97c0], eax
xor ebx, eax
xor dword [0x103d97c4], ecx
xor edx, ecx
mov dword [0x103d97d0], ebx
mov eax, esi
mov ebx, dword [ebp + 8]
mov ecx, edi
mov dword [0x103d97d4], edx
xor eax, ebx
mov edx, dword [ebp - 8]
and eax, 0x33333333
xor ecx, edx
xor ebx, eax
mov dword [0x103d97c8], ebx
and ecx, 0x33333333
xor ebx, dword [0x103d97c0]
xor edx, ecx
mov dword [0x103d97cc], edx
xor esi, eax
xor edx, dword [0x103d97c4]
xor edi, ecx
mov dword [0x103d97d8], esi
and ebx, 0x55555555
mov dword [0x103d97dc], edi
mov esi, 0x103d97c0
and edx, 0x55555555
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], edx
mov ebx, 0x103d97d0
movq xmm0, qword [ebp - 0xc]
movdqu xmm1, xmmword [esi]
mov edx, dword [ebp + 0xc]
punpcklqdq xmm0, xmm0
pxor xmm1, xmm0
movdqu xmmword [esi], xmm1
mov ecx, dword [0x103d97d8]
xor ecx, dword [0x103d97d0]
mov eax, dword [0x103d97dc]
and ecx, 0x55555555
xor eax, dword [0x103d97d4]
movdqu xmm1, xmmword [ebx]
and eax, 0x55555555
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], ecx
movq xmm0, qword [ebp - 0xc]
punpcklqdq xmm0, xmm0
pxor xmm1, xmm0
movdqu xmmword [ebx], xmm1
mov ecx, dword [edx + 0x40]
xor ecx, dword [0x103d97c0]
mov eax, dword [edx + 0x44]
xor eax, dword [0x103d97c4]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], eax
mov ecx, dword [edx + 0x48]
xor ecx, dword [0x103d97c8]
mov eax, dword [edx + 0x4c]
xor eax, dword [0x103d97cc]
mov dword [edx + 0x28], ecx
mov dword [edx + 0x2c], eax
mov ecx, dword [edx + 0x50]
xor ecx, dword [0x103d97d0]
mov eax, dword [edx + 0x54]
xor eax, dword [0x103d97d4]
mov dword [edx + 0x30], ecx
mov dword [edx + 0x34], eax
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x5c]
xor ecx, dword [0x103d97d8]
xor eax, dword [0x103d97dc]
mov dword [edx + 0x38], ecx
mov dword [edx + 0x3c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 3
jl 0x100db04d
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x24]
xor ecx, dword [0x103d9750]
xor eax, dword [0x103d9754]
mov dword [0x103d97c0], ecx
mov dword [0x103d97c4], eax
mov ecx, dword [edx + 0x28]
mov eax, dword [edx + 0x2c]
xor ecx, dword [0x103d9758]
xor eax, dword [0x103d975c]
mov dword [0x103d97c8], ecx
mov dword [0x103d97cc], eax
mov ecx, dword [edx + 0x30]
mov eax, dword [edx + 0x34]
xor ecx, dword [0x103d9760]
xor eax, dword [0x103d9764]
mov dword [0x103d97d0], ecx
mov dword [0x103d97d4], eax
mov ecx, dword [edx + 0x38]
mov eax, dword [edx + 0x3c]
xor ecx, dword [0x103d9768]
xor eax, dword [0x103d976c]
mov dword [0x103d97d8], ecx
mov dword [0x103d97dc], eax
push eax
push edx
mov eax, dword [0x103d97d8]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97dc]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97c8]
xor edx, dword [0x103d97d0]
and edx, dword [0x103d97d8]
mov edi, dword [0x103d97cc]
xor edi, dword [0x103d97d4]
and edi, dword [0x103d97dc]
xor edx, dword [0x103d97c8]
xor edi, dword [0x103d97cc]
add edx, dword [0x103d97c0]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97c4]
add edx, 0x2e1b2138
mov esi, dword [0x103d92f4]
adc edi, 0x27b70a85
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97c4], ecx
mov dword [0x103d97c0], esi
push eax
push edx
mov eax, dword [0x103d97c0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97c4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97d8]
xor edx, dword [0x103d97d0]
and edx, dword [0x103d97c0]
mov edi, dword [0x103d97dc]
xor edi, dword [0x103d97d4]
and edi, dword [0x103d97c4]
xor edx, dword [0x103d97d0]
xor edi, dword [0x103d97d4]
add edx, dword [0x103d97c8]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97cc]
add edx, 0x14292967
mov esi, dword [0x103d92f4]
adc edi, 0x6ca6351
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor eax, ecx
xor edx, esi
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97cc], ecx
mov dword [0x103d97c8], esi
push eax
push edx
mov eax, dword [0x103d97c8]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97cc]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97d8]
xor edx, dword [0x103d97c0]
and edx, dword [0x103d97c8]
mov edi, dword [0x103d97dc]
xor edi, dword [0x103d97c4]
and edi, dword [0x103d97cc]
xor edx, dword [0x103d97d8]
xor edi, dword [0x103d97dc]
add edx, dword [0x103d97d0]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97d4]
add edx, 0xd5a79147
mov esi, dword [0x103d92f4]
adc edi, 0xc6e00bf3
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97d4], ecx
mov dword [0x103d97d0], esi
push eax
push edx
mov eax, dword [0x103d97d0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97d4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97c8]
mov eax, dword [0x103d97cc]
mov ebx, dword [0x103d97d0]
mov ecx, dword [0x103d92f0]
mov esi, dword [0x103d92f4]
mov dword [ebp - 8], eax
xor eax, dword [0x103d97c4]
and eax, dword [0x103d97d4]
xor eax, dword [0x103d97c4]
mov dword [ebp + 8], edx
xor edx, dword [0x103d97c0]
and edx, ebx
xor edx, dword [0x103d97c0]
add edx, dword [0x103d97d8]
adc eax, dword [0x103d97dc]
add edx, 0xbf597fc7
adc eax, 0xb00327c8
add ecx, edx
adc esi, eax
movzx eax, cl
xor edi, edi
movzx eax, byte [eax + str.cux]
cdq
xor eax, ecx
xor edx, esi
mov esi, edx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edi, edx
mov edx, dword [0x103d97d4]
or esi, eax
mov eax, ebx
mov ecx, edx
xor eax, dword [0x103d97c0]
xor ecx, dword [0x103d97c4]
and eax, 0x66666666
and ecx, 0x66666666
xor dword [0x103d97c0], eax
xor ebx, eax
xor dword [0x103d97c4], ecx
xor edx, ecx
mov dword [0x103d97d0], ebx
mov eax, esi
mov ebx, dword [ebp + 8]
mov ecx, edi
mov dword [0x103d97d4], edx
xor eax, ebx
mov edx, dword [ebp - 8]
and eax, 0x33333333
xor ecx, edx
xor ebx, eax
mov dword [0x103d97c8], ebx
and ecx, 0x33333333
xor ebx, dword [0x103d97c0]
xor edx, ecx
mov dword [0x103d97cc], edx
xor esi, eax
xor edx, dword [0x103d97c4]
xor edi, ecx
mov dword [0x103d97d8], esi
and ebx, 0x55555555
mov dword [0x103d97dc], edi
mov esi, 0x103d97c0
and edx, 0x55555555
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], edx
mov ebx, 0x103d97d0
movq xmm0, qword [ebp - 0xc]
movdqu xmm1, xmmword [esi]
mov edx, dword [ebp + 0xc]
punpcklqdq xmm0, xmm0
pxor xmm1, xmm0
movdqu xmmword [esi], xmm1
mov ecx, dword [0x103d97d8]
xor ecx, dword [0x103d97d0]
mov eax, dword [0x103d97dc]
and ecx, 0x55555555
xor eax, dword [0x103d97d4]
movdqu xmm1, xmmword [ebx]
and eax, 0x55555555
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], ecx
movq xmm0, qword [ebp - 0xc]
punpcklqdq xmm0, xmm0
pxor xmm1, xmm0
movdqu xmmword [ebx], xmm1
mov ecx, dword [edx + 0x60]
xor ecx, dword [0x103d97c0]
mov eax, dword [edx + 0x64]
xor eax, dword [0x103d97c4]
mov dword [edx + 0x40], ecx
mov dword [edx + 0x44], eax
mov ecx, dword [edx + 0x68]
xor ecx, dword [0x103d97c8]
mov eax, dword [edx + 0x6c]
xor eax, dword [0x103d97cc]
mov dword [edx + 0x48], ecx
mov dword [edx + 0x4c], eax
mov ecx, dword [edx + 0x70]
xor ecx, dword [0x103d97d0]
mov eax, dword [edx + 0x74]
xor eax, dword [0x103d97d4]
mov dword [edx + 0x50], ecx
mov dword [edx + 0x54], eax
mov ecx, dword [edx + 0x78]
mov eax, dword [edx + 0x7c]
xor ecx, dword [0x103d97d8]
xor eax, dword [0x103d97dc]
mov dword [edx + 0x58], ecx
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 4
jl 0x100db51a
mov ecx, dword [edx + 0x40]
mov eax, dword [edx + 0x44]
xor ecx, dword [0x103d9778]
xor eax, dword [0x103d977c]
mov dword [0x103d97c0], ecx
mov dword [0x103d97c4], eax
mov ecx, dword [edx + 0x48]
mov eax, dword [edx + 0x4c]
xor ecx, dword [0x103d9780]
xor eax, dword [0x103d9784]
mov dword [0x103d97c8], ecx
mov dword [0x103d97cc], eax
mov ecx, dword [edx + 0x50]
mov eax, dword [edx + 0x54]
xor ecx, dword [0x103d9788]
xor eax, dword [0x103d978c]
mov dword [0x103d97d0], ecx
mov dword [0x103d97d4], eax
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x5c]
xor ecx, dword [0x103d9790]
xor eax, dword [0x103d9794]
mov dword [0x103d97d8], ecx
mov dword [0x103d97dc], eax
push eax
push edx
mov eax, dword [0x103d97d8]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97dc]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97c8]
xor edx, dword [0x103d97d0]
and edx, dword [0x103d97d8]
mov edi, dword [0x103d97cc]
xor edi, dword [0x103d97d4]
and edi, dword [0x103d97dc]
xor edx, dword [0x103d97c8]
xor edi, dword [0x103d97cc]
add edx, dword [0x103d97c0]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97c4]
add edx, 0xa831c66d
mov esi, dword [0x103d92f4]
adc edi, 0x983e5152
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97c4], ecx
mov dword [0x103d97c0], esi
push eax
push edx
mov eax, dword [0x103d97c0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97c4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97d8]
xor edx, dword [0x103d97d0]
and edx, dword [0x103d97c0]
mov edi, dword [0x103d97dc]
xor edi, dword [0x103d97d4]
and edi, dword [0x103d97c4]
xor edx, dword [0x103d97d0]
xor edi, dword [0x103d97d4]
add edx, dword [0x103d97c8]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97cc]
add edx, 0x76f988da
mov esi, dword [0x103d92f4]
adc edi, 0x5cb0a9dc
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor eax, ecx
xor edx, esi
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97cc], ecx
mov dword [0x103d97c8], esi
push eax
push edx
mov eax, dword [0x103d97c8]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97cc]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97d8]
xor edx, dword [0x103d97c0]
and edx, dword [0x103d97c8]
mov edi, dword [0x103d97dc]
xor edi, dword [0x103d97c4]
and edi, dword [0x103d97cc]
xor edx, dword [0x103d97d8]
xor edi, dword [0x103d97dc]
add edx, dword [0x103d97d0]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97d4]
add edx, 0x4a7484aa
mov esi, dword [0x103d92f4]
adc edi, 0x2de92c6f
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97d4], ecx
mov dword [0x103d97d0], esi
push eax
push edx
mov eax, dword [0x103d97d0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97d4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97c8]
mov eax, dword [0x103d97cc]
mov ebx, dword [0x103d97d0]
mov ecx, dword [0x103d92f0]
mov esi, dword [0x103d92f4]
mov dword [ebp - 8], eax
xor eax, dword [0x103d97c4]
and eax, dword [0x103d97d4]
xor eax, dword [0x103d97c4]
mov dword [ebp + 8], edx
xor edx, dword [0x103d97c0]
and edx, ebx
xor edx, dword [0x103d97c0]
add edx, dword [0x103d97d8]
adc eax, dword [0x103d97dc]
add edx, 0x240ca1cc
adc eax, 0xfc19dc6
add ecx, edx
adc esi, eax
movzx eax, cl
xor edi, edi
movzx eax, byte [eax + str.cux]
cdq
xor eax, ecx
xor edx, esi
mov esi, edx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edi, edx
mov edx, dword [0x103d97d4]
or esi, eax
mov eax, ebx
mov ecx, edx
xor eax, dword [0x103d97c0]
xor ecx, dword [0x103d97c4]
and eax, 0x66666666
and ecx, 0x66666666
xor dword [0x103d97c0], eax
xor edx, ecx
xor dword [0x103d97c4], ecx
xor ebx, eax
mov dword [0x103d97d4], edx
mov eax, esi
mov edx, dword [ebp - 8]
mov ecx, edi
mov dword [0x103d97d0], ebx
xor ecx, edx
mov ebx, dword [ebp + 8]
and ecx, 0x33333333
xor eax, ebx
xor edx, ecx
mov dword [0x103d97cc], edx
and eax, 0x33333333
xor edx, dword [0x103d97c4]
xor ebx, eax
mov dword [0x103d97c8], ebx
xor esi, eax
xor ebx, dword [0x103d97c0]
xor edi, ecx
mov dword [0x103d97d8], esi
mov eax, 0x103d97c0
mov dword [0x103d97dc], edi
and edx, 0x55555555
mov dword [ebp - 8], edx
and ebx, 0x55555555
mov dword [ebp - 0xc], ebx
mov edx, 0x103d97d0
movdqu xmm1, xmmword [eax]
movq xmm0, qword [ebp - 0xc]
punpcklqdq xmm0, xmm0
pxor xmm1, xmm0
movdqu xmmword [eax], xmm1
mov ecx, dword [0x103d97d8]
xor ecx, dword [0x103d97d0]
mov eax, dword [0x103d97dc]
and ecx, 0x55555555
xor eax, dword [0x103d97d4]
movdqu xmm1, xmmword [edx]
and eax, 0x55555555
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
movq xmm0, qword [ebp - 0xc]
mov dword [0x103d92f4], eax
mov dword [0x103d92f0], ecx
punpcklqdq xmm0, xmm0
pxor xmm1, xmm0
movdqu xmmword [edx], xmm1
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x80]
xor ecx, dword [0x103d97c0]
mov eax, dword [edx + 0x84]
xor eax, dword [0x103d97c4]
mov dword [edx + 0x60], ecx
mov dword [edx + 0x64], eax
mov ecx, dword [edx + 0x88]
xor ecx, dword [0x103d97c8]
mov eax, dword [edx + 0x8c]
xor eax, dword [0x103d97cc]
mov dword [edx + 0x68], ecx
mov dword [edx + 0x6c], eax
mov ecx, dword [edx + 0x90]
xor ecx, dword [0x103d97d0]
mov eax, dword [edx + 0x94]
xor eax, dword [0x103d97d4]
mov dword [edx + 0x70], ecx
mov dword [edx + 0x74], eax
mov ecx, dword [edx + 0x98]
mov eax, dword [edx + 0x9c]
xor ecx, dword [0x103d97d8]
xor eax, dword [0x103d97dc]
mov dword [edx + 0x78], ecx
mov dword [edx + 0x7c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 5
jl 0x100db970
mov ecx, dword [edx + 0x60]
mov eax, dword [edx + 0x64]
xor ecx, dword [0x103d97a0]
xor eax, dword [0x103d97a4]
mov dword [0x103d97c0], ecx
mov dword [0x103d97c4], eax
mov ecx, dword [edx + 0x68]
mov eax, dword [edx + 0x6c]
xor ecx, dword [0x103d97a8]
xor eax, dword [0x103d97ac]
mov dword [0x103d97c8], ecx
mov dword [0x103d97cc], eax
mov ecx, dword [edx + 0x70]
mov eax, dword [edx + 0x74]
xor ecx, dword [0x103d97b0]
xor eax, dword [0x103d97b4]
mov dword [0x103d97d0], ecx
mov dword [0x103d97d4], eax
mov ecx, dword [edx + 0x78]
mov eax, dword [edx + 0x7c]
xor ecx, dword [0x103d97b8]
xor eax, dword [0x103d97bc]
mov dword [0x103d97d8], ecx
mov dword [0x103d97dc], eax
push eax
push edx
mov eax, dword [0x103d97d8]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97dc]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97c8]
xor edx, dword [0x103d97d0]
and edx, dword [0x103d97d8]
mov edi, dword [0x103d97cc]
xor edi, dword [0x103d97d4]
and edi, dword [0x103d97dc]
xor edx, dword [0x103d97c8]
xor edi, dword [0x103d97cc]
add edx, dword [0x103d97c0]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97c4]
add edx, 0xefbe4786
mov esi, dword [0x103d92f4]
adc edi, 0xe49b69c1
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97c4], ecx
mov dword [0x103d97c0], esi
push eax
push edx
mov eax, dword [0x103d97c0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97c4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97d8]
xor edx, dword [0x103d97d0]
and edx, dword [0x103d97c0]
mov edi, dword [0x103d97dc]
xor edi, dword [0x103d97d4]
and edi, dword [0x103d97c4]
xor edx, dword [0x103d97d0]
xor edi, dword [0x103d97d4]
add edx, dword [0x103d97c8]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97cc]
add edx, 0xc19bf174
mov esi, dword [0x103d92f4]
adc edi, 0x9bdc06a7
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor eax, ecx
xor edx, esi
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97cc], ecx
mov dword [0x103d97c8], esi
push eax
push edx
mov eax, dword [0x103d97c8]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97cc]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97d8]
xor edx, dword [0x103d97c0]
and edx, dword [0x103d97c8]
mov edi, dword [0x103d97dc]
xor edi, dword [0x103d97c4]
and edi, dword [0x103d97cc]
xor edx, dword [0x103d97d8]
xor edi, dword [0x103d97dc]
add edx, dword [0x103d97d0]
mov ecx, dword [0x103d92f0]
adc edi, dword [0x103d97d4]
add edx, 0x80deb1fe
mov esi, dword [0x103d92f4]
adc edi, 0x72be5d74
add ecx, edx
movzx eax, cl
adc esi, edi
mov dword [0x103d92f0], ecx
mov dword [0x103d92f4], esi
movzx eax, byte [eax + str.cux]
cdq
xor edx, esi
xor eax, ecx
mov esi, edx
xor ecx, ecx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or ecx, edx
or esi, eax
mov dword [0x103d97d4], ecx
mov dword [0x103d97d0], esi
push eax
push edx
mov eax, dword [0x103d97d0]
mul eax
mov dword [0x103d92f0], eax
mov dword [0x103d92f4], edx
mov eax, dword [0x103d97d4]
mul eax
add dword [0x103d92f0], eax
adc dword [0x103d92f4], edx
pop edx
pop eax
mov edx, dword [0x103d97c8]
mov eax, dword [0x103d97cc]
mov ebx, dword [0x103d97d0]
mov ecx, dword [0x103d92f0]
mov esi, dword [0x103d92f4]
mov dword [ebp - 8], eax
xor eax, dword [0x103d97c4]
and eax, dword [0x103d97d4]
xor eax, dword [0x103d97c4]
mov dword [ebp + 8], edx
xor edx, dword [0x103d97c0]
and edx, ebx
xor edx, dword [0x103d97c0]
add edx, dword [0x103d97d8]
adc eax, dword [0x103d97dc]
add edx, 0x550c7dc3
adc eax, 0x243185be
add ecx, edx
adc esi, eax
movzx eax, cl
xor edi, edi
movzx eax, byte [eax + str.cux]
cdq
xor eax, ecx
xor edx, esi
mov esi, edx
shld edx, eax, 0x19
shr esi, 7
shl eax, 0x19
or edi, edx
mov edx, dword [0x103d97d4]
or esi, eax
mov eax, ebx
mov ecx, edx
xor eax, dword [0x103d97c0]
xor ecx, dword [0x103d97c4]
and eax, 0x66666666
and ecx, 0x66666666
xor dword [0x103d97c0], eax
xor edx, ecx
xor dword [0x103d97c4], ecx
xor ebx, eax
mov dword [0x103d97d4], edx
mov eax, esi
mov edx, dword [ebp - 8]
mov ecx, edi
mov dword [0x103d97d0], ebx
xor ecx, edx
mov ebx, dword [ebp + 8]
and ecx, 0x33333333
xor eax, ebx
xor edx, ecx
and eax, 0x33333333
mov dword [0x103d97cc], edx
xor edx, dword [0x103d97c4]
xor ebx, eax
mov dword [0x103d97c8], ebx
xor esi, eax
xor ebx, dword [0x103d97c0]
xor edi, ecx
mov eax, 0x103d97c0
mov dword [0x103d97d8], esi
and edx, 0x55555555
mov dword [0x103d97dc], edi
mov dword [ebp - 8], edx
and ebx, 0x55555555
mov dword [ebp - 0xc], ebx
mov edx, 0x103d97d0
movdqu xmm1, xmmword [eax]
movq xmm0, qword [ebp - 0xc]
punpcklqdq xmm0, xmm0
pxor xmm1, xmm0
movdqu xmmword [eax], xmm1
mov ecx, dword [0x103d97d8]
xor ecx, dword [0x103d97d0]
mov eax, dword [0x103d97dc]
and ecx, 0x55555555
xor eax, dword [0x103d97d4]
movdqu xmm1, xmmword [edx]
and eax, 0x55555555
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
movq xmm0, qword [ebp - 0xc]
punpcklqdq xmm0, xmm0
pxor xmm1, xmm0
mov dword [0x103d92f0], ecx
movdqu xmmword [edx], xmm1
mov edx, dword [ebp + 0xc]
mov dword [0x103d92f4], eax
lea esp, [esp]
mov eax, dword [0x103d97c0]
mov dword [edx + 0x80], eax
mov eax, dword [0x103d97c4]
mov dword [edx + 0x84], eax
mov eax, dword [0x103d97c8]
mov dword [edx + 0x88], eax
mov eax, dword [0x103d97cc]
mov dword [edx + 0x8c], eax
mov eax, dword [0x103d97d0]
mov dword [edx + 0x90], eax
mov eax, dword [0x103d97d4]
mov dword [edx + 0x94], eax
mov eax, dword [0x103d97d8]
pop edi
mov dword [edx + 0x98], eax
mov eax, dword [0x103d97dc]
pop esi
mov dword [edx + 0x9c], eax
pop ebx
mov esp, ebp
pop ebp
ret 8