Function at 0x10002a4f
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
mov edx, dword [ebp + 8]
mov eax, ecx
push ebx
push esi
push edi
mov ecx, dword [eax + 0x4c]
mov ebx, ecx
mov edi, dword [eax + 0x50]
mov esi, dword [eax + 0x5c]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x14], ecx
mov ecx, dword [eax + 0x58]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0xc], ecx
mov ecx, dword [eax + 0x64]
mov dword [ebp - 0x30], eax
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x130]
mov dword [ebp - 8], ecx
xor ecx, ecx
mov dword [ebp - 4], ebx
sub edx, eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], esi
lea eax, [edx + ecx*4]
push dword [ebp + eax - 0x130]
call fcn.100049fb
add esp, 4
mov dword [ebp + ecx*4 - 0x130], eax
inc ecx
cmp ecx, 0x10
jl 0x10002aa2
push dword [ebp - 8]
mov dword [ebp + 8], ecx
push dword [ebp - 0xc]
push esi
call fcn.1000497b
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
add eax, dword [ebp - 0x130]
add esi, 0x428a2f98
push ecx
add esi, eax
add dword [ebp - 0x10], esi
push edi
push ebx
call fcn.100049b4
push dword [ebp - 0xc]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
push edx
push ecx
lea edi, [esi + eax]
call fcn.1000497b
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 8]
add eax, dword [ebp - 0x12c]
add esi, 0x71374491
push edx
add esi, eax
add dword [ebp - 0x14], esi
push ebx
push edi
call fcn.100049b4
push dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x10]
lea ebx, [esi + eax]
push ecx
call fcn.1000497b
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x128]
add edx, 0xb5c0fbcf
add esi, edx
mov edx, dword [ebp - 4]
push edx
add esi, eax
add dword [ebp - 0x24], esi
push edi
push ebx
call fcn.100049b4
mov edx, dword [ebp - 0x24]
add esp, 0x48
add eax, esi
mov dword [ebp - 0x18], eax
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push edx
call fcn.1000497b
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x124]
add edx, 0xe9b5dba5
mov ecx, dword [ebp - 0x18]
add esi, edx
push edi
add esi, eax
add dword [ebp - 4], esi
push ebx
push ecx
call fcn.100049b4
push dword [ebp - 0x14]
mov edx, dword [ebp - 4]
add eax, esi
push dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
push edx
call fcn.1000497b
mov esi, dword [ebp - 0x10]
add eax, dword [ebp - 0x120]
add esi, 0x3956c25b
add esi, eax
add edi, esi
push ebx
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.100049b4
push dword [ebp - 0x24]
add eax, esi
push dword [ebp - 4]
mov dword [ebp - 8], eax
push edi
call fcn.1000497b
mov esi, dword [ebp - 0x14]
push dword [ebp - 0x18]
add eax, dword [ebp - 0x11c]
add esi, 0x59f111f1
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
add esi, eax
add ebx, esi
push ecx
mov dword [ebp - 0x14], ebx
call fcn.100049b4
mov ecx, dword [ebp - 0x14]
add esp, 0x48
lea ebx, [esi + eax]
push dword [ebp - 4]
push edi
push ecx
call fcn.1000497b
mov edx, dword [ebp - 0x24]
push dword [ebp - 0x1c]
mov esi, dword [ebp - 0x118]
add edx, 0x923f82a4
push dword [ebp - 8]
add esi, edx
add esi, eax
add dword [ebp - 0x18], esi
push ebx
call fcn.100049b4
push edi
push dword [ebp - 0x14]
add eax, esi
push dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.1000497b
mov edx, dword [ebp - 4]
push dword [ebp - 8]
mov esi, dword [ebp - 0x114]
add edx, 0xab1c5ed5
add esi, edx
push ebx
push dword [ebp - 0x24]
add esi, eax
add dword [ebp - 0x1c], esi
call fcn.100049b4
push dword [ebp - 0x14]
add eax, esi
push dword [ebp - 0x18]
mov dword [ebp - 4], eax
push dword [ebp - 0x1c]
call fcn.1000497b
mov esi, dword [ebp - 0x110]
add eax, 0xd807aa98
add esi, edi
mov edi, dword [ebp - 0x24]
push ebx
push edi
push dword [ebp - 4]
add esi, eax
add dword [ebp - 8], esi
call fcn.100049b4
add esp, 0x48
add eax, esi
mov dword [ebp - 0x20], eax
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.1000497b
mov esi, dword [ebp - 0x14]
add eax, dword [ebp - 0x10c]
add esi, 0x12835b01
add esi, eax
mov edx, dword [ebp - 0x20]
add ebx, esi
push edi
push dword [ebp - 4]
push edx
call fcn.100049b4
push dword [ebp - 0x1c]
add eax, esi
push dword [ebp - 8]
mov dword [ebp - 0xc], eax
push ebx
call fcn.1000497b
push dword [ebp - 4]
mov esi, dword [ebp - 0x18]
add eax, dword [ebp - 0x108]
add esi, 0x243185be
push dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
add esi, eax
push edx
add edi, esi
call fcn.100049b4
push dword [ebp - 8]
add eax, esi
push ebx
push edi
mov dword [ebp - 0x18], eax
call fcn.1000497b
push dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
add eax, dword [ebp - 0x104]
add esi, 0x550c7dc3
push dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
add esi, eax
add dword [ebp - 4], esi
push ecx
call fcn.100049b4
add esp, 0x48
add eax, esi
mov dword [ebp - 0x1c], eax
push ebx
push edi
push dword [ebp - 4]
call fcn.1000497b
push dword [ebp - 0xc]
mov esi, dword [ebp - 8]
add eax, dword [ebp - 0x100]
add esi, 0x72be5d74
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
add esi, eax
add dword [ebp - 0x20], esi
push ecx
call fcn.100049b4
push edi
push dword [ebp - 4]
add eax, esi
push dword [ebp - 0x20]
mov dword [ebp - 8], eax
call fcn.1000497b
push dword [ebp - 0x18]
mov esi, dword [ebp - 0xfc]
add eax, 0x80deb1fe
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
add esi, ebx
add esi, eax
add dword [ebp - 0xc], esi
push ecx
call fcn.100049b4
mov ebx, dword [ebp - 4]
add eax, esi
push ebx
push dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
push dword [ebp - 0xc]
call fcn.1000497b
mov esi, dword [ebp - 0xf8]
add esi, edi
add eax, 0x9bdc06a7
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
add esi, eax
push dword [ebp - 8]
add dword [ebp - 0x18], esi
push ecx
call fcn.100049b4
add esp, 0x48
lea edi, [esi + eax]
push dword [ebp - 0x20]
mov dword [ebp - 0x24], edi
push dword [ebp - 0xc]
push dword [ebp - 0x18]
call fcn.1000497b
push dword [ebp - 8]
mov esi, dword [ebp - 0xf4]
add ebx, 0xc19bf174
push dword [ebp - 0x10]
add esi, ebx
add esi, eax
add dword [ebp - 0x1c], esi
push edi
call fcn.100049b4
mov ebx, dword [ebp + 8]
add esp, 0x18
add eax, esi
mov dword [ebp - 4], eax
push 0x18
pop ecx
cmp ebx, ecx
jge 0x10002e79
sub ecx, ebx
lea eax, [ebp + ebx*4 - 0x138]
add ebx, ecx
mov dword [ebp - 0x28], eax
mov dword [ebp + 8], ebx
mov ebx, eax
mov dword [ebp - 0x14], ecx
mov edx, dword [ebx]
mov edi, dword [ebx - 0x34]
push 0x13
push edx
call fcn.100049ee
push 0x11
push edx
mov esi, eax
call fcn.100049ee
xor esi, eax
shr edx, 0xa
push 0x12
push edi
xor esi, edx
call fcn.100049ee
push 7
push edi
mov edx, eax
call fcn.100049ee
xor edx, eax
shr edi, 3
xor edx, edi
lea ebx, [ebx + 4]
add esi, edx
add esp, 0x20
add esi, dword [ebx - 0x3c]
add esi, dword [ebx - 0x18]
sub dword [ebp - 0x14], 1
mov dword [ebx + 4], esi
jne 0x10002e25
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x24]
push dword [ebp - 0xc]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.1000497b
mov edx, dword [ebp - 0x20]
push dword [ebp - 0x10]
mov esi, dword [ebp - 0xf0]
add edx, 0xe49b69c1
mov ecx, dword [ebp - 4]
add esi, edx
add esi, eax
add dword [ebp - 8], esi
push edi
push ecx
call fcn.100049b4
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
lea edi, [esi + eax]
push dword [ebp - 8]
call fcn.1000497b
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
add edx, 0xefbe4786
mov esi, dword [ebp - 0xec]
push ecx
push dword [ebp - 4]
add esi, edx
add esi, eax
add dword [ebp - 0x10], esi
push edi
call fcn.100049b4
push dword [ebp - 0x1c]
add eax, esi
push dword [ebp - 8]
mov dword [ebp - 0xc], eax
push dword [ebp - 0x10]
call fcn.1000497b
push dword [ebp - 4]
mov esi, dword [ebp - 0x18]
add eax, dword [ebp - 0xe8]
add esi, 0xfc19dc6
mov edx, dword [ebp - 0xc]
add esi, eax
add dword [ebp - 0x24], esi
push edi
push edx
call fcn.100049b4
mov ecx, dword [ebp - 0x24]
add esp, 0x48
add eax, esi
mov dword [ebp - 0x18], eax
push dword [ebp - 8]
push dword [ebp - 0x10]
push ecx
call fcn.1000497b
mov esi, dword [ebp - 0x1c]
add eax, dword [ebp - 0xe4]
add esi, 0x240ca1cc
push edi
push dword [ebp - 0xc]
add esi, eax
push dword [ebp - 0x18]
add dword [ebp - 4], esi
call fcn.100049b4
push dword [ebp - 0x10]
add eax, esi
push dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
push dword [ebp - 4]
call fcn.1000497b
mov esi, dword [ebp - 8]
push dword [ebp - 0xc]
add eax, dword [ebp - 0xe0]
add esi, 0x2de92c6f
push dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
add esi, eax
add edi, esi
push edx
mov dword [ebp - 0x1c], edi
call fcn.100049b4
push dword [ebp - 0x24]
add eax, esi
push dword [ebp - 4]
mov dword [ebp - 0x14], eax
push edi
call fcn.1000497b
push dword [ebp - 0x18]
mov esi, dword [ebp - 0x10]
add eax, dword [ebp - 0xdc]
add esi, 0x4a7484aa
push dword [ebp - 0x20]
add esi, eax
push dword [ebp - 0x14]
add dword [ebp - 0xc], esi
call fcn.100049b4
add esp, 0x48
add eax, esi
mov dword [ebp - 0x10], eax
push dword [ebp - 4]
push edi
push dword [ebp - 0xc]
call fcn.1000497b
push dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
add eax, dword [ebp - 0xd8]
add esi, 0x5cb0a9dc
push dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
add esi, eax
add dword [ebp - 0x18], esi
push edx
call fcn.100049b4
push edi
push dword [ebp - 0xc]
add eax, esi
push dword [ebp - 0x18]
mov dword [ebp - 8], eax
call fcn.1000497b
push dword [ebp - 0x14]
mov esi, dword [ebp - 4]
add eax, dword [ebp - 0xd4]
add esi, 0x76f988da
push dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
add esi, eax
add dword [ebp - 0x20], esi
push ecx
call fcn.100049b4
add esp, 0x30
add eax, esi
mov dword [ebp - 4], eax
push 0x20
pop eax
cmp ebx, eax
jge 0x10003098
sub eax, ebx
lea ecx, [ebp + ebx*4 - 0x138]
add ebx, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp + 8], ebx
mov ebx, ecx
mov dword [ebp - 0x24], eax
mov edx, dword [ebx - 0x34]
mov edi, dword [ebx]
push 0x12
push edx
call fcn.100049ee
push 7
push edx
mov esi, eax
call fcn.100049ee
xor esi, eax
shr edx, 3
push 0x13
push edi
xor esi, edx
call fcn.100049ee
push 0x11
push edi
mov edx, eax
call fcn.100049ee
xor edx, eax
shr edi, 0xa
xor edx, edi
lea ebx, [ebx + 4]
add esi, edx
add esp, 0x20
add esi, dword [ebx - 0x3c]
add esi, dword [ebx - 0x18]
sub dword [ebp - 0x24], 1
mov dword [ebx + 4], esi
jne 0x10003044
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x1c]
push dword [ebp - 0xc]
push dword [ebp - 0x18]
push dword [ebp - 0x20]
call fcn.1000497b
push dword [ebp - 0x10]
mov esi, dword [ebp - 0xd0]
add eax, 0x983e5152
push dword [ebp - 8]
mov ecx, dword [ebp - 4]
add esi, edi
add esi, eax
add dword [ebp - 0x14], esi
push ecx
call fcn.100049b4
mov edi, dword [ebp - 0x18]
add eax, esi
push edi
push dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x14]
call fcn.1000497b
mov edx, dword [ebp - 0xc]
push dword [ebp - 8]
mov esi, dword [ebp - 0xcc]
add edx, 0xa831c66d
push dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
add esi, edx
add esi, eax
add dword [ebp - 0x10], esi
push ecx
call fcn.100049b4
push dword [ebp - 0x20]
add eax, esi
push dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
push dword [ebp - 0x10]
call fcn.1000497b
push dword [ebp - 4]
mov esi, dword [ebp - 0xc8]
add edi, 0xb00327c8
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
add esi, edi
add esi, eax
add dword [ebp - 8], esi
push ecx
call fcn.100049b4
mov edi, dword [ebp - 0x14]
add esp, 0x48
add eax, esi
mov dword [ebp - 0x18], eax
push edi
push dword [ebp - 0x10]
push dword [ebp - 8]
call fcn.1000497b
mov edx, dword [ebp - 0x20]
push dword [ebp - 0x1c]
mov esi, dword [ebp - 0xc4]
add edx, 0xbf597fc7
push dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
add esi, edx
add esi, eax
add dword [ebp - 4], esi
push ecx
call fcn.100049b4
push dword [ebp - 0x10]
add eax, esi
push dword [ebp - 8]
mov dword [ebp - 0x20], eax
push dword [ebp - 4]
call fcn.1000497b
mov esi, dword [ebp - 0xc0]
add edi, 0xc6e00bf3
push dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
add esi, edi
push dword [ebp - 0x18]
add esi, eax
add dword [ebp - 0x1c], esi
push ecx
call fcn.100049b4
push dword [ebp - 8]
push dword [ebp - 4]
lea edi, [esi + eax]
push dword [ebp - 0x1c]
mov dword [ebp - 0x14], edi
call fcn.1000497b
mov edx, dword [ebp - 0x10]
push dword [ebp - 0x18]
mov esi, dword [ebp - 0xbc]
add edx, 0xd5a79147
push dword [ebp - 0x20]
add esi, edx
add esi, eax
add dword [ebp - 0xc], esi
push edi
call fcn.100049b4
add esp, 0x48
lea edi, [esi + eax]
push dword [ebp - 4]
mov dword [ebp - 0x24], edi
push dword [ebp - 0x1c]
push dword [ebp - 0xc]
call fcn.1000497b
push dword [ebp - 0x20]
mov esi, dword [ebp - 8]
add eax, dword [ebp - 0xb8]
add esi, 0x6ca6351
mov ecx, dword [ebp - 0x14]
add esi, eax
add dword [ebp - 0x18], esi
push ecx
push edi
call fcn.100049b4
push dword [ebp - 0x1c]
push dword [ebp - 0xc]
lea edi, [esi + eax]
push dword [ebp - 0x18]
mov dword [ebp - 8], edi
call fcn.1000497b
push dword [ebp - 0x14]
mov esi, dword [ebp - 4]
add eax, dword [ebp - 0xb4]
add esi, 0x14292967
mov ecx, dword [ebp - 0x24]
add esi, eax
add dword [ebp - 0x20], esi
push ecx
push edi
call fcn.100049b4
add esp, 0x30
add eax, esi
mov dword [ebp - 4], eax
push 0x28
pop eax
cmp ebx, eax
jge 0x100032c2
sub eax, ebx
lea ecx, [ebp + ebx*4 - 0x138]
add ebx, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp + 8], ebx
mov ebx, ecx
mov dword [ebp - 0x10], eax
mov edx, dword [ebx]
mov edi, dword [ebx - 0x34]
push 0x13
push edx
call fcn.100049ee
push 0x11
push edx
mov esi, eax
call fcn.100049ee
xor esi, eax
shr edx, 0xa
push 0x12
push edi
xor esi, edx
call fcn.100049ee
push 7
push edi
mov edx, eax
call fcn.100049ee
xor edx, eax
shr edi, 3
xor edx, edi
lea ebx, [ebx + 4]
add esi, edx
add esp, 0x20
add esi, dword [ebx - 0x3c]
add esi, dword [ebx - 0x18]
sub dword [ebp - 0x10], 1
mov dword [ebx + 4], esi
jne 0x1000326e
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x18]
push dword [ebp - 0x20]
call fcn.1000497b
push dword [ebp - 0x24]
mov esi, dword [ebp - 0x1c]
add eax, dword [ebp - 0xb0]
add esi, 0x27b70a85
mov edx, dword [ebp - 4]
add esi, eax
add dword [ebp - 0x14], esi
push edi
push edx
call fcn.100049b4
push dword [ebp - 0x18]
push dword [ebp - 0x20]
lea edi, [esi + eax]
push dword [ebp - 0x14]
call fcn.1000497b
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 0xc]
add eax, dword [ebp - 0xac]
add esi, 0x2e1b2138
push edx
push dword [ebp - 4]
add esi, eax
add dword [ebp - 0x24], esi
push edi
call fcn.100049b4
push dword [ebp - 0x20]
add eax, esi
push dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
push dword [ebp - 0x24]
call fcn.1000497b
push dword [ebp - 4]
mov esi, dword [ebp - 0x18]
add eax, dword [ebp - 0xa8]
add esi, 0x4d2c6dfc
mov edx, dword [ebp - 0x10]
add esi, eax
add dword [ebp - 8], esi
push edi
push edx
call fcn.100049b4
mov edx, dword [ebp - 8]
add esp, 0x48
add eax, esi
mov dword [ebp - 0x18], eax
push dword [ebp - 0x14]
push dword [ebp - 0x24]
push edx
call fcn.1000497b
mov esi, dword [ebp - 0x20]
add eax, dword [ebp - 0xa4]
add esi, 0x53380d13
push edi
push dword [ebp - 0x10]
add esi, eax
push dword [ebp - 0x18]
add dword [ebp - 4], esi
call fcn.100049b4
push dword [ebp - 0x24]
add eax, esi
push dword [ebp - 8]
mov dword [ebp - 0xc], eax
push dword [ebp - 4]
call fcn.1000497b
mov esi, dword [ebp - 0x14]
push dword [ebp - 0x10]
add eax, dword [ebp - 0xa0]
add esi, 0x650a7354
push dword [ebp - 0x18]
mov edx, dword [ebp - 0xc]
add esi, eax
add edi, esi
push edx
mov dword [ebp - 0x1c], edi
call fcn.100049b4
add eax, esi
mov dword [ebp - 0x14], eax
push dword [ebp - 8]
push dword [ebp - 4]
push edi
call fcn.1000497b
push dword [ebp - 0x18]
mov esi, dword [ebp - 0x24]
add eax, dword [ebp - 0x9c]
add esi, 0x766a0abb
push dword [ebp - 0xc]
add esi, eax
push dword [ebp - 0x14]
add dword [ebp - 0x10], esi
call fcn.100049b4
add esp, 0x48
add eax, esi
mov dword [ebp - 0x20], eax
push dword [ebp - 4]
push edi
push dword [ebp - 0x10]
call fcn.1000497b
mov edx, dword [ebp - 8]
push dword [ebp - 0xc]
mov esi, dword [ebp - 0x98]
add edx, 0x81c2c92e
push dword [ebp - 0x14]
add esi, edx
mov edx, dword [ebp - 0x20]
add esi, eax
add dword [ebp - 0x18], esi
push edx
call fcn.100049b4
push edi
push dword [ebp - 0x10]
add eax, esi
push dword [ebp - 0x18]
mov dword [ebp - 8], eax
call fcn.1000497b
mov edx, dword [ebp - 4]
push dword [ebp - 0x14]
mov esi, dword [ebp - 0x94]
add edx, 0x92722c85
push dword [ebp - 0x20]
add esi, edx
mov edx, dword [ebp - 8]
add esi, eax
add dword [ebp - 0xc], esi
push edx
call fcn.100049b4
add esp, 0x30
add eax, esi
mov dword [ebp - 4], eax
push 0x30
pop eax
cmp ebx, eax
jge 0x100034e1
sub eax, ebx
lea ecx, [ebp + ebx*4 - 0x138]
add ebx, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp + 8], ebx
mov ebx, ecx
mov dword [ebp - 0x24], eax
mov edx, dword [ebx - 0x34]
mov edi, dword [ebx]
push 0x12
push edx
call fcn.100049ee
push 7
push edx
mov esi, eax
call fcn.100049ee
xor esi, eax
shr edx, 3
push 0x13
push edi
xor esi, edx
call fcn.100049ee
push 0x11
push edi
mov edx, eax
call fcn.100049ee
xor edx, eax
shr edi, 0xa
xor edx, edi
lea ebx, [ebx + 4]
add esi, edx
add esp, 0x20
add esi, dword [ebx - 0x3c]
add esi, dword [ebx - 0x18]
sub dword [ebp - 0x24], 1
mov dword [ebx + 4], esi
jne 0x1000348d
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x1c]
push dword [ebp - 0x10]
push dword [ebp - 0x18]
push dword [ebp - 0xc]
call fcn.1000497b
push dword [ebp - 0x20]
mov esi, dword [ebp - 0x90]
add eax, 0xa2bfe8a1
push dword [ebp - 8]
mov ecx, dword [ebp - 4]
add esi, edi
add esi, eax
add dword [ebp - 0x14], esi
push ecx
call fcn.100049b4
mov edi, dword [ebp - 0x18]
add eax, esi
push edi
push dword [ebp - 0xc]
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x14]
call fcn.1000497b
mov edx, dword [ebp - 0x10]
push dword [ebp - 8]
mov esi, dword [ebp - 0x8c]
add edx, 0xa81a664b
push dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
add esi, edx
add esi, eax
add dword [ebp - 0x20], esi
push ecx
call fcn.100049b4
push dword [ebp - 0xc]
add eax, esi
push dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
push dword [ebp - 0x20]
call fcn.1000497b
push dword [ebp - 4]
mov esi, dword [ebp - 0x88]
add edi, 0xc24b8b70
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
add esi, edi
add esi, eax
add dword [ebp - 8], esi
push ecx
call fcn.100049b4
mov edi, dword [ebp - 0x14]
add esp, 0x48
add eax, esi
mov dword [ebp - 0x18], eax
push edi
push dword [ebp - 0x20]
push dword [ebp - 8]
call fcn.1000497b
mov edx, dword [ebp - 0xc]
push dword [ebp - 0x1c]
mov esi, dword [ebp - 0x84]
add edx, 0xc76c51a3
push dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
add esi, edx
add esi, eax
add dword [ebp - 4], esi
push ecx
call fcn.100049b4
push dword [ebp - 0x20]
add eax, esi
push dword [ebp - 8]
mov dword [ebp - 0xc], eax
push dword [ebp - 4]
call fcn.1000497b
mov esi, dword [ebp - 0x80]
add edi, 0xd192e819
push dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
add esi, edi
push dword [ebp - 0x18]
add esi, eax
add dword [ebp - 0x1c], esi
push ecx
call fcn.100049b4
push dword [ebp - 8]
push dword [ebp - 4]
lea edi, [esi + eax]
push dword [ebp - 0x1c]
mov dword [ebp - 0x14], edi
call fcn.1000497b
mov edx, dword [ebp - 0x20]
push dword [ebp - 0x18]
mov esi, dword [ebp - 0x7c]
add edx, 0xd6990624
push dword [ebp - 0xc]
add esi, edx
add esi, eax
add dword [ebp - 0x10], esi
push edi
call fcn.100049b4
add esp, 0x48
lea edi, [esi + eax]
push dword [ebp - 4]
mov dword [ebp - 0x24], edi
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
call fcn.1000497b
mov edx, dword [ebp - 8]
push dword [ebp - 0xc]
mov esi, dword [ebp - 0x78]
add edx, 0xf40e3585
mov ecx, dword [ebp - 0x14]
add esi, edx
push ecx
add esi, eax
add dword [ebp - 0x18], esi
push edi
call fcn.100049b4
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
lea edi, [esi + eax]
push dword [ebp - 0x18]
mov dword [ebp - 8], edi
call fcn.1000497b
push dword [ebp - 0x14]
mov esi, dword [ebp - 4]
add eax, dword [ebp - 0x74]
add esi, 0x106aa070
mov ecx, dword [ebp - 0x24]
add esi, eax
add dword [ebp - 0xc], esi
push ecx
push edi
call fcn.100049b4
add esp, 0x30
add eax, esi
mov dword [ebp - 4], eax
push 0x38
pop eax
cmp ebx, eax
jge 0x10003701
sub eax, ebx
lea ecx, [ebp + ebx*4 - 0x138]
add ebx, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp + 8], ebx
mov ebx, ecx
mov dword [ebp - 0x20], eax
mov edx, dword [ebx - 0x34]
mov edi, dword [ebx]
push 0x12
push edx
call fcn.100049ee
push 7
push edx
mov esi, eax
call fcn.100049ee
xor esi, eax
shr edx, 3
push 0x13
push edi
xor esi, edx
call fcn.100049ee
push 0x11
push edi
mov edx, eax
call fcn.100049ee
xor edx, eax
shr edi, 0xa
xor edx, edi
lea ebx, [ebx + 4]
add esi, edx
add esp, 0x20
add esi, dword [ebx - 0x3c]
add esi, dword [ebx - 0x18]
sub dword [ebp - 0x20], 1
mov dword [ebx + 4], esi
jne 0x100036ad
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 8]
push dword [ebp - 0x10]
push dword [ebp - 0x18]
push dword [ebp - 0xc]
call fcn.1000497b
push dword [ebp - 0x24]
mov esi, dword [ebp - 0x1c]
add eax, dword [ebp - 0x70]
add esi, 0x19a4c116
mov ecx, dword [ebp - 4]
add esi, eax
add dword [ebp - 0x14], esi
push edi
push ecx
call fcn.100049b4
push dword [ebp - 0x18]
push dword [ebp - 0xc]
lea edi, [esi + eax]
push dword [ebp - 0x14]
call fcn.1000497b
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
add eax, dword [ebp - 0x6c]
add esi, 0x1e376c08
push ecx
push dword [ebp - 4]
add esi, eax
add dword [ebp - 0x24], esi
push edi
call fcn.100049b4
push dword [ebp - 0xc]
add eax, esi
push dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x24]
call fcn.1000497b
push dword [ebp - 4]
mov esi, dword [ebp - 0x18]
add eax, dword [ebp - 0x68]
add esi, 0x2748774c
push edi
push dword [ebp - 0x1c]
add esi, eax
add dword [ebp - 8], esi
call fcn.100049b4
mov ecx, dword [ebp - 8]
add esp, 0x48
add eax, esi
mov dword [ebp + 8], eax
push dword [ebp - 0x14]
push dword [ebp - 0x24]
push ecx
call fcn.1000497b
mov esi, dword [ebp - 0xc]
add eax, dword [ebp - 0x64]
add esi, 0x34b0bcb5
mov edx, dword [ebp + 8]
add esi, eax
add dword [ebp - 4], esi
push edi
push dword [ebp - 0x1c]
push edx
call fcn.100049b4
push dword [ebp - 0x24]
add eax, esi
push dword [ebp - 8]
mov dword [ebp - 0x10], eax
push dword [ebp - 4]
call fcn.1000497b
mov esi, dword [ebp - 0x14]
push dword [ebp - 0x1c]
add eax, dword [ebp - 0x60]
add esi, 0x391c0cb3
push dword [ebp + 8]
mov edx, dword [ebp - 0x10]
add esi, eax
add edi, esi
push edx
mov dword [ebp - 0x18], edi
call fcn.100049b4
add eax, esi
mov dword [ebp - 0xc], eax
push dword [ebp - 8]
push dword [ebp - 4]
push edi
call fcn.1000497b
push dword [ebp + 8]
mov esi, dword [ebp - 0x24]
add eax, dword [ebp - 0x5c]
add esi, 0x4ed8aa4a
push dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
add esi, eax
add dword [ebp - 0x1c], esi
push edx
call fcn.100049b4
add esp, 0x48
add eax, esi
mov dword [ebp - 0x20], eax
push dword [ebp - 4]
push edi
push dword [ebp - 0x1c]
call fcn.1000497b
push dword [ebp - 0x10]
mov esi, dword [ebp - 8]
add eax, dword [ebp - 0x58]
add esi, 0x5b9cca4f
push dword [ebp - 0xc]
mov edx, dword [ebp - 0x20]
add esi, eax
add dword [ebp + 8], esi
push edx
call fcn.100049b4
push edi
push dword [ebp - 0x1c]
add eax, esi
push dword [ebp + 8]
mov dword [ebp - 8], eax
call fcn.1000497b
push dword [ebp - 0xc]
mov esi, dword [ebp - 4]
add eax, dword [ebp - 0x54]
add esi, 0x682e6ff3
push dword [ebp - 0x20]
mov edx, dword [ebp - 8]
add esi, eax
add dword [ebp - 0x10], esi
push edx
call fcn.100049b4
add esp, 0x30
add eax, esi
mov dword [ebp - 4], eax
push 0x40
pop ecx
cmp ebx, ecx
jge 0x10003902
lea eax, [ebp + ebx*4 - 0x138]
sub ecx, ebx
mov dword [ebp - 0x14], eax
mov ebx, ecx
mov dword [ebp - 0x28], ecx
mov edx, dword [eax]
mov edi, dword [eax - 0x34]
push 0x13
push edx
call fcn.100049ee
push 0x11
push edx
mov esi, eax
call fcn.100049ee
xor esi, eax
shr edx, 0xa
push 0x12
push edi
xor esi, edx
call fcn.100049ee
push 7
push edi
mov edx, eax
call fcn.100049ee
xor edx, eax
shr edi, 3
mov eax, dword [ebp - 0x14]
xor edx, edi
add esi, edx
add esp, 0x20
add esi, dword [eax - 0x38]
add esi, dword [eax - 0x14]
mov dword [eax + 8], esi
add eax, 4
mov dword [ebp - 0x14], eax
sub ebx, 1
jne 0x100038ac
mov edi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
push ebx
push dword [ebp + 8]
push dword [ebp - 0x10]
call fcn.1000497b
push dword [ebp - 0x20]
add eax, dword [ebp - 0x50]
lea esi, [edi + 0x748f82ee]
push dword [ebp - 8]
mov edx, dword [ebp - 4]
add esi, eax
add dword [ebp - 0xc], esi
push edx
call fcn.100049b4
push dword [ebp + 8]
push dword [ebp - 0x10]
lea edi, [esi + eax]
push dword [ebp - 0xc]
mov dword [ebp - 0x14], edi
call fcn.1000497b
push dword [ebp - 8]
add eax, dword [ebp - 0x4c]
lea esi, [ebx + 0x78a5636f]
push dword [ebp - 4]
add esi, eax
add dword [ebp - 0x20], esi
push edi
call fcn.100049b4
push dword [ebp - 0x10]
push dword [ebp - 0xc]
lea ebx, [esi + eax]
push dword [ebp - 0x20]
mov dword [ebp - 0x24], ebx
call fcn.1000497b
mov edx, dword [ebp + 8]
push dword [ebp - 4]
mov esi, dword [ebp - 0x48]
add edx, 0x84c87814
add esi, edx
add esi, eax
add dword [ebp - 8], esi
push edi
push ebx
call fcn.100049b4
add esp, 0x48
lea edi, [esi + eax]
push dword [ebp - 0xc]
mov dword [ebp + 8], edi
push dword [ebp - 0x20]
push dword [ebp - 8]
call fcn.1000497b
mov edx, dword [ebp - 0x10]
push dword [ebp - 0x14]
mov esi, dword [ebp - 0x44]
add edx, 0x8cc70208
add esi, edx
add esi, eax
add dword [ebp - 4], esi
push ebx
push edi
call fcn.100049b4
push dword [ebp - 0x20]
push dword [ebp - 8]
lea ebx, [esi + eax]
push dword [ebp - 4]
mov dword [ebp - 0x1c], ebx
call fcn.1000497b
mov edx, dword [ebp - 0xc]
push dword [ebp - 0x24]
mov esi, dword [ebp - 0x40]
add edx, 0x90befffa
add esi, edx
add esi, eax
add dword [ebp - 0x14], esi
push edi
push ebx
call fcn.100049b4
push dword [ebp - 8]
push dword [ebp - 4]
lea edi, [esi + eax]
mov dword [ebp - 0x10], edi
push dword [ebp - 0x14]
call fcn.1000497b
mov edx, dword [ebp - 0x20]
push dword [ebp + 8]
mov esi, dword [ebp - 0x3c]
add edx, 0xa4506ceb
add esi, edx
add esi, eax
add dword [ebp - 0x24], esi
push ebx
push edi
call fcn.100049b4
add esp, 0x48
lea ebx, [esi + eax]
push dword [ebp - 4]
push dword [ebp - 0x14]
push dword [ebp - 0x24]
call fcn.1000497b
mov edx, dword [ebp - 8]
push dword [ebp - 0x1c]
mov esi, dword [ebp - 0x38]
add edx, 0xbef9a3f7
add esi, edx
add esi, eax
add dword [ebp + 8], esi
push edi
push ebx
call fcn.100049b4
push dword [ebp - 0x14]
push dword [ebp - 0x24]
lea edi, [esi + eax]
push dword [ebp + 8]
call fcn.1000497b
push dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov esi, dword [ebp - 0x34]
add edx, 0xc67178f2
add esi, edx
push ebx
push edi
add esi, eax
call fcn.100049b4
mov ecx, dword [ebp - 0x30]
add esp, 0x30
add eax, dword [ebp - 0x2c]
add eax, esi
add dword [ecx + 0x50], edi
add dword [ecx + 0x54], ebx
mov dword [ecx + 0x4c], eax
mov eax, dword [ebp - 0x10]
add dword [ecx + 0x58], eax
mov eax, dword [ecx + 0x5c]
add eax, esi
add eax, dword [ebp - 0x1c]
mov dword [ecx + 0x5c], eax
mov eax, dword [ebp + 8]
add dword [ecx + 0x60], eax
mov eax, dword [ebp - 0x24]
add dword [ecx + 0x64], eax
mov eax, dword [ebp - 0x14]
add dword [ecx + 0x68], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4