Function at 0x1004b3b0
Capabilities:
Encrypt data using chaskey
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c0
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0xcc], esi
mov eax, dword [esi + 8]
cmp eax, 0x180
jg 0x1004ca64
je 0x1004ca79
sub eax, 0xe0
je 0x1004b3e8
sub eax, 0x20
jne 0x1004ca6b
mov ecx, dword [esi + 0x218]
test ecx, ecx
jle 0x1004b44b
mov edi, dword [ebp + 0xc]
mov eax, ecx
cdq
add eax, edi
adc edx, dword [ebp + 0x10]
mov dword [ebp + 0x10], edx
jne 0x1004b43d
cmp eax, 0x200
ja 0x1004b43d
mov eax, edi
sar ecx, 3
sar eax, 3
push eax
push dword [ebp + 8]
lea eax, [esi + 0x98]
add eax, ecx
push eax
call fcn.101c6b90
add esp, 0xc
lea ebx, [esi + 0x98]
add dword [esi + 0x218], edi
mov eax, dword [esi + 0x218]
cdq
mov ecx, edx
jmp 0x1004b454
pop edi
pop esi
mov eax, 3
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x84], ebx
test ecx, ecx
jne 0x1004b470
cmp eax, 0x200
jb 0x1004ca39
lea esp, [esp]
add eax, 0xfffffe00
mov dword [ebp - 0x4c], eax
adc ecx, 0xffffffff
add dword [esi + 0x10], 0x200
mov dword [ebp - 0x154], ecx
adc dword [esi + 0x14], 0
mov edx, dword [ebx]
mov eax, edx
mov ecx, dword [esi + 0x18]
xor eax, ecx
mov edi, dword [esi + 0x20]
mov dword [ebp - 0xc4], eax
mov eax, edx
rol eax, 1
mov dword [ebp - 0x15c], edx
mov edx, dword [esi + 0x1c]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebx + 4]
mov dword [ebp + 8], edx
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x18c], ecx
mov ecx, eax
xor ecx, edx
rol eax, 2
mov edx, dword [ebx + 8]
mov dword [ebp - 8], eax
mov eax, edx
xor eax, edi
rol edx, 3
mov edi, dword [esi + 0x24]
mov dword [ebp - 0x44], edx
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x184], edi
mov dword [ebp - 0xd0], eax
mov eax, edx
xor eax, edi
rol edx, 4
mov edi, dword [esi + 0x28]
mov dword [ebp - 0xe0], edx
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x17c], edi
mov dword [ebp - 0x104], eax
mov eax, edx
xor eax, edi
rol edx, 5
mov edi, dword [esi + 0x2c]
mov dword [ebp - 0x174], edi
mov dword [ebp - 0xe4], edx
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0xf0], eax
mov eax, edx
xor eax, edi
rol edx, 6
mov edi, dword [ebx + 0x18]
mov dword [ebp - 0xd8], edx
mov edx, dword [esi + 0x30]
mov dword [ebp - 0x13c], edx
mov edx, edi
xor edx, dword [esi + 0x30]
rol edi, 7
mov dword [ebp - 0xd4], edi
mov edi, dword [esi + 0x34]
mov dword [ebp - 0x12c], edi
mov edi, dword [ebx + 0x1c]
xor edi, dword [esi + 0x34]
mov dword [ebp - 0x100], edi
mov edi, dword [ebx + 0x1c]
rol edi, 8
mov dword [ebp - 0xac], edi
mov edi, dword [esi + 0x38]
mov dword [ebp - 0x16c], edi
mov edi, dword [ebx + 0x20]
mov ebx, edi
xor ebx, dword [esi + 0x38]
rol edi, 9
mov dword [ebp - 0x94], edi
mov edi, ebx
mov dword [ebp - 0x114], ecx
sub edi, eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x9c], edi
mov eax, ebx
sub eax, ecx
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x108], eax
mov eax, dword [esi + 0x3c]
mov dword [ebp - 0x150], eax
mov edi, dword [ecx + 0x24]
mov eax, edi
xor eax, dword [esi + 0x3c]
mov dword [ebp - 0xfc], eax
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x188], eax
rol edi, 0xa
mov dword [ebp - 0x8c], edi
mov edi, dword [ecx + 0x28]
mov eax, edi
xor eax, dword [esi + 0x40]
mov dword [ebp - 0xf8], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x148], eax
rol edi, 0xb
mov dword [ebp - 0x11c], edi
mov edi, dword [ecx + 0x2c]
mov eax, edi
xor eax, dword [esi + 0x44]
mov dword [ebp - 0xf4], eax
mov eax, dword [esi + 0x48]
mov dword [ebp - 0x168], eax
rol edi, 0xc
mov dword [ebp - 0xdc], edi
mov edi, dword [ecx + 0x30]
mov eax, edi
xor eax, dword [esi + 0x48]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x34]
mov ecx, eax
rol eax, 0xe
rol edi, 0xd
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xec], edi
mov edi, dword [esi + 0x4c]
xor ecx, edi
mov eax, ecx
mov dword [ebp - 0x140], edi
mov edi, dword [esi + 0x50]
sub eax, edx
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x14c], edi
mov dword [ebp - 0x130], ecx
mov eax, dword [eax + 0x38]
mov edx, eax
rol eax, 0xf
xor edx, edi
mov edi, dword [esi + 0x54]
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x114]
sub eax, edx
mov dword [ebp - 0x120], edi
mov esi, dword [esi + 0x3c]
mov edi, esi
xor edi, dword [ebp - 0x120]
mov dword [ebp - 0x128], eax
mov eax, edx
sub eax, dword [ebp - 0x100]
add ecx, eax
rol esi, 0x10
add ecx, dword [ebp - 0xf8]
add ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x164], eax
mov eax, ecx
mov dword [ebp - 0x90], esi
mov esi, ecx
rol eax, 4
mov dword [ebp - 0x110], edi
sub edi, dword [ebp - 0xc8]
ror esi, 0xd
xor esi, eax
mov eax, ecx
sub edx, dword [ebp - 0x110]
shr eax, 1
sub edx, ebx
add edx, dword [ebp - 0xf4]
xor esi, eax
add edx, dword [ebp - 0x118]
lea eax, [ecx*8]
xor esi, eax
mov ecx, edx
ror ecx, 9
mov eax, edx
rol eax, 8
xor ecx, eax
add esi, dword [ebp + 8]
mov eax, edx
mov dword [ebp - 0x2c], esi
shr eax, 1
xor ecx, eax
lea eax, [edx*4]
xor ecx, eax
add ecx, dword [ebp - 0x124]
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0xfc]
add ecx, edi
sub edi, dword [ebp - 0xd0]
add ecx, dword [ebp - 0x100]
add ecx, dword [ebp - 0xc4]
mov edx, ecx
add edi, dword [ebp - 0xf8]
mov eax, ecx
rol edx, 0xc
ror eax, 7
xor edx, eax
add edi, dword [ebp - 0x104]
mov eax, ecx
shr eax, 2
xor edx, eax
lea eax, [ecx + ecx]
xor edx, eax
add edx, dword [ebp - 0x184]
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x130]
mov ecx, edx
sub ecx, dword [ebp - 0xf8]
add ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0xc4]
mov ebx, ecx
mov eax, ecx
ror eax, 3
rol ebx, 0xf
xor ebx, eax
mov eax, ecx
shr eax, 2
xor ebx, eax
lea eax, [ecx*4]
mov ecx, dword [ebp - 0x128]
xor ebx, eax
add ebx, dword [ebp - 0x17c]
mov eax, ecx
sub eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0xfc]
add eax, dword [ebp - 0xd0]
mov dword [ebp + 8], ebx
mov ebx, eax
shr ebx, 1
xor ebx, eax
mov eax, edi
add ebx, dword [ebp - 0x174]
ror eax, 0xd
mov dword [ebp - 0x10], eax
mov eax, edi
rol eax, 4
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x10]
xor ebx, eax
mov eax, edi
shr eax, 1
xor ebx, eax
lea eax, [edi*8]
mov dword [ebp - 0x10], ebx
mov edi, ebx
sub edx, dword [ebp - 0xf4]
xor edi, eax
sub edx, dword [ebp - 0x104]
add edi, dword [ebp - 0x13c]
sub edx, dword [ebp - 0xc4]
add edx, dword [ebp - 0xf0]
sub ecx, dword [ebp - 0xc8]
mov eax, edx
sub ecx, dword [ebp - 0x10c]
sub ecx, dword [ebp - 0xf0]
rol eax, 8
mov dword [ebp - 0x10], edi
mov edi, edx
ror edi, 9
xor edi, eax
mov eax, edx
shr eax, 1
xor edi, eax
lea eax, [edx*4]
xor edi, eax
mov edx, ecx
add edi, dword [ebp - 0x12c]
mov eax, ecx
ror eax, 7
rol edx, 0xc
xor edx, eax
mov dword [ebp - 0x14], edi
mov eax, ecx
shr eax, 2
xor edx, eax
lea eax, [ecx + ecx]
mov ecx, dword [ebp - 0xb4]
xor edx, eax
add edx, dword [ebp - 0x16c]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x110]
sub ecx, edx
sub ecx, dword [ebp - 0x10c]
add ecx, dword [ebp - 0xd0]
sub edx, dword [ebp - 0x100]
mov edi, ecx
sub edx, dword [ebp - 0xf0]
mov eax, ecx
add edx, dword [ebp - 0x108]
ror eax, 3
rol edi, 0xf
xor edi, eax
mov eax, ecx
shr eax, 2
xor edi, eax
lea eax, [ecx*4]
xor edi, eax
mov ecx, edx
mov eax, dword [ebp - 0x164]
sub eax, dword [ebp - 0x104]
add eax, dword [ebp - 0x118]
add eax, dword [ebp - 0xc4]
mov esi, eax
add edi, dword [ebp - 0x150]
ror ecx, 0xd
shr esi, 1
xor esi, eax
mov dword [ebp - 0xbc], edi
add esi, dword [ebp - 0x188]
mov eax, edx
rol eax, 4
xor ecx, eax
mov dword [ebp - 0x38], esi
mov eax, edx
shr eax, 1
xor ecx, eax
lea eax, [edx*8]
xor ecx, eax
add ecx, dword [ebp - 0x148]
mov dword [ebp - 0x124], ecx
mov ecx, dword [ebp - 0xfc]
sub ecx, dword [ebp - 0xd0]
sub ecx, dword [ebp - 0xc4]
add ecx, dword [ebp - 0x9c]
mov edx, ecx
ror edx, 9
mov eax, ecx
rol eax, 8
xor edx, eax
mov eax, ecx
shr eax, 1
xor edx, eax
lea eax, [ecx*4]
xor edx, eax
add edx, dword [ebp - 0x168]
mov dword [ebp - 0x130], edx
mov edx, dword [ebp - 0xf8]
mov ecx, edx
sub ecx, dword [ebp - 0xfc]
sub ecx, dword [ebp - 0x118]
add ecx, dword [ebp - 0x104]
add ecx, dword [ebp - 0x114]
mov ebx, ecx
mov eax, ecx
ror eax, 7
rol ebx, 0xc
xor ebx, eax
mov eax, ecx
shr eax, 2
xor ebx, eax
lea eax, [ecx + ecx]
xor ebx, eax
add ebx, dword [ebp - 0x140]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0xf4]
lea ecx, [ebx + edx]
add ecx, dword [ebp - 0x100]
add ecx, dword [ebp - 0xf0]
add ecx, dword [ebp - 0xd0]
mov eax, ecx
rol eax, 0xf
mov dword [ebp - 0x20], eax
mov eax, ecx
ror eax, 3
xor dword [ebp - 0x20], eax
mov eax, ecx
shr eax, 2
xor dword [ebp - 0x20], eax
lea eax, [ecx*4]
mov ecx, dword [ebp - 0x20]
xor ecx, eax
add ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x9c]
sub ecx, dword [ebp - 0xc8]
sub ecx, ebx
add ecx, dword [ebp - 0x104]
mov ebx, ecx
mov dword [ebp - 0x9c], ecx
shr ebx, 1
xor ebx, ecx
add ebx, dword [ebp - 0x120]
mov dword [ebp - 0x98], ebx
mov ebx, dword [ebp - 0xb4]
sub ebx, dword [ebp - 0xfc]
sub ebx, dword [ebp - 0xf0]
add ebx, dword [ebp - 0xc8]
mov ecx, ebx
mov dword [ebp - 0xb4], ebx
ror ecx, 0xd
mov eax, ebx
rol eax, 4
xor ecx, eax
mov eax, ebx
shr eax, 1
xor ecx, eax
lea eax, [ebx*8]
xor ecx, eax
mov eax, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x108], eax
mov eax, edi
mov edi, dword [ebp - 0x124]
mov dword [ebp - 0x160], esi
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x144], esi
add esi, edi
add esi, eax
mov dword [ebp - 0x138], eax
add esi, ecx
mov dword [ebp - 0x114], ecx
mov ecx, dword [ebp - 0x20]
add esi, dword [ebp - 0x34]
add esi, dword [ebp - 0x3c]
add esi, dword [ebp - 0x98]
lea eax, [ecx + ebx]
mov dword [ebp - 0x40], esi
add eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0xcc]
add eax, edx
add eax, dword [ebp - 0x10]
add eax, dword [ebp + 8]
add eax, dword [ebp - 0xa0]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0xa4], eax
cmp eax, 1
jl 0x1004bd3d
mov edx, ecx
mov eax, ecx
ror eax, 7
rol edx, 0xc
xor edx, eax
mov eax, ecx
shr eax, 2
xor edx, eax
lea eax, [ecx + ecx]
xor edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
rol eax, 8
ror ecx, 9
xor ecx, eax
mov eax, dword [ebp - 0x18]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x18]
shl eax, 2
xor ecx, eax
mov eax, ebx
add edx, ecx
rol eax, 4
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
shr eax, 1
xor ecx, eax
lea eax, [ebx*8]
xor ecx, eax
mov eax, edi
add edx, ecx
ror eax, 3
mov ecx, edi
rol ecx, 0xf
xor ecx, eax
mov eax, edi
shr eax, 2
xor ecx, eax
lea eax, [edi*4]
xor ecx, eax
mov eax, dword [ebp - 0x38]
add edx, ecx
mov ecx, eax
ror eax, 7
rol ecx, 0xc
xor ecx, eax
mov eax, dword [ebp - 0x38]
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x38]
add eax, eax
xor ecx, eax
mov eax, dword [ebp - 0xbc]
add edx, ecx
mov ecx, eax
rol eax, 8
ror ecx, 9
xor ecx, eax
mov eax, dword [ebp - 0xbc]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0xbc]
shl eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x24]
add edx, ecx
mov ecx, eax
rol eax, 4
ror ecx, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x24]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x24]
shl eax, 3
xor ecx, eax
mov eax, dword [ebp - 0x14]
add edx, ecx
mov ecx, eax
ror eax, 3
rol ecx, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x14]
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x14]
shl eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x10]
add edx, ecx
mov ecx, eax
ror eax, 7
rol ecx, 0xc
xor ecx, eax
mov eax, dword [ebp - 0x10]
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x10]
add eax, eax
xor ecx, eax
mov eax, dword [ebp - 0x34]
add edx, ecx
mov ecx, eax
rol eax, 8
ror ecx, 9
xor ecx, eax
mov eax, dword [ebp - 0x34]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x34]
shl eax, 2
xor ecx, eax
mov eax, dword [ebp + 8]
add edx, ecx
mov ecx, eax
rol eax, 4
ror ecx, 0xd
xor ecx, eax
mov eax, dword [ebp + 8]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp + 8]
shl eax, 3
xor ecx, eax
mov eax, dword [ebp - 0x3c]
add edx, ecx
mov ecx, eax
ror eax, 3
rol ecx, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x3c]
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x3c]
shl eax, 2
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, ecx
mov ecx, eax
ror eax, 7
rol ecx, 0xc
xor ecx, eax
mov eax, dword [ebp - 4]
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 4]
add eax, eax
xor ecx, eax
mov eax, dword [ebp - 0x2c]
add edx, ecx
mov ecx, eax
rol eax, 8
ror ecx, 9
xor ecx, eax
mov eax, dword [ebp - 0x2c]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x2c]
shl eax, 2
xor ecx, eax
mov eax, dword [ebp - 0xa0]
add edx, ecx
mov ecx, eax
rol eax, 4
ror ecx, 0xd
xor ecx, eax
mov eax, dword [ebp - 0xa0]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0xa0]
shl eax, 3
xor ecx, eax
mov eax, dword [ebp - 0x98]
add edx, ecx
mov ecx, eax
ror eax, 3
rol ecx, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x98]
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x98]
shl eax, 2
xor ecx, eax
mov eax, dword [ebp - 0xe0]
sub eax, dword [ebp - 0x11c]
add edx, ecx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x55555550
add eax, ecx
mov ecx, dword [ebp - 0x20]
xor eax, dword [esi + 0x34]
add eax, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp + 0x10], eax
mov eax, dword [esi + 4]
cmp eax, 2
jl 0x1004bf64
mov edx, ecx
mov eax, ecx
rol eax, 8
ror edx, 9
xor edx, eax
mov eax, ecx
shr eax, 1
xor edx, eax
lea eax, [ecx*4]
xor edx, eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
rol eax, 4
ror ecx, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x18]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x18]
shl eax, 3
xor ecx, eax
mov eax, ebx
add edx, ecx
ror eax, 3
mov ecx, ebx
rol ecx, 0xf
xor ecx, eax
mov eax, ebx
shr eax, 2
xor ecx, eax
lea eax, [ebx*4]
xor ecx, eax
mov eax, edi
add edx, ecx
ror eax, 7
mov ecx, edi
rol ecx, 0xc
xor ecx, eax
mov eax, edi
shr eax, 2
xor ecx, eax
lea eax, [edi + edi]
xor ecx, eax
mov eax, dword [ebp - 0x38]
add edx, ecx
mov ecx, eax
rol eax, 8
ror ecx, 9
xor ecx, eax
mov eax, dword [ebp - 0x38]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x38]
shl eax, 2
xor ecx, eax
mov eax, dword [ebp - 0xbc]
add edx, ecx
mov ecx, eax
rol eax, 4
ror ecx, 0xd
xor ecx, eax
mov eax, dword [ebp - 0xbc]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0xbc]
shl eax, 3
xor ecx, eax
mov eax, dword [ebp - 0x24]
add edx, ecx
mov ecx, eax
ror eax, 3
rol ecx, 0xf
xor ecx, eax
mov eax, dword [ebp - 0x24]
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x24]
shl eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x14]
add edx, ecx
mov ecx, eax
ror eax, 7
rol ecx, 0xc
xor ecx, eax
mov eax, dword [ebp - 0x14]
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x14]
add eax, eax
xor ecx, eax
mov eax, dword [ebp - 0x10]
add edx, ecx
mov ecx, eax
rol eax, 8
ror ecx, 9
xor ecx, eax
mov eax, dword [ebp - 0x10]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x10]
shl eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x34]
add edx, ecx
mov ecx, eax
rol eax, 4
ror ecx, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x34]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x34]
shl eax, 3
xor ecx, eax
mov eax, dword [ebp + 8]
add edx, ecx
mov ecx, eax
ror eax, 3
rol ecx, 0xf
xor ecx, eax
mov eax, dword [ebp + 8]
shr eax, 2
xor ecx, eax
mov eax, dword [ebp + 8]
shl eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x3c]
add edx, ecx
mov ecx, eax
ror eax, 7
rol ecx, 0xc
xor ecx, eax
mov eax, dword [ebp - 0x3c]
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x3c]
add eax, eax
xor ecx, eax
mov eax, dword [ebp - 4]
add edx, ecx
mov ecx, eax
rol eax, 8
ror ecx, 9
xor ecx, eax
mov eax, dword [ebp - 4]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 4]
shl eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x2c]
add edx, ecx
mov ecx, eax
rol eax, 4
ror ecx, 0xd
xor ecx, eax
mov eax, dword [ebp - 0x2c]
shr eax, 1
xor ecx, eax
mov eax, dword [ebp - 0x2c]
shl eax, 3
xor ecx, eax
mov eax, dword [ebp - 0xa0]
add edx, ecx
mov ecx, eax
ror eax, 3
rol ecx, 0xf
xor ecx, eax
mov eax, dword [ebp - 0xa0]
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0xa0]
shl eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x98]
add edx, ecx
mov ecx, eax
ror eax, 7
rol ecx, 0xc
xor ecx, eax
mov eax, dword [ebp - 0x98]
shr eax, 2
xor ecx, eax
mov eax, dword [ebp - 0x98]
add eax, eax
xor ecx, eax
mov eax, dword [ebp - 0xe4]
sub eax, dword [ebp - 0xdc]
add edx, ecx
mov ecx, dword [ebp - 8]
add ecx, 0x5aaaaaa5
add eax, ecx
xor eax, dword [esi + 0x38]
add edx, eax
mov eax, dword [esi + 4]
xor dword [ebp + 0x10], edx
mov dword [ebp - 4], edx
jmp 0x1004bf67
mov edx, dword [ebp - 4]
cmp eax, 3
jl 0x1004bfe8
mov ecx, dword [ebp - 0x20]
mov eax, ebx
ror eax, 0xd
ror ecx, 9
add ecx, eax
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
add esi, 0x5ffffffa
rol eax, 0x10
add ecx, eax
mov eax, dword [ebp - 0x24]
rol eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x10]
rol eax, 7
add ecx, eax
mov eax, dword [ebp + 8]
rol eax, 3
add ecx, eax
mov eax, dword [ebp - 0xa0]
ror eax, 5
add ecx, eax
mov eax, dword [ebp - 0xd8]
sub eax, dword [ebp - 0xec]
add eax, esi
mov esi, dword [ebp - 0xcc]
xor eax, dword [ebp - 0x150]
add ecx, eax
mov eax, edx
shr eax, 2
xor eax, edx
mov edx, dword [ebp - 0x2c]
add eax, dword [ebp - 0x40]
shr edx, 1
add eax, ecx
xor edx, dword [ebp - 0x2c]
add edx, eax
mov eax, dword [esi + 4]
xor dword [ebp + 0x10], edx
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0xbc]
cmp eax, 4
jl 0x1004c08d
mov ecx, dword [ebp - 0x18]
mov eax, edi
rol eax, 0x10
ror ecx, 0xd
add ecx, eax
mov esi, dword [ebp - 0xe0]
mov eax, edx
add esi, 0x6555554f
rol eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x14]
rol eax, 7
add ecx, eax
mov eax, dword [ebp - 0x34]
rol eax, 3
add ecx, eax
mov eax, dword [ebp - 0x2c]
ror eax, 5
add ecx, eax
mov eax, dword [ebp - 0x98]
ror eax, 9
add ecx, eax
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0xe8]
add eax, esi
mov esi, dword [ebp - 4]
xor eax, dword [ebp - 0x188]
add ecx, eax
mov dword [ebp + 8], esi
mov eax, dword [ebp - 0x3c]
shr dword [ebp + 8], 1
xor dword [ebp + 8], esi
mov esi, dword [ebp - 0xcc]
shr eax, 2
xor eax, dword [ebp - 0x3c]
add eax, dword [ebp - 0x28]
add eax, ecx
mov ecx, dword [ebp + 8]
add ecx, eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x10c]
xor dword [ebp + 0x10], ecx
add dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp + 8], ecx
cmp eax, 5
jl 0x1004c12b
mov ecx, dword [ebp - 0x20]
mov eax, ebx
rol eax, 0x10
ror ecx, 0xd
add ecx, eax
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x38]
add esi, 0x6aaaaaa4
rol eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x24]
rol eax, 7
add ecx, eax
mov eax, dword [ebp - 0x10]
rol eax, 3
add ecx, eax
mov eax, dword [ebp - 4]
ror eax, 5
add ecx, eax
mov eax, dword [ebp - 0xa0]
ror eax, 9
add ecx, eax
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0xb0]
add eax, esi
mov esi, dword [ebp - 0x3c]
xor eax, dword [ebp - 0x148]
add ecx, eax
shr esi, 1
mov eax, dword [ebp + 8]
xor esi, dword [ebp - 0x3c]
shr eax, 2
xor eax, dword [ebp + 8]
add eax, dword [ebp - 0x40]
add eax, ecx
mov dword [ebp - 0x34], esi
mov ecx, esi
mov esi, dword [ebp - 0xcc]
add ecx, eax
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x110]
xor dword [ebp + 0x10], ecx
add dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x34], ecx
cmp eax, 6
jl 0x1004c1c8
mov ecx, dword [ebp - 0x18]
mov eax, edi
rol eax, 0xd
rol ecx, 0x10
add ecx, eax
mov esi, dword [ebp - 0xd8]
mov eax, edx
add esi, 0x6ffffff9
rol eax, 7
add ecx, eax
mov eax, dword [ebp - 0x14]
rol eax, 3
add ecx, eax
mov eax, dword [ebp - 0x3c]
ror eax, 5
add ecx, eax
mov eax, dword [ebp - 0x2c]
ror eax, 9
add ecx, eax
mov eax, dword [ebp - 0x98]
ror eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x94]
sub eax, dword [ebp - 0x90]
add eax, esi
mov esi, dword [ebp + 8]
xor eax, dword [ebp - 0x168]
add ecx, eax
shr esi, 1
mov eax, dword [ebp - 0x34]
xor esi, dword [ebp + 8]
shr eax, 2
xor eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x28]
add eax, ecx
mov dword [ebp - 0x10], esi
mov ecx, esi
mov esi, dword [ebp - 0xcc]
add ecx, eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x118]
xor dword [ebp + 0x10], ecx
add dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x10], ecx
cmp eax, 7
jl 0x1004c268
mov ecx, dword [ebp - 0x20]
mov eax, ebx
rol eax, 0xd
rol ecx, 0x10
add ecx, eax
mov esi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x38]
add esi, 0x7555554e
rol eax, 7
add ecx, eax
mov eax, dword [ebp - 0x24]
rol eax, 3
add ecx, eax
mov eax, dword [ebp + 8]
ror eax, 5
add ecx, eax
mov eax, dword [ebp - 4]
ror eax, 9
add ecx, eax
mov eax, dword [ebp - 0xa0]
ror eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x8c]
sub eax, dword [ebp - 0xb8]
add eax, esi
mov esi, dword [ebp - 0x34]
xor eax, dword [ebp - 0x140]
add ecx, eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x10]
shr dword [ebp - 0x14], 1
xor dword [ebp - 0x14], esi
mov esi, dword [ebp - 0xcc]
shr eax, 2
xor eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x40]
add eax, ecx
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov eax, dword [ebp + 8]
sub eax, dword [ebp - 0x108]
xor dword [ebp + 0x10], ecx
add dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x14], ecx
cmp eax, 8
jl 0x1004c304
mov ecx, dword [ebp - 0x18]
mov eax, edi
rol eax, 7
rol ecx, 0xd
add ecx, eax
mov esi, dword [ebp - 0xac]
mov eax, edx
add esi, 0x7aaaaaa3
rol eax, 3
add ecx, eax
mov eax, dword [ebp - 0x34]
ror eax, 5
add ecx, eax
mov eax, dword [ebp - 0x3c]
ror eax, 9
add ecx, eax
mov eax, dword [ebp - 0x2c]
ror eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x98]
rol eax, 0x10
add ecx, eax
mov eax, dword [ebp - 0x11c]
sub eax, dword [ebp - 8]
add eax, esi
mov esi, dword [ebp - 0x10]
xor eax, dword [ebp - 0x14c]
add ecx, eax
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x14]
shr dword [ebp - 0x24], 1
xor dword [ebp - 0x24], esi
mov esi, dword [ebp - 0xcc]
shr eax, 2
xor eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x28]
add eax, ecx
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x114]
xor dword [ebp + 0x10], ecx
add dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x24], ecx
cmp eax, 9
jl 0x1004c390
mov ecx, dword [ebp - 0x20]
mov eax, ebx
rol eax, 7
rol ecx, 0xd
add ecx, eax
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x38]
add edx, 0x7ffffff8
rol eax, 3
add ecx, eax
mov eax, dword [ebp - 0x10]
ror eax, 5
add ecx, eax
mov eax, dword [ebp + 8]
ror eax, 9
add ecx, eax
mov eax, dword [ebp - 4]
ror eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0xa0]
rol eax, 0x10
add ecx, eax
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0x44]
add eax, edx
mov edx, dword [ebp - 0x14]
xor eax, dword [esi + 0x54]
add ecx, eax
shr edx, 1
mov eax, dword [ebp - 0x24]
xor edx, dword [ebp - 0x14]
shr eax, 2
xor eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x40]
add eax, ecx
add edx, eax
mov eax, dword [ebp + 0x10]
xor eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x120]
add dword [ebp - 0x28], eax
mov eax, dword [esi + 4]
cmp eax, 0xa
jl 0x1004c42c
mov ecx, dword [ebp - 0x18]
mov eax, edi
rol eax, 3
rol ecx, 7
add ecx, eax
mov esi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x14]
add esi, 0x8555554d
ror eax, 5
add ecx, eax
mov eax, dword [ebp - 0x34]
ror eax, 9
add ecx, eax
mov eax, dword [ebp - 0x3c]
ror eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x2c]
rol eax, 0x10
add ecx, eax
mov eax, dword [ebp - 0x98]
rol eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0xec]
sub eax, dword [ebp - 0xe0]
add eax, esi
mov esi, dword [ebp - 0x24]
xor eax, dword [ebp - 0x18c]
add ecx, eax
shr esi, 1
xor esi, dword [ebp - 0x24]
mov eax, edx
shr eax, 2
xor eax, edx
mov dword [ebp - 0x38], esi
add eax, dword [ebp - 0x28]
add eax, ecx
mov ecx, esi
mov esi, dword [ebp - 0xcc]
add ecx, eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x138]
xor dword [ebp - 0x1c], ecx
add dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x38], ecx
cmp eax, 0xb
jl 0x1004c4b0
mov ecx, dword [ebp - 0x20]
mov eax, ebx
rol eax, 3
rol ecx, 7
add ecx, eax
mov edi, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x24]
add edi, 0x8aaaaaa2
ror eax, 5
add ecx, eax
mov eax, dword [ebp - 0x10]
ror eax, 9
add ecx, eax
mov eax, dword [ebp + 8]
ror eax, 0xd
add ecx, eax
mov eax, dword [ebp - 4]
rol eax, 0x10
add ecx, eax
mov eax, dword [ebp - 0xa0]
rol eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xe4]
add eax, edi
mov edi, edx
xor eax, dword [esi + 0x1c]
add ecx, eax
shr edi, 1
mov eax, dword [ebp - 0x38]
xor edi, edx
shr eax, 2
xor eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x40]
add eax, ecx
add edi, eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x160]
xor dword [ebp - 0x1c], edi
add dword [ebp - 0x28], eax
mov eax, dword [esi + 4]
cmp eax, 0xc
jl 0x1004c533
mov ecx, dword [ebp - 0x18]
mov eax, edx
ror eax, 5
rol ecx, 3
add ecx, eax
mov ebx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x14]
add ebx, 0x8ffffff7
ror eax, 9
add ecx, eax
mov eax, dword [ebp - 0x34]
ror eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x3c]
rol eax, 0x10
add ecx, eax
mov eax, dword [ebp - 0x2c]
rol eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x98]
rol eax, 7
add ecx, eax
mov eax, dword [ebp - 0xb0]
sub eax, dword [ebp - 0xd8]
add eax, ebx
mov ebx, dword [ebp - 0x38]
xor eax, dword [esi + 0x20]
add ecx, eax
shr ebx, 1
xor ebx, dword [ebp - 0x38]
mov eax, edi
shr eax, 2
xor eax, edi
add eax, dword [ebp - 0x28]
add eax, ecx
add ebx, eax
mov eax, edx
sub eax, dword [ebp - 0x158]
xor dword [ebp - 0x1c], ebx
add dword [ebp - 0x40], eax
mov eax, dword [esi + 4]
cmp eax, 0xd
jl 0x1004c5cc
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
ror eax, 5
rol ecx, 3
add ecx, eax
mov esi, dword [ebp - 0xec]
mov eax, dword [ebp - 0x24]
add esi, 0x9555554c
ror eax, 9
add ecx, eax
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x10]
ror eax, 0xd
add ecx, eax
shr dword [ebp - 0x18], 1
mov eax, dword [ebp + 8]
rol eax, 0x10
add ecx, eax
xor dword [ebp - 0x18], edi
mov eax, dword [ebp - 4]
rol eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0xa0]
rol eax, 7
add ecx, eax
mov eax, dword [ebp - 0x90]
sub eax, dword [ebp - 0xd4]
add eax, esi
mov esi, dword [ebp - 0xcc]
xor eax, dword [ebp - 0x184]
add ecx, eax
mov eax, ebx
shr eax, 2
xor eax, ebx
add eax, dword [ebp - 0x40]
add eax, ecx
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x170]
xor dword [ebp - 0x1c], ecx
add dword [ebp - 0x28], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], ecx
cmp eax, 0xe
jl 0x1004c664
mov esi, dword [ebp - 0xb8]
mov ecx, edi
ror ecx, 5
mov eax, edx
ror eax, 9
add esi, 0x9aaaaaa1
add ecx, eax
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x14]
ror eax, 0xd
add ecx, eax
shr dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x34]
rol eax, 0x10
add ecx, eax
xor dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x3c]
rol eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x2c]
rol eax, 7
add ecx, eax
mov eax, dword [ebp - 0x98]
rol eax, 3
add ecx, eax
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0xac]
add eax, esi
mov esi, dword [ebp - 0xcc]
xor eax, dword [ebp - 0x17c]
add ecx, eax
mov eax, dword [ebp - 0x18]
shr eax, 2
xor eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x28]
add eax, ecx
mov ecx, dword [ebp - 0x20]
add ecx, eax
mov eax, edi
sub eax, dword [ebp - 0x144]
xor dword [ebp - 0x1c], ecx
add dword [ebp - 0x40], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x20], ecx
cmp eax, 0xf
jl 0x1004c708
mov eax, dword [ebp - 0x38]
mov ecx, ebx
ror eax, 9
ror ecx, 5
add ecx, eax
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
add esi, 0x9ffffff6
ror eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x10]
rol eax, 0x10
add ecx, eax
mov eax, dword [ebp + 8]
rol eax, 0xd
add ecx, eax
mov eax, dword [ebp - 4]
rol eax, 7
add ecx, eax
mov eax, dword [ebp - 0xa0]
rol eax, 3
add ecx, eax
mov eax, dword [ebp - 0xb0]
sub eax, dword [ebp - 0x94]
add eax, esi
mov esi, dword [ebp - 0x18]
xor eax, dword [ebp - 0x174]
add ecx, eax
shr esi, 1
mov eax, dword [ebp - 0x20]
xor esi, dword [ebp - 0x18]
shr eax, 2
xor eax, dword [ebp - 0x20]
add eax, dword [ebp - 0x40]
add eax, ecx
mov dword [ebp - 0x9c], esi
add dword [ebp - 0x9c], eax
mov eax, ebx
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x9c]
add dword [ebp - 0x28], eax
mov esi, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x1c], ecx
jmp 0x1004c70b
mov ecx, dword [ebp - 0x1c]
cmp eax, 0x10
jl 0x1004c7a1
mov ecx, dword [ebp - 0x18]
mov eax, edi
ror eax, 9
ror ecx, 5
add ecx, eax
mov esi, dword [ebp - 0x44]
mov eax, edx
add esi, 0xa555554b
ror eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x14]
rol eax, 0x10
add ecx, eax
mov eax, dword [ebp - 0x34]
rol eax, 0xd
add ecx, eax
mov eax, dword [ebp - 0x3c]
rol eax, 7
add ecx, eax
mov eax, dword [ebp - 0x2c]
rol eax, 3
add ecx, eax
mov eax, dword [ebp - 0x90]
sub eax, dword [ebp - 0x8c]
add eax, esi
mov esi, dword [ebp - 0x20]
xor eax, dword [ebp - 0x13c]
add ecx, eax
shr esi, 1
mov eax, dword [ebp - 0x9c]
xor esi, dword [ebp - 0x20]
shr eax, 2
xor eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0x28]
add eax, ecx
mov dword [ebp - 0xb4], esi
mov ecx, dword [ebp - 0x1c]
add dword [ebp - 0xb4], eax
xor ecx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x2c]
shr eax, 5
shl ecx, 5
xor ecx, eax
mov eax, dword [ebp + 0x10]
xor ecx, dword [ebp - 0x15c]
xor eax, edx
xor eax, dword [ebp - 0x128]
add ecx, eax
mov eax, dword [ebp - 4]
mov dword [esi + 0x18], ecx
mov ecx, dword [ebp - 0x1c]
shl eax, 8
shr ecx, 7
xor ecx, eax
mov eax, dword [ebp - 0x84]
xor ecx, dword [eax + 4]
mov eax, dword [ebp + 0x10]
xor eax, dword [ebp - 0x38]
xor eax, dword [ebp - 0x12c]
add ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x1c], ecx
mov ecx, dword [ebp - 0x1c]
shl eax, 5
shr ecx, 5
xor ecx, eax
mov eax, dword [ebp - 0x84]
xor ecx, dword [eax + 8]
mov eax, dword [ebp + 0x10]
xor eax, edi
xor eax, dword [ebp - 0x10c]
add ecx, eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x20], ecx
mov ecx, dword [ebp - 0x1c]
shl eax, 5
shr ecx, 1
xor ecx, eax
mov eax, dword [ebp - 0x84]
xor ecx, dword [eax + 0xc]
mov eax, dword [ebp + 0x10]
xor eax, ebx
xor eax, dword [ebp - 0x110]
add ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [esi + 0x24], ecx
mov ecx, dword [ebp - 0x1c]
shr ecx, 3
xor ecx, dword [ebp - 0x34]
xor ecx, dword [eax + 0x10]
mov eax, dword [ebp + 0x10]
xor eax, dword [ebp - 0x18]
xor eax, dword [ebp - 0x118]
add ecx, eax
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x28], ecx
mov ecx, dword [ebp - 0x1c]
shr eax, 6
shl ecx, 6
xor ecx, eax
mov eax, dword [ebp - 0x84]
xor ecx, dword [eax + 0x14]
mov eax, dword [ebp + 0x10]
xor eax, dword [ebp - 0x20]
xor eax, dword [ebp - 0x108]
add ecx, eax
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x2c], ecx
mov ecx, dword [ebp - 0x1c]
shl eax, 6
shr ecx, 4
xor ecx, eax
mov eax, dword [ebp - 0x84]
xor ecx, dword [eax + 0x18]
mov eax, dword [ebp + 0x10]
xor eax, dword [ebp - 0x9c]
xor eax, dword [ebp - 0x114]
add ecx, eax
mov dword [esi + 0x30], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
shl eax, 2
shr ecx, 0xb
xor ecx, eax
mov eax, dword [ebp - 0x84]
xor ecx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x10]
xor eax, dword [ebp - 0xb4]
xor eax, dword [ebp - 0x120]
add ecx, eax
mov eax, dword [ebp + 0x10]
shl eax, 8
xor eax, dword [ebp - 0x24]
xor eax, dword [ebp - 0x138]
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x28]
rol ecx, 9
add ecx, eax
mov eax, dword [ebp - 0x1c]
xor eax, edx
mov edx, dword [ebp - 0x84]
xor eax, dword [edx + 0x20]
add ecx, eax
mov eax, dword [ebp + 0x10]
shr eax, 6
xor eax, dword [ebp - 0x2c]
xor eax, dword [ebp - 0x160]
mov dword [esi + 0x38], ecx
mov ecx, dword [esi + 0x2c]
rol ecx, 0xa
add ecx, eax
mov eax, dword [edx + 0x24]
mov edx, dword [ebp - 0x1c]
xor eax, edx
xor eax, dword [ebp - 0x38]
add ecx, eax
mov eax, dword [ebp + 0x10]
shl eax, 6
xor eax, dword [ebp - 4]
xor eax, dword [ebp - 0x158]
mov dword [esi + 0x3c], ecx
mov ecx, dword [esi + 0x30]
rol ecx, 0xb
add ecx, eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x28]
xor eax, edx
xor eax, edi
mov edi, dword [ebp + 0x10]
add ecx, eax
mov eax, edi
shl eax, 4
xor eax, dword [ebp - 0x3c]
xor eax, dword [ebp - 0x170]
mov dword [esi + 0x40], ecx
mov ecx, dword [esi + 0x34]
rol ecx, 0xc
add ecx, eax
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 0x2c]
xor eax, edx
xor eax, ebx
mov ebx, dword [ebp - 0x84]
add ecx, eax
mov eax, edi
shr eax, 3
xor eax, dword [ebp + 8]
xor eax, dword [ebp - 0x144]
mov dword [esi + 0x44], ecx
mov ecx, dword [esi + 0x18]
rol ecx, 0xd
add ecx, eax
mov eax, dword [ebx + 0x30]
xor eax, edx
xor eax, dword [ebp - 0x18]
add ecx, eax
mov eax, edi
mov dword [esi + 0x48], ecx
mov ecx, dword [esi + 0x1c]
rol ecx, 0xe
shr eax, 4
xor eax, dword [ebp - 0x34]
xor eax, dword [ebp - 0xc]
add ecx, eax
mov eax, dword [ebx + 0x34]
xor eax, edx
xor eax, dword [ebp - 0x20]
add ecx, eax
mov eax, edi
shr eax, 7
xor eax, dword [ebp - 0x10]
xor eax, dword [ebp - 0x98]
mov dword [esi + 0x4c], ecx
mov ecx, dword [esi + 0x20]
rol ecx, 0xf
add ecx, eax
mov eax, dword [ebx + 0x38]
xor eax, edx
xor eax, dword [ebp - 0x9c]
add ecx, eax
mov eax, edi
shr eax, 2
xor eax, dword [ebp - 0x14]
xor eax, dword [ebp - 0xa0]
mov dword [esi + 0x50], ecx
mov ecx, dword [esi + 0x24]
rol ecx, 0x10
add ecx, eax
mov eax, dword [ebx + 0x3c]
xor eax, edx
add ebx, 0x40
xor eax, dword [ebp - 0xb4]
add ecx, eax
mov dword [ebp - 0x84], ebx
mov eax, dword [ebp - 0x4c]
mov dword [esi + 0x54], ecx
mov ecx, dword [ebp - 0x154]
test ecx, ecx
ja 0x1004b470
jb 0x1004ca39
cmp eax, 0x200
jae 0x1004b470
mov dword [esi + 0x218], eax
test ecx, ecx
jne 0x1004ca4b
test eax, eax
je 0x10050366
neg eax
sar eax, 3
not eax
inc eax
and eax, 0x1ff
add esi, 0x98
push eax
jmp 0x1005035c
cmp eax, 0x200
je 0x1004ca79
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [esi + 0x218]
test ecx, ecx
jle 0x1004cad6
mov edi, dword [ebp + 0xc]
mov eax, ecx
cdq
add eax, edi
adc edx, dword [ebp + 0x10]
mov dword [ebp + 0x10], edx
jne 0x1004b43d
cmp eax, 0x400
ja 0x1004b43d
mov eax, edi
sar ecx, 3
sar eax, 3
push eax
push dword [ebp + 8]
lea eax, [esi + 0x118]
add eax, ecx
push eax
call fcn.101c6b90
add esp, 0xc
lea ebx, [esi + 0x118]
add dword [esi + 0x218], edi
mov eax, dword [esi + 0x218]
cdq
mov ecx, eax
jmp 0x1004cadf
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0xa0], ebx
test edx, edx
jne 0x1004caf5
cmp ecx, 0x400
jb 0x10050339
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
add ecx, 0xfffffc00
mov dword [ebp - 0x10c], ecx
adc edx, 0xffffffff
add dword [esi + 0x10], 0x400
mov dword [ebp - 0x1c0], edx
adc dword [esi + 0x14], 0
mov ecx, dword [esi + 0x18]
mov eax, dword [ebx]
mov edi, dword [ebx + 4]
mov edx, dword [esi + 0x1c]
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0x1ac], eax
xor eax, ecx
mov dword [ebp - 0x84], eax
mov eax, edi
xor eax, edx
mov dword [ebp - 0x1a8], ecx
mov ecx, dword [ebx + 4]
mov edx, edi
shr edx, 0x1f
mov dword [ebp - 0xa4], eax
mov eax, dword [ebx]
shld ecx, eax, 1
mov dword [ebp - 0x1b4], edi
xor edi, edi
or edi, ecx
add eax, eax
mov ecx, dword [ebx + 8]
or edx, eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x168], edx
mov edx, ecx
xor edx, dword [esi + 0x20]
mov dword [ebp - 0x180], edx
mov edx, eax
xor edx, dword [esi + 0x24]
mov dword [ebp - 0x134], edx
mov edx, eax
shr edx, 0x1e
shld eax, ecx, 2
mov dword [ebp - 0x188], edi
xor edi, edi
shl ecx, 2
or edi, eax
mov eax, dword [ebx + 0x14]
or edx, ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x150], edx
mov edx, ecx
xor edx, dword [esi + 0x28]
mov dword [ebp - 0xe0], edx
mov edx, eax
xor edx, dword [esi + 0x2c]
mov dword [ebp - 0xc8], edx
mov edx, eax
shld eax, ecx, 3
shr edx, 0x1d
shl ecx, 3
or edx, ecx
mov dword [ebp - 0x120], edi
mov ecx, dword [ebx + 0x18]
xor edi, edi
mov dword [ebp - 0x114], edx
or edi, eax
mov eax, dword [ebx + 0x1c]
mov edx, ecx
xor edx, dword [esi + 0x30]
mov dword [ebp - 0x1c], edx
mov edx, eax
xor edx, dword [esi + 0x34]
mov dword [ebp - 0x10], edx
mov edx, eax
shld eax, ecx, 4
mov dword [ebp - 0x118], edi
xor edi, edi
shr edx, 0x1c
shl ecx, 4
or edx, ecx
or edi, eax
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x170], edi
mov ecx, dword [ebx + 0x20]
xor edi, edi
mov eax, dword [ebx + 0x24]
mov edx, ecx
xor edx, dword [esi + 0x38]
mov dword [ebp - 0xdc], edx
mov edx, eax
xor edx, dword [esi + 0x3c]
mov dword [ebp - 0xd8], edx
mov edx, eax
shr edx, 0x1b
shld eax, ecx, 5
mov dword [ebp - 0x11c], 0
shl ecx, 5
or edi, eax
or edx, ecx
mov eax, dword [ebx + 0x2c]
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 0x160], edx
mov edx, eax
xor edx, dword [esi + 0x44]
mov dword [ebp - 0x4c], edx
mov edx, eax
shr edx, 0x1a
mov dword [ebp - 0x13c], edi
mov edi, ecx
shld eax, ecx, 6
xor edi, dword [esi + 0x40]
or dword [ebp - 0x11c], eax
mov eax, dword [ebx + 0x34]
shl ecx, 6
or edx, ecx
mov dword [ebp - 0xfc], 0
mov ecx, dword [ebx + 0x30]
mov dword [ebp - 0x17c], edx
mov edx, ecx
xor edx, dword [esi + 0x48]
mov dword [ebp - 0x6c], edx
mov edx, eax
xor edx, dword [esi + 0x4c]
mov dword [ebp - 0x54], edx
mov edx, eax
shld eax, ecx, 7
shr edx, 0x19
or dword [ebp - 0xfc], eax
mov eax, dword [ebx + 0x3c]
shl ecx, 7
or edx, ecx
mov dword [ebp - 0xf0], 0
mov ecx, dword [ebx + 0x38]
mov dword [ebp - 0x14c], edx
mov edx, ecx
xor edx, dword [esi + 0x50]
mov dword [ebp - 0x30], edx
mov edx, eax
xor edx, dword [esi + 0x54]
mov dword [ebp - 0xe4], edx
mov edx, eax
shld eax, ecx, 8
shr edx, 0x18
or dword [ebp - 0xf0], eax
mov eax, dword [esi + 0x5c]
shl ecx, 8
or edx, ecx
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 0x44]
mov ebx, eax
xor ebx, dword [esi + 0x5c]
mov dword [ebp - 0x148], edx
mov edx, ecx
xor edx, dword [esi + 0x58]
mov dword [ebp - 0xec], eax
shr dword [ebp - 0xec], 0x17
shld eax, ecx, 9
mov dword [ebp - 0x80], edi
shl ecx, 9
or dword [ebp - 0xec], ecx
mov dword [ebp + 0x10], edx
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0xf4], 0
or dword [ebp - 0xf4], eax
mov eax, edx
sub eax, edi
mov edi, dword [esi + 0x64]
mov dword [ebp - 0x20], eax
mov eax, ebx
sbb eax, dword [ebp - 0x4c]
sub edx, dword [ebp - 0x180]
mov dword [ebp - 0x98], edx
sbb ebx, dword [ebp - 0x134]
mov dword [ebp - 0xc0], ebx
mov ebx, dword [ebp - 0xa0]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x16c], edi
mov ecx, dword [ebx + 0x48]
mov edx, ecx
xor edx, dword [esi + 0x60]
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 4], edx
mov edx, eax
xor edx, edi
xor edi, edi
mov dword [ebp - 0xd4], edx
mov edx, eax
shr edx, 0x16
shld eax, ecx, 0xa
shl ecx, 0xa
or edi, eax
or edx, ecx
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x50]
mov dword [ebp - 0x108], edx
mov edx, ecx
xor edx, dword [esi + 0x68]
mov dword [ebp - 0xac], edx
mov edx, eax
xor edx, dword [esi + 0x6c]
mov dword [ebp - 0xb8], edx
mov edx, eax
shr edx, 0x15
shld eax, ecx, 0xb
mov dword [ebp - 0x110], edi
xor edi, edi
shl ecx, 0xb
or edi, eax
mov eax, dword [ebx + 0x5c]
or edx, ecx
mov ecx, dword [ebx + 0x58]
mov dword [ebp - 0x158], edx
mov edx, ecx
xor edx, dword [esi + 0x70]
mov dword [ebp - 0xb0], edx
mov edx, eax
xor edx, dword [esi + 0x74]
mov dword [ebp - 0x2c], edx
mov edx, eax
shld eax, ecx, 0xc
shr edx, 0x14
mov dword [ebp - 0x138], edi
xor edi, edi
shl ecx, 0xc
or edi, eax
mov eax, dword [esi + 0x7c]
or edx, ecx
mov ecx, dword [ebx + 0x60]
mov dword [ebp - 0x174], edx
mov edx, ecx
mov dword [ebp - 0x184], edi
mov edi, dword [esi + 0x78]
xor edx, edi
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x154], eax
mov eax, dword [ebx + 0x64]
mov edx, eax
xor edx, dword [esi + 0x7c]
mov dword [ebp - 0xc], edx
mov edx, eax
mov dword [ebp - 0x15c], edi
xor edi, edi
shr edx, 0x13
shld eax, ecx, 0xd
or edi, eax
shl ecx, 0xd
mov eax, dword [esi + 0x84]
or edx, ecx
mov ecx, dword [ebx + 0x68]
mov dword [ebp - 0x190], eax
mov eax, dword [ebx + 0x6c]
mov dword [ebp - 0xe8], eax
shr dword [ebp - 0xe8], 0x12
mov dword [ebp - 0x18c], edx
mov edx, ecx
mov dword [ebp - 0x140], edi
mov edi, dword [esi + 0x80]
xor edx, edi
mov dword [ebp - 0x1a0], edi
mov edi, eax
xor edi, dword [esi + 0x84]
shld eax, ecx, 0xe
mov dword [ebp - 0x44], edx
shl ecx, 0xe
or dword [ebp - 0xe8], ecx
mov ecx, dword [ebx + 0x70]
mov dword [ebp - 0x100], 0
or dword [ebp - 0x100], eax
mov eax, edi
sub edx, dword [ebp - 0x6c]
mov dword [ebp - 0x38], edx
sbb eax, dword [ebp - 0x54]
mov edx, dword [esi + 0x88]
mov dword [ebp - 0xbc], eax
mov eax, dword [esi + 0x8c]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebx + 0x74]
mov ebx, ecx
xor ebx, edx
mov dword [ebp - 0xd0], eax
shr dword [ebp - 0xd0], 0x11
mov dword [ebp - 0x198], edx
mov edx, eax
xor edx, dword [esi + 0x8c]
shld eax, ecx, 0xf
mov dword [ebp - 0x104], 0
or dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x180]
shl ecx, 0xf
or dword [ebp - 0xd0], ecx
sub eax, ebx
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x134]
sbb eax, edx
mov dword [ebp - 0x130], ebx
sub ebx, dword [ebp - 0x30]
mov dword [ebp - 0x70], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x128], edx
sbb edx, dword [ebp - 0xe4]
mov ecx, dword [eax + 0x78]
mov ebx, ecx
xor ebx, dword [esi + 0x90]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x7c], ebx
mov ebx, eax
xor ebx, dword [esi + 0x94]
mov dword [ebp - 0xc4], eax
shr dword [ebp - 0xc4], 0x10
shld eax, ecx, 0x10
mov dword [ebp - 0xf8], 0
or dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x7c]
shl ecx, 0x10
or dword [ebp - 0xc4], ecx
sub eax, dword [ebp - 0x178]
mov dword [ebp - 0x50], ebx
sbb ebx, dword [ebp - 0xc]
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x74], ebx
mov eax, dword [ebp - 0xac]
add eax, dword [ebp - 0x80]
mov ebx, dword [ebp - 0xb8]
adc ebx, dword [ebp - 0x4c]
add eax, dword [ebp - 0x48]
adc ebx, edx
add eax, dword [ebp - 0x44]
mov dword [ebp + 8], eax
adc ebx, edi
mov edi, eax
shl edi, 5
xor edx, edx
mov ecx, ebx
shrd eax, ecx, 0x1b
or edx, eax
shr ecx, 0x1b
mov eax, dword [ebp + 8]
or edi, ecx
mov dword [ebp - 0x40], edi
mov ecx, ebx
shld ecx, eax, 4
mov dword [ebp - 0x3c], edx
mov edi, ebx
shl eax, 4
xor edx, edx
or edx, ecx
shr edi, 0x1c
xor dword [ebp - 0x40], edx
or edi, eax
xor dword [ebp - 0x3c], edi
mov ecx, ebx
mov edx, dword [ebp + 8]
mov eax, edx
mov edi, dword [ebp - 0x3c]
shrd eax, ecx, 1
shld ebx, edx, 3
xor edi, eax
shr ecx, 1
mov eax, dword [ebp - 0x40]
xor eax, ecx
shl edx, 3
xor edi, edx
xor eax, ebx
add edi, dword [esi + 0x20]
mov ebx, dword [ebp - 0x2c]
adc eax, dword [esi + 0x24]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xb0]
sub eax, dword [ebp + 0x10]
mov dword [ebp - 0x3c], edi
sbb ebx, dword [ebp - 0x124]
sub eax, dword [ebp - 0x7c]
sbb ebx, dword [ebp - 0x50]
add eax, dword [ebp - 0x6c]
adc ebx, dword [ebp - 0x54]
add eax, dword [ebp - 0x130]
mov dword [ebp + 8], eax
mov edi, eax
adc ebx, dword [ebp - 0x128]
xor edx, edx
mov ecx, ebx
shl edi, 0xb
shrd eax, ecx, 0x15
or edx, eax
shr ecx, 0x15
mov eax, dword [ebp + 8]
or edi, ecx
mov dword [ebp - 0x24], edi
mov ecx, ebx
shld ecx, eax, 0xd
mov dword [ebp - 0x34], edx
mov edi, ebx
shl eax, 0xd
xor edx, edx
shr edi, 0x13
or edx, ecx
or edi, eax
xor dword [ebp - 0x34], edi
xor dword [ebp - 0x24], edx
mov edx, dword [ebp + 8]
mov eax, edx
mov edi, dword [ebp - 0x34]
mov ecx, ebx
shrd eax, ecx, 1
shld ebx, edx, 2
xor edi, eax
shr ecx, 1
mov eax, dword [ebp - 0x24]
xor eax, ecx
shl edx, 2
xor eax, ebx
xor edi, edx
add edi, dword [esi + 0x28]
mov edx, dword [ebp - 4]
adc eax, dword [esi + 0x2c]
add edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0xd4]
adc ebx, dword [ebp - 0xe4]
add edx, dword [ebp - 0x84]
mov dword [ebp - 0x24], eax
adc ebx, dword [ebp - 0xa4]
add edx, dword [ebp - 0x68]
mov dword [ebp - 0x34], edi
adc ebx, dword [ebp - 0x74]
xor edi, edi
mov eax, ebx
mov dword [ebp + 8], edx
shr eax, 0xd
mov ecx, ebx
mov dword [ebp + 0x10], eax
mov eax, edx
shld ecx, eax, 0x13
shl eax, 0x13
or edi, ecx
or dword [ebp + 0x10], eax
mov ecx, ebx
mov eax, dword [ebp + 8]
shrd eax, ecx, 0xb
mov dword [ebp - 0x8c], edi
mov edi, edx
xor edx, edx
shr ecx, 0xb
or edx, eax
shl edi, 0x15
xor dword [ebp + 0x10], edx
or edi, ecx
xor dword [ebp - 0x8c], edi
mov ecx, ebx
mov edx, dword [ebp + 8]
mov eax, edx
mov edi, dword [ebp + 0x10]
shrd eax, ecx, 2
shld ebx, edx, 1
xor edi, eax
shr ecx, 2
mov eax, dword [ebp - 0x8c]
add edx, edx
xor eax, ecx
xor edi, edx
mov edx, dword [ebp - 0x98]
xor eax, ebx
add edi, dword [esi + 0x30]
mov ebx, dword [ebp - 0xc0]
adc eax, dword [esi + 0x34]
sub edx, dword [ebp - 0xac]
mov dword [ebp - 0x8c], eax
sbb ebx, dword [ebp - 0xb8]
add edx, dword [ebp - 0x84]
mov dword [ebp + 0x10], edi
adc ebx, dword [ebp - 0xa4]
add edx, dword [ebp - 0x44]
mov dword [ebp + 8], edx
adc ebx, dword [ebp - 0x64]
xor edi, edi
mov eax, ebx
mov ecx, ebx
shr eax, 4
mov dword [ebp - 0x60], eax
mov eax, edx
shld ecx, eax, 0x1c
shl eax, 0x1c
or dword [ebp - 0x60], eax
or edi, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], edi
mov ecx, ebx
shrd eax, ecx, 5
mov edi, edx
xor edx, edx
or edx, eax
shl edi, 0x1b
xor dword [ebp - 0x60], edx
mov edx, dword [ebp + 8]
mov eax, edx
shr ecx, 5
or edi, ecx
mov ecx, ebx
xor dword [ebp - 0x90], edi
mov edi, dword [ebp - 0x60]
shrd eax, ecx, 2
shld ebx, edx, 2
xor edi, eax
shr ecx, 2
mov eax, dword [ebp - 0x90]
xor eax, ecx
shl edx, 2
mov ecx, dword [ebp - 4]
xor edi, edx
xor eax, ebx
add edi, dword [esi + 0x38]
mov ebx, dword [ebp - 0xb8]
adc eax, dword [esi + 0x3c]
sub ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xd4]
sbb eax, dword [ebp - 0x2c]
add ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x60], edi
adc eax, dword [ebp - 0xc8]
add ecx, dword [ebp - 0x9c]
mov dword [ebp + 8], ecx
adc eax, dword [ebp - 0x70]
mov edi, eax
shrd dword [ebp + 8], edi, 1
xor dword [ebp + 8], ecx
shr edi, 1
xor edi, eax
mov eax, dword [esi + 0x40]
add dword [ebp + 8], eax
mov eax, dword [ebp - 0xac]
adc edi, dword [esi + 0x44]
sub eax, dword [ebp - 0xe0]
mov dword [ebp - 0x28], edi
sbb ebx, dword [ebp - 0xc8]
add eax, dword [ebp - 0x1c]
adc ebx, dword [ebp - 0x10]
add eax, dword [ebp - 0x68]
mov dword [ebp - 0x68], eax
mov edi, eax
adc ebx, dword [ebp - 0x74]
xor edx, edx
mov ecx, ebx
shl edi, 5
shrd eax, ecx, 0x1b
or edx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0x68]
or edi, ecx
mov dword [ebp - 0x58], edi
mov ecx, ebx
shld ecx, eax, 4
mov dword [ebp - 0x88], edx
mov edi, ebx
shl eax, 4
xor edx, edx
shr edi, 0x1c
or edx, ecx
or edi, eax
mov ecx, ebx
xor dword [ebp - 0x88], edi
xor dword [ebp - 0x58], edx
mov edx, dword [ebp - 0x68]
mov eax, edx
shrd eax, ecx, 1
mov edi, dword [ebp - 0x88]
xor edi, eax
shr ecx, 1
mov eax, dword [ebp - 0x58]
shld ebx, edx, 3
xor eax, ecx
xor eax, ebx
shl edx, 3
xor edi, edx
mov ebx, dword [ebp - 0xd8]
add edi, dword [esi + 0x48]
mov dword [ebp - 0x88], edi
adc eax, dword [esi + 0x4c]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0xdc]
sub eax, dword [ebp - 0xb0]
sbb ebx, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x1c]
sbb ebx, dword [ebp - 0x10]
sub eax, dword [ebp - 0x84]
sbb ebx, dword [ebp - 0xa4]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov edi, eax
adc ebx, dword [ebp - 0x64]
xor edx, edx
shl edi, 0xb
mov ecx, ebx
shrd eax, ecx, 0x15
or edx, eax
shr ecx, 0x15
mov eax, dword [ebp - 0x44]
or edi, ecx
mov dword [ebp - 0x74], edx
mov ecx, ebx
shld ecx, eax, 0xd
mov dword [ebp - 0x5c], edi
xor edx, edx
or edx, ecx
shl eax, 0xd
xor dword [ebp - 0x5c], edx
mov edi, ebx
mov edx, dword [ebp - 0x44]
mov ecx, ebx
shr edi, 0x13
or edi, eax
mov eax, edx
xor dword [ebp - 0x74], edi
mov edi, dword [ebp - 0x74]
shrd eax, ecx, 1
shld ebx, edx, 2
xor edi, eax
shr ecx, 1
mov eax, dword [ebp - 0x5c]
xor eax, ecx
shl edx, 2
xor eax, ebx
xor edi, edx
add edi, dword [esi + 0x50]
mov edx, dword [ebp - 0x9c]
adc eax, dword [esi + 0x54]
sub edx, dword [ebp - 0x178]
mov ebx, dword [ebp - 0x70]
sbb ebx, dword [ebp - 0xc]
sub edx, dword [ebp - 0x80]
mov dword [ebp - 0x5c], eax
sbb ebx, dword [ebp - 0x4c]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0x74], edi
mov eax, edx
sbb ebx, dword [ebp - 0xd8]
mov ecx, ebx
mov dword [ebp - 0x9c], edx
shld ecx, eax, 0x13
mov edi, ebx
shr edi, 0xd
shl eax, 0x13
or edi, eax
xor eax, eax
mov dword [ebp - 0x44], edi
or eax, ecx
mov edi, edx
mov dword [ebp - 0x70], eax
xor edx, edx
mov eax, dword [ebp - 0x9c]
mov ecx, ebx
shrd eax, ecx, 0xb
shl edi, 0x15
or edx, eax
shr ecx, 0xb
xor dword [ebp - 0x44], edx
or edi, ecx
xor dword [ebp - 0x70], edi
mov ecx, ebx
mov edx, dword [ebp - 0x9c]
mov eax, edx
mov edi, dword [ebp - 0x44]
shrd eax, ecx, 2
shld ebx, edx, 1
xor edi, eax
shr ecx, 2
mov eax, dword [ebp - 0x70]
add edx, edx
xor eax, ecx
xor edi, edx
mov edx, dword [ebp - 0x38]
xor eax, ebx
add edi, dword [esi + 0x58]
mov ebx, dword [ebp - 0xbc]
adc eax, dword [ebp - 0x12c]
sub edx, dword [ebp - 0x80]
mov dword [ebp - 0x70], eax
sbb ebx, dword [ebp - 0x4c]
sub edx, dword [ebp - 0x7c]
mov dword [ebp - 0x44], edi
sbb ebx, dword [ebp - 0x50]
add edx, dword [ebp - 0xe0]
mov eax, edx
mov dword [ebp - 0x9c], edx
adc ebx, dword [ebp - 0xc8]
mov ecx, ebx
mov edi, ebx
shld ecx, eax, 0x1c
shr edi, 4
shl eax, 0x1c
or edi, eax
xor eax, eax
or eax, ecx
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x78], eax
mov edi, edx
mov eax, dword [ebp - 0x9c]
xor edx, edx
mov ecx, ebx
shl edi, 0x1b
shrd eax, ecx, 5
or edx, eax
shr ecx, 5
xor dword [ebp - 0x68], edx
or edi, ecx
xor dword [ebp - 0x78], edi
mov ecx, ebx
mov edx, dword [ebp - 0x9c]
mov eax, edx
mov edi, dword [ebp - 0x68]
shrd eax, ecx, 2
shld ebx, edx, 2
xor edi, eax
shr ecx, 2
mov eax, dword [ebp - 0x78]
xor eax, ecx
shl edx, 2
mov ecx, dword [ebp - 0x6c]
xor eax, ebx
xor edi, edx
add edi, dword [esi + 0x60]
mov dword [ebp - 0x68], edi
adc eax, dword [ebp - 0x16c]
sub ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x54]
sbb eax, dword [ebp - 0x10]
add ecx, dword [ebp - 0x84]
adc eax, dword [ebp - 0xa4]
add ecx, dword [ebp - 0x48]
mov edx, ecx
adc eax, dword [ebp - 0x164]
mov ebx, eax
shrd edx, ebx, 1
xor edx, ecx
shr ebx, 1
xor ebx, eax
add edx, dword [esi + 0x68]
mov eax, dword [ebp - 0x98]
adc ebx, dword [esi + 0x6c]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x64], ebx
mov ebx, dword [ebp - 0xc0]
sbb ebx, dword [ebp - 0xe4]
sub eax, dword [ebp - 0xdc]
mov dword [ebp - 0x4c], edx
sbb ebx, dword [ebp - 0xd8]
add eax, dword [ebp - 0x7c]
mov dword [ebp - 0x98], eax
mov edi, eax
adc ebx, dword [ebp - 0x50]
xor edx, edx
shl edi, 5
mov ecx, ebx
shrd eax, ecx, 0x1b
or edx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0x98]
or edi, ecx
mov dword [ebp - 0x48], edi
mov ecx, ebx
shld ecx, eax, 4
mov dword [ebp - 0x80], edx
mov edi, ebx
xor edx, edx
shl eax, 4
or edx, ecx
shr edi, 0x1c
xor dword [ebp - 0x48], edx
or edi, eax
xor dword [ebp - 0x80], edi
mov ecx, ebx
mov edx, dword [ebp - 0x98]
mov eax, edx
mov edi, dword [ebp - 0x80]
shrd eax, ecx, 1
shld ebx, edx, 3
xor edi, eax
shr ecx, 1
mov eax, dword [ebp - 0x48]
xor eax, ecx
shl edx, 3
xor eax, ebx
xor edi, edx
add edi, dword [esi + 0x70]
mov ebx, dword [ebp - 0xd4]
adc eax, dword [esi + 0x74]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0xe0]
mov dword [ebp - 0x80], edi
sbb ebx, dword [ebp - 0xc8]
sub eax, dword [ebp - 0x84]
sbb ebx, dword [ebp - 0xa4]
add eax, dword [ebp - 0x20]
mov edi, eax
mov dword [ebp - 0xc0], eax
adc ebx, dword [ebp - 0xb4]
xor edx, edx
mov ecx, ebx
shl edi, 0xb
shrd eax, ecx, 0x15
shr ecx, 0x15
or edx, eax
or edi, ecx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x50], edi
mov eax, dword [ebp - 0xc0]
xor edx, edx
mov ecx, ebx
mov edi, ebx
shld ecx, eax, 0xd
shr edi, 0x13
or edx, ecx
shl eax, 0xd
xor dword [ebp - 0x50], edx
or edi, eax
xor dword [ebp - 0x7c], edi
mov ecx, ebx
mov edx, dword [ebp - 0xc0]
mov eax, edx
mov edi, dword [ebp - 0x7c]
shrd eax, ecx, 1
shld ebx, edx, 2
xor edi, eax
shr ecx, 1
mov eax, dword [ebp - 0x50]
xor eax, ecx
shl edx, 2
xor eax, ebx
xor edi, edx
add edi, dword [ebp - 0x15c]
mov edx, dword [ebp - 0xac]
adc eax, dword [ebp - 0x154]
sub edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xb8]
sbb ebx, dword [ebp - 0xd4]
sub edx, dword [ebp - 0x6c]
mov dword [ebp - 0x50], eax
sbb ebx, dword [ebp - 0x54]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x7c], edi
adc ebx, dword [ebp - 0x10]
add edx, dword [ebp - 0x180]
mov eax, edx
mov dword [ebp - 0xc0], edx
adc ebx, dword [ebp - 0x134]
mov ecx, ebx
mov edi, ebx
shld ecx, eax, 0x13
shr edi, 0xd
shl eax, 0x13
or edi, eax
xor eax, eax
or eax, ecx
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x54], eax
mov edi, edx
mov eax, dword [ebp - 0xc0]
xor edx, edx
mov ecx, ebx
shl edi, 0x15
shrd eax, ecx, 0xb
or edx, eax
shr ecx, 0xb
xor dword [ebp - 0x6c], edx
or edi, ecx
xor dword [ebp - 0x54], edi
mov ecx, ebx
mov edx, dword [ebp - 0xc0]
mov eax, edx
mov edi, dword [ebp - 0x6c]
shrd eax, ecx, 2
shld ebx, edx, 1
xor edi, eax
shr ecx, 2
mov eax, dword [ebp - 0x54]
add edx, edx
xor eax, ecx
xor edi, edx
mov edx, dword [ebp - 0xb0]
xor eax, ebx
add edi, dword [ebp - 0x1a0]
mov ebx, dword [ebp - 0x2c]
adc eax, dword [ebp - 0x190]
add edx, dword [ebp - 0xac]
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x54], eax
adc ebx, dword [ebp - 0xb8]
add edx, dword [ebp - 0x30]
adc ebx, dword [ebp - 0xe4]
add edx, dword [ebp - 0xdc]
adc ebx, dword [ebp - 0xd8]
add edx, dword [ebp - 0xe0]
mov dword [ebp - 0xc0], edx
adc ebx, dword [ebp - 0xc8]
xor edi, edi
mov eax, ebx
mov ecx, ebx
shr eax, 4
mov dword [ebp - 0x30], eax
mov eax, edx
shld ecx, eax, 0x1c
or edi, ecx
shl eax, 0x1c
or dword [ebp - 0x30], eax
mov ecx, ebx
mov eax, dword [ebp - 0xc0]
shrd eax, ecx, 5
mov dword [ebp - 0x98], edi
mov edi, edx
xor edx, edx
shl edi, 0x1b
or edx, eax
shr ecx, 5
xor dword [ebp - 0x30], edx
or edi, ecx
xor dword [ebp - 0x98], edi
mov ecx, ebx
mov edx, dword [ebp - 0xc0]
mov eax, edx
mov edi, dword [ebp - 0x30]
shld ebx, edx, 2
shrd eax, ecx, 2
shl edx, 2
xor edi, eax
shr ecx, 2
mov eax, dword [ebp - 0x98]
xor edi, edx
mov edx, dword [ebp - 0xb4]
xor eax, ecx
xor eax, ebx
add edi, dword [ebp - 0x198]
mov ebx, dword [ebp - 0x20]
adc eax, dword [ebp - 0x1a4]
sub ebx, dword [ebp - 0x178]
mov dword [ebp - 0x30], edi
sbb edx, dword [ebp - 0xc]
sub ebx, dword [ebp - 0xb0]
mov dword [ebp - 0x98], eax
sbb edx, dword [ebp - 0x2c]
add ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], ebx
adc edx, dword [ebp - 0x10]
mov edi, edx
mov dword [ebp - 0xb4], edx
shrd dword [ebp - 0x2c], edi, 1
xor dword [ebp - 0x2c], ebx
shr edi, 1
xor edi, edx
mov dword [ebp - 0x20], ebx
mov edx, dword [esi + 0x90]
add dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x38]
adc edi, dword [ebp - 0x194]
sub edx, dword [ebp - 4]
mov ebx, dword [ebp - 0xbc]
sbb ebx, dword [ebp - 0xd4]
sub edx, dword [ebp - 0xdc]
mov dword [ebp - 0x9c], edi
sbb ebx, dword [ebp - 0xd8]
add edx, dword [ebp - 0x178]
mov edi, edx
mov dword [ebp - 0x38], edx
adc ebx, dword [ebp - 0xc]
mov eax, edx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0x1c], 0
shl edi, 5
mov ecx, ebx
xor edx, edx
shrd eax, ecx, 0x1b
or dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x38]
shr ecx, 0x1b
or edi, ecx
mov ecx, ebx
shld ecx, eax, 4
mov dword [ebp - 0x84], edi
mov edi, ebx
shl eax, 4
or edx, ecx
shr edi, 0x1c
mov ecx, ebx
or edi, eax
mov eax, dword [ebp - 0x38]
xor dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x84]
shrd eax, ecx, 1
xor edi, edx
xor dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x1c]
shr ecx, 1
xor edi, ecx
mov ecx, ebx
shld ecx, eax, 3
mov ebx, dword [ebp - 0x80]
shl eax, 3
xor edi, ecx
xor edx, eax
mov ecx, dword [ebp - 0x44]
add edx, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp + 0x10]
adc edi, dword [ebp - 0xa8]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x198], edx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x190], edx
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x1a0], edx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x15c], edx
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x164], edx
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x6c]
mov dword [ebp - 0x12c], edi
add edi, ebx
mov dword [ebp - 0x16c], esi
mov esi, dword [ebp - 0x54]
mov ebx, esi
adc ebx, dword [ebp - 0x48]
add edi, eax
mov eax, dword [ebp - 0x30]
adc ebx, dword [ebp - 0x78]
add edi, dword [ebp - 0x74]
mov dword [ebp - 0x128], esi
adc ebx, dword [ebp - 0x5c]
add edi, dword [ebp + 8]
mov esi, dword [ebp - 0xcc]
adc ebx, dword [ebp - 0x28]
add edi, dword [ebp + 0x10]
mov dword [ebp - 0x130], eax
adc ebx, dword [ebp - 0x8c]
add edi, dword [ebp - 0x2c]
mov dword [ebp - 0xb0], edi
adc ebx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x98]
mov dword [ebp - 0xb8], ebx
mov ebx, eax
add ebx, edx
mov dword [ebp - 0x124], edi
mov edx, edi
adc edx, dword [ebp - 0x50]
add ebx, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x64]
add ebx, ecx
mov ecx, dword [esi + 4]
adc edx, dword [ebp - 0x70]
add ebx, dword [ebp - 0x88]
adc edx, dword [ebp - 0x58]
add ebx, dword [ebp - 0x60]
adc edx, dword [ebp - 0x90]
add ebx, dword [ebp - 0x1c]
mov dword [ebp - 0xac], ebx
adc edx, dword [ebp - 0x84]
mov dword [ebp - 0xa4], edx
cmp ecx, 1
jl 0x1004e12a
mov ecx, edi
mov edx, edi
shld ecx, eax, 0x13
shr edx, 0xd
xor ebx, ebx
or ebx, ecx
shl eax, 0x13
or edx, eax
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x30]
mov edi, eax
shrd eax, ecx, 0xb
mov dword [ebp - 8], edx
xor edx, edx
or edx, eax
shr ecx, 0xb
xor dword [ebp - 8], edx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 8]
shl edi, 0x15
or edi, ecx
mov ecx, dword [ebp - 0x98]
shrd eax, ecx, 2
xor ebx, edi
xor edx, eax
shr ecx, 2
mov eax, dword [ebp - 0x30]
xor ebx, ecx
mov ecx, dword [ebp - 0x98]
shld ecx, eax, 1
xor ebx, ecx
add eax, eax
mov ecx, dword [ebp - 0x54]
xor edx, eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 8], edx
mov edx, eax
shrd eax, ecx, 0x15
mov dword [ebp - 4], ebx
xor ebx, ebx
or ebx, eax
shr ecx, 0x15
mov eax, dword [ebp - 0x6c]
shl edx, 0xb
or edx, ecx
mov ecx, dword [ebp - 0x54]
mov edi, ecx
mov dword [ebp - 0xa8], edx
shld ecx, eax, 0xd
shr edi, 0x13
xor edx, edx
or edx, ecx
shl eax, 0xd
mov ecx, dword [ebp - 0x54]
or edi, eax
mov eax, dword [ebp - 0x6c]
xor ebx, edi
mov edi, dword [ebp - 0xa8]
shrd eax, ecx, 1
xor edi, edx
shr ecx, 1
xor ebx, eax
mov eax, dword [ebp - 0x6c]
xor edi, ecx
mov ecx, dword [ebp - 0x54]
shld ecx, eax, 2
shl eax, 2
xor edi, ecx
mov ecx, dword [ebp - 0x50]
xor ebx, eax
add dword [ebp - 8], ebx
mov eax, dword [ebp - 0x7c]
mov edx, eax
adc dword [ebp - 4], edi
xor ebx, ebx
shrd eax, ecx, 0x1b
shl edx, 5
shr ecx, 0x1b
or ebx, eax
or edx, ecx
mov dword [ebp - 0xa8], edx
mov ecx, dword [ebp - 0x50]
xor edx, edx
mov eax, dword [ebp - 0x7c]
mov edi, ecx
shld ecx, eax, 4
shr edi, 0x1c
or edx, ecx
shl eax, 4
or edi, eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x7c]
xor ebx, edi
shrd eax, ecx, 1
mov edi, dword [ebp - 0xa8]
xor ebx, eax
shr ecx, 1
mov eax, dword [ebp - 0x7c]
xor edi, edx
xor edi, ecx
mov ecx, dword [ebp - 0x50]
shld ecx, eax, 3
xor edi, ecx
shl eax, 3
mov ecx, dword [ebp - 0x48]
xor ebx, eax
add dword [ebp - 8], ebx
mov edx, ecx
mov eax, dword [ebp - 0x80]
adc dword [ebp - 4], edi
xor ebx, ebx
shld ecx, eax, 0x1c
shr edx, 4
or ebx, ecx
shl eax, 0x1c
mov ecx, dword [ebp - 0x48]
or edx, eax
mov eax, dword [ebp - 0x80]
mov edi, eax
shrd eax, ecx, 5
mov dword [ebp - 0xc], edx
xor edx, edx
or edx, eax
shr ecx, 5
xor dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0xc]
shl edi, 0x1b
or edi, ecx
mov ecx, dword [ebp - 0x48]
shrd eax, ecx, 2
xor ebx, edi
xor edx, eax
shr ecx, 2
mov eax, dword [ebp - 0x80]
xor ebx, ecx
mov ecx, dword [ebp - 0x48]
shld ecx, eax, 2
shl eax, 2
xor ebx, ecx
mov ecx, dword [ebp - 0x64]
xor edx, eax
add dword [ebp - 8], edx
mov edx, ecx
mov eax, dword [ebp - 0x4c]
adc dword [ebp - 4], ebx
xor ebx, ebx
shld ecx, eax, 0x13
shr edx, 0xd
shl eax, 0x13
or ebx, ecx
mov ecx, dword [ebp - 0x64]
or edx, eax
mov eax, dword [ebp - 0x4c]
mov edi, eax
shrd eax, ecx, 0xb
mov dword [ebp - 0xc], edx
xor edx, edx
shl edi, 0x15
or edx, eax
shr ecx, 0xb
or edi, ecx
xor dword [ebp - 0xc], edx
xor ebx, edi
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x64]
shrd eax, ecx, 2
mov edx, dword [ebp - 0xc]
xor edx, eax
shr ecx, 2
xor ebx, ecx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x64]
shld ecx, eax, 1
xor ebx, ecx
add eax, eax
xor edx, eax
mov ecx, dword [ebp - 0x78]
add dword [ebp - 8], edx
mov eax, dword [ebp - 0x68]
mov edx, eax
adc dword [ebp - 4], ebx
xor ebx, ebx
shrd eax, ecx, 0x15
shl edx, 0xb
or ebx, eax
shr ecx, 0x15
mov eax, dword [ebp - 0x68]
or edx, ecx
mov ecx, dword [ebp - 0x78]
mov edi, ecx
shld ecx, eax, 0xd
shr edi, 0x13
shl eax, 0xd
or edi, eax
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0x68]
xor ebx, edi
mov edi, dword [ebp - 0xa8]
xor edx, edx
or edx, ecx
mov ecx, dword [ebp - 0x78]
shrd eax, ecx, 1
xor edi, edx
xor ebx, eax
shr ecx, 1
mov eax, dword [ebp - 0x68]
xor edi, ecx
mov ecx, dword [ebp - 0x78]
shld ecx, eax, 2
xor edi, ecx
shl eax, 2
mov ecx, dword [ebp - 0x70]
xor ebx, eax
add dword [ebp - 8], ebx
mov eax, dword [ebp - 0x44]
mov edx, eax
adc dword [ebp - 4], edi
xor ebx, ebx
shrd eax, ecx, 0x1b
shl edx, 5
shr ecx, 0x1b
or ebx, eax
mov eax, dword [ebp - 0x44]
or edx, ecx
mov ecx, dword [ebp - 0x70]
mov edi, ecx
shld ecx, eax, 4
mov dword [ebp - 0xa8], edx
xor edx, edx
shr edi, 0x1c
or edx, ecx
mov ecx, dword [ebp - 0x70]
shl eax, 4
or edi, eax
mov eax, dword [ebp - 0x44]
xor ebx, edi
mov edi, dword [ebp - 0xa8]
shrd eax, ecx, 1
xor edi, edx
shr ecx, 1
xor ebx, eax
xor edi, ecx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x70]
shld ecx, eax, 3
xor edi, ecx
shl eax, 3
xor ebx, eax
mov ecx, dword [ebp - 0x5c]
add dword [ebp - 8], ebx
mov edx, ecx
mov eax, dword [ebp - 0x74]
adc dword [ebp - 4], edi
xor ebx, ebx
shld ecx, eax, 0x1c
shr edx, 4
or ebx, ecx
shl eax, 0x1c
or edx, eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x74]
mov edi, eax
shrd eax, ecx, 5
mov dword [ebp - 0xc], edx
xor edx, edx
or edx, eax
shr ecx, 5
xor dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0xc]
shl edi, 0x1b
or edi, ecx
mov ecx, dword [ebp - 0x5c]
shrd eax, ecx, 2
xor ebx, edi
xor edx, eax
shr ecx, 2
mov eax, dword [ebp - 0x74]
xor ebx, ecx
mov ecx, dword [ebp - 0x5c]
shld ecx, eax, 2
xor ebx, ecx
shl eax, 2
mov ecx, dword [ebp - 0x58]
xor edx, eax
add dword [ebp - 8], edx
mov edx, ecx
mov eax, dword [ebp - 0x88]
adc dword [ebp - 4], ebx
xor ebx, ebx
shld ecx, eax, 0x13
shr edx, 0xd
shl eax, 0x13
or ebx, ecx
mov ecx, dword [ebp - 0x58]
or edx, eax
mov eax, dword [ebp - 0x88]
mov edi, eax
shrd eax, ecx, 0xb
mov dword [ebp - 0xc], edx
xor edx, edx
or edx, eax
shr ecx, 0xb
xor dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0xc]
shl edi, 0x15
or edi, ecx
mov ecx, dword [ebp - 0x58]
shrd eax, ecx, 2
xor ebx, edi
shr ecx, 2
xor edx, eax
mov eax, dword [ebp - 0x88]
xor ebx, ecx
mov ecx, dword [ebp - 0x58]
shld ecx, eax, 1
add eax, eax
xor ebx, ecx
xor edx, eax
mov eax, dword [ebp + 8]
add dword [ebp - 8], edx
adc dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x28]
mov edx, eax
shrd eax, ecx, 0x15
shl edx, 0xb
xor ebx, ebx
or ebx, eax
shr ecx, 0x15
or edx, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
mov edi, ecx
shld ecx, eax, 0xd
shr edi, 0x13
shl eax, 0xd
or edi, eax
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp + 8]
xor ebx, edi
mov edi, dword [ebp - 0xa8]
xor edx, edx
or edx, ecx
mov ecx, dword [ebp - 0x28]
shrd eax, ecx, 1
xor edi, edx
xor ebx, eax
shr ecx, 1
mov eax, dword [ebp + 8]
xor edi, ecx
mov ecx, dword [ebp - 0x28]
shld ecx, eax, 2
xor edi, ecx
shl eax, 2
mov ecx, dword [ebp - 0x90]
xor ebx, eax
add dword [ebp - 8], ebx
mov eax, dword [ebp - 0x60]
mov edx, eax
adc dword [ebp - 4], edi
xor ebx, ebx
shrd eax, ecx, 0x1b
shl edx, 5
or ebx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0x60]
or edx, ecx
mov ecx, dword [ebp - 0x90]
mov edi, ecx
shld ecx, eax, 4
mov dword [ebp - 0xa8], edx
xor edx, edx
shl eax, 4
or edx, ecx
mov ecx, dword [ebp - 0x90]
shr edi, 0x1c
or edi, eax
mov eax, dword [ebp - 0x60]
shrd eax, ecx, 1
xor ebx, edi
mov edi, dword [ebp - 0xa8]
xor ebx, eax
shr ecx, 1
mov eax, dword [ebp - 0x60]
xor edi, edx
xor edi, ecx
mov ecx, dword [ebp - 0x90]
shld ecx, eax, 3
shl eax, 3
xor edi, ecx
mov ecx, dword [ebp - 0x8c]
xor ebx, eax
add dword [ebp - 8], ebx
mov edx, ecx
mov eax, dword [ebp + 0x10]
adc dword [ebp - 4], edi
xor ebx, ebx
shld ecx, eax, 0x1c
shr edx, 4
shl eax, 0x1c
or edx, eax
or ebx, ecx
mov dword [ebp - 0xc], edx
mov eax, dword [ebp + 0x10]
xor edx, edx
mov ecx, dword [ebp - 0x8c]
mov edi, eax
shrd eax, ecx, 5
shl edi, 0x1b
or edx, eax
shr ecx, 5
xor dword [ebp - 0xc], edx
or edi, ecx
mov eax, dword [ebp + 0x10]
xor ebx, edi
mov ecx, dword [ebp - 0x8c]
shrd eax, ecx, 2
mov edx, dword [ebp - 0xc]
xor edx, eax
shr ecx, 2
mov eax, dword [ebp + 0x10]
xor ebx, ecx
mov ecx, dword [ebp - 0x8c]
shld ecx, eax, 2
xor ebx, ecx
shl eax, 2
xor edx, eax
mov ecx, dword [ebp - 0x24]
add dword [ebp - 8], edx
mov edx, ecx
mov eax, dword [ebp - 0x34]
adc dword [ebp - 4], ebx
xor ebx, ebx
shld ecx, eax, 0x13
shr edx, 0xd
or ebx, ecx
shl eax, 0x13
mov ecx, dword [ebp - 0x24]
or edx, eax
mov eax, dword [ebp - 0x34]
mov edi, eax
shrd eax, ecx, 0xb
mov dword [ebp - 0xc], edx
xor edx, edx
or edx, eax
shr ecx, 0xb
xor dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0xc]
shl edi, 0x15
or edi, ecx
mov ecx, dword [ebp - 0x24]
shrd eax, ecx, 2
xor ebx, edi
xor edx, eax
shr ecx, 2
mov eax, dword [ebp - 0x34]
xor ebx, ecx
mov ecx, dword [ebp - 0x24]
shld ecx, eax, 1
add eax, eax
xor ebx, ecx
mov ecx, dword [ebp - 0x40]
xor edx, eax
add dword [ebp - 8], edx
mov eax, dword [ebp - 0x3c]
mov edx, eax
adc dword [ebp - 4], ebx
xor ebx, ebx
shrd eax, ecx, 0x15
shl edx, 0xb
shr ecx, 0x15
or ebx, eax
mov eax, dword [ebp - 0x3c]
or edx, ecx
mov ecx, dword [ebp - 0x40]
mov edi, ecx
shld ecx, eax, 0xd
mov dword [ebp - 0xa8], edx
xor edx, edx
shr edi, 0x13
shl eax, 0xd
or edi, eax
or edx, ecx
mov ecx, dword [ebp - 0x40]
xor ebx, edi
mov edi, dword [ebp - 0xa8]
xor edi, edx
mov edx, dword [ebp - 0x3c]
mov eax, edx
shrd eax, ecx, 1
xor ebx, eax
shr ecx, 1
mov eax, dword [ebp - 0x40]
xor edi, ecx
shld eax, edx, 2
mov ecx, dword [ebp - 0x84]
xor edi, eax
shl edx, 2
mov eax, dword [ebp - 0x1c]
xor ebx, edx
add dword [ebp - 8], ebx
mov edx, eax
adc dword [ebp - 4], edi
xor ebx, ebx
shrd eax, ecx, 0x1b
shl edx, 5
or ebx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0x1c]
or edx, ecx
mov ecx, dword [ebp - 0x84]
mov edi, ecx
shld ecx, eax, 4
mov dword [ebp - 0xa8], edx
xor edx, edx
or edx, ecx
shl eax, 4
mov ecx, dword [ebp - 0x84]
shr edi, 0x1c
or edi, eax
mov eax, dword [ebp - 0x1c]
shrd eax, ecx, 1
xor ebx, edi
mov edi, dword [ebp - 0xa8]
xor edi, edx
shr ecx, 1
xor ebx, eax
xor edi, ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x84]
shld ecx, eax, 3
xor edi, ecx
shl eax, 3
mov ecx, dword [ebp - 0x9c]
xor ebx, eax
add dword [ebp - 8], ebx
mov edx, ecx
mov eax, dword [ebp - 0x2c]
adc dword [ebp - 4], edi
xor ebx, ebx
shld ecx, eax, 0x1c
shr edx, 4
shl eax, 0x1c
or ebx, ecx
mov ecx, dword [ebp - 0x9c]
or edx, eax
mov eax, dword [ebp - 0x2c]
mov edi, eax
shrd eax, ecx, 5
mov dword [ebp - 0xc], edx
xor edx, edx
shr ecx, 5
or edx, eax
xor dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
shl edi, 0x1b
or edi, ecx
mov ecx, dword [ebp - 0x9c]
shrd eax, ecx, 2
xor ebx, edi
shr ecx, 2
xor edx, eax
xor ebx, ecx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x9c]
mov edi, dword [ebp - 8]
shld ecx, eax, 2
shl eax, 2
xor ebx, ecx
mov ecx, dword [ebp - 0x144]
xor edx, eax
mov eax, dword [ebp - 0x170]
add edi, edx
mov edx, dword [ebp - 4]
adc edx, ebx
sub ecx, dword [ebp - 0x158]
sbb eax, dword [ebp - 0x138]
add ecx, dword [ebp - 0x168]
adc eax, dword [ebp - 0x188]
add ecx, 0x55555550
adc eax, 0x55555555
xor ecx, dword [esi + 0x50]
xor eax, dword [esi + 0x54]
add edi, ecx
adc edx, eax
mov eax, edi
mov edi, dword [ebp - 0x98]
mov ecx, edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x94], ecx
mov ecx, dword [esi + 4]
cmp ecx, 2
jl 0x1004e80a
mov edx, eax
mov ecx, edi
shrd eax, ecx, 0x15
shl edx, 0xb
xor ebx, ebx
or ebx, eax
shr ecx, 0x15
or edx, ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x98]
shld ecx, eax, 0xd
shr edi, 0x13
shl eax, 0xd
or edi, eax
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x30]
xor ebx, edi
mov edi, dword [ebp - 4]
xor edx, edx
or edx, ecx
mov ecx, dword [ebp - 0x98]
shrd eax, ecx, 1
xor edi, edx
xor ebx, eax
shr ecx, 1
mov eax, dword [ebp - 0x30]
xor edi, ecx
mov ecx, dword [ebp - 0x98]
shld ecx, eax, 2
xor edi, ecx
shl eax, 2
mov ecx, dword [ebp - 0x54]
xor ebx, eax
mov eax, dword [ebp - 0x6c]
mov edx, eax
shrd eax, ecx, 0x1b
mov dword [ebp - 0x10], ebx
xor ebx, ebx
or ebx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0x6c]
shl edx, 5
or edx, ecx
mov dword [ebp - 4], edi
mov ecx, dword [ebp - 0x54]
mov edi, ecx
shld ecx, eax, 4
mov dword [ebp - 0xa8], edx
xor edx, edx
shl eax, 4
or edx, ecx
mov ecx, dword [ebp - 0x54]
shr edi, 0x1c
or edi, eax
mov eax, dword [ebp - 0x6c]
shrd eax, ecx, 1
xor ebx, edi
mov edi, dword [ebp - 0xa8]
xor ebx, eax
shr ecx, 1
mov eax, dword [ebp - 0x6c]
xor edi, edx
xor edi, ecx
mov ecx, dword [ebp - 0x54]
shld ecx, eax, 3
shl eax, 3
xor edi, ecx
mov ecx, dword [ebp - 0x50]
xor ebx, eax
add dword [ebp - 0x10], ebx
mov edx, ecx
mov eax, dword [ebp - 0x7c]
adc dword [ebp - 4], edi
xor ebx, ebx
shld ecx, eax, 0x1c
shr edx, 4
shl eax, 0x1c
or edx, eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xc], edx
or ebx, ecx
mov ecx, dword [ebp - 0x50]
mov edi, eax
shrd eax, ecx, 5
xor edx, edx
shl edi, 0x1b
or edx, eax
shr ecx, 5
xor dword [ebp - 0xc], edx
or edi, ecx
mov eax, dword [ebp - 0x7c]
xor ebx, edi
mov ecx, dword [ebp - 0x50]
shrd eax, ecx, 2
mov edx, dword [ebp - 0xc]
xor edx, eax
shr ecx, 2
mov eax, dword [ebp - 0x7c]
xor ebx, ecx
mov ecx, dword [ebp - 0x50]
shld ecx, eax, 2
xor ebx, ecx
shl eax, 2
xor edx, eax
mov ecx, dword [ebp - 0x48]
add dword [ebp - 0x10], edx
mov edx, ecx
mov eax, dword [ebp - 0x80]
adc dword [ebp - 4], ebx
xor ebx, ebx
shld ecx, eax, 0x13
shr edx, 0xd
or ebx, ecx
shl eax, 0x13
mov ecx, dword [ebp - 0x48]
or edx, eax
mov eax, dword [ebp - 0x80]
mov edi, eax
shrd eax, ecx, 0xb
mov dword [ebp - 0xc], edx
xor edx, edx
or edx, eax
shr ecx, 0xb
xor dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0xc]
shl edi, 0x15
or edi, ecx
mov ecx, dword [ebp - 0x48]
shrd eax, ecx, 2
xor ebx, edi
xor edx, eax
shr ecx, 2
mov eax, dword [ebp - 0x80]
xor ebx, ecx
mov ecx, dword [ebp - 0x48]
shld ecx, eax, 1
add eax, eax
xor ebx, ecx
mov ecx, dword [ebp - 0x64]
xor edx, eax
add dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x4c]
mov edx, eax
adc dword [ebp - 4], ebx
xor ebx, ebx
shrd eax, ecx, 0x15
shl edx, 0xb
shr ecx, 0x15
or ebx, eax
mov eax, dword [ebp - 0x4c]
or edx, ecx
mov ecx, dword [ebp - 0x64]
mov edi, ecx
shld ecx, eax, 0xd
mov dword [ebp - 0xa8], edx
xor edx, edx
shr edi, 0x13
or edx, ecx
shl eax, 0xd
or edi, eax
xor ebx, edi
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x64]
shrd eax, ecx, 1
mov edi, dword [ebp - 0xa8]
xor ebx, eax
shr ecx, 1
mov eax, dword [ebp - 0x4c]
xor edi, edx
xor edi, ecx
mov ecx, dword [ebp - 0x64]
shld ecx, eax, 2
xor edi, ecx
shl eax, 2
xor ebx, eax
mov ecx, dword [ebp - 0x78]
add dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0x68]
mov edx, eax
adc dword [ebp - 4], edi
xor ebx, ebx
shrd eax, ecx, 0x1b
shl edx, 5
or ebx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0x68]
or edx, ecx
mov ecx, dword [ebp - 0x78]
mov edi, ecx
shld ecx, eax, 4
mov dword [ebp - 0xa8], edx
xor edx, edx
or edx, ecx
shl eax, 4
mov ecx, dword [ebp - 0x78]
shr edi, 0x1c
or edi, eax
mov eax, dword [ebp - 0x68]
shrd eax, ecx, 1
xor ebx, edi
mov edi, dword [ebp - 0xa8]
xor ebx, eax
shr ecx, 1
mov eax, dword [ebp - 0x68]
xor edi, edx
xor edi, ecx
mov ecx, dword [ebp - 0x78]
shld ecx, eax, 3
shl eax, 3
xor edi, ecx
mov ecx, dword [ebp - 0x70]
xor ebx, eax
add dword [ebp - 0x10], ebx
mov edx, ecx
mov eax, dword [ebp - 0x44]
adc dword [ebp - 4], edi
xor ebx, ebx
shld ecx, eax, 0x1c
shr edx, 4
shl eax, 0x1c
or ebx, ecx
mov ecx, dword [ebp - 0x70]
or edx, eax
mov eax, dword [ebp - 0x44]
mov edi, eax
shrd eax, ecx, 5
mov dword [ebp - 0xc], edx
xor edx, edx
shr ecx, 5
or edx, eax
xor dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0xc]
shl edi, 0x1b
or edi, ecx
mov ecx, dword [ebp - 0x70]
shrd eax, ecx, 2
xor ebx, edi
shr ecx, 2
xor edx, eax
mov eax, dword [ebp - 0x44]
xor ebx, ecx
mov ecx, dword [ebp - 0x70]
shld ecx, eax, 2
xor ebx, ecx
shl eax, 2
xor edx, eax
mov ecx, dword [ebp - 0x5c]
add dword [ebp - 0x10], edx
mov edx, ecx
mov eax, dword [ebp - 0x74]
adc dword [ebp - 4], ebx
xor ebx, ebx
shld ecx, eax, 0x13
shr edx, 0xd
or ebx, ecx
shl eax, 0x13
or edx, eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x74]
mov edi, eax
shrd eax, ecx, 0xb
mov dword [ebp - 0xc], edx
xor edx, edx
or edx, eax
shr ecx, 0xb
xor dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0xc]
shl edi, 0x15
or edi, ecx
mov ecx, dword [ebp - 0x5c]
shrd eax, ecx, 2
xor ebx, edi
xor edx, eax
shr ecx, 2
mov eax, dword [ebp - 0x74]
xor ebx, ecx
mov ecx, dword [ebp - 0x5c]
shld ecx, eax, 1
xor ebx, ecx
add eax, eax
mov ecx, dword [ebp - 0x58]
xor edx, eax
add dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x88]
mov edx, eax
adc dword [ebp - 4], ebx
xor ebx, ebx
shrd eax, ecx, 0x15
shl edx, 0xb
or ebx, eax
shr ecx, 0x15
mov eax, dword [ebp - 0x88]
or edx, ecx
mov ecx, dword [ebp - 0x58]
mov edi, ecx
shld ecx, eax, 0xd
shr edi, 0x13
shl eax, 0xd
or edi, eax
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0x88]
xor edx, edx
or edx, ecx
xor ebx, edi
mov ecx, dword [ebp - 0x58]
mov edi, dword [ebp - 0xa8]
shrd eax, ecx, 1
xor edi, edx
shr ecx, 1
xor ebx, eax
mov eax, dword [ebp - 0x88]
xor edi, ecx
mov ecx, dword [ebp - 0x58]
shld ecx, eax, 2
shl eax, 2
xor edi, ecx
xor ebx, eax
mov eax, dword [ebp + 8]
add dword [ebp - 0x10], ebx
mov edx, eax
adc dword [ebp - 4], edi
mov ecx, dword [ebp - 0x28]
xor ebx, ebx
shrd eax, ecx, 0x1b
shl edx, 5
or ebx, eax
shr ecx, 0x1b
or edx, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
mov edi, ecx
shld ecx, eax, 4
mov dword [ebp - 0xa8], edx
xor edx, edx
or edx, ecx
shl eax, 4
mov ecx, dword [ebp - 0x28]
shr edi, 0x1c
or edi, eax
mov eax, dword [ebp + 8]
shrd eax, ecx, 1
xor ebx, edi
mov edi, dword [ebp - 0xa8]
xor ebx, eax
shr ecx, 1
mov eax, dword [ebp + 8]
xor edi, edx
xor edi, ecx
mov ecx, dword [ebp - 0x28]
shld ecx, eax, 3
shl eax, 3
xor edi, ecx
mov ecx, dword [ebp - 0x90]
xor ebx, eax
add dword [ebp - 0x10], ebx
mov edx, ecx
mov eax, dword [ebp - 0x60]
adc dword [ebp - 4], edi
xor ebx, ebx
shld ecx, eax, 0x1c
shr edx, 4
shl eax, 0x1c
or ebx, ecx
mov ecx, dword [ebp - 0x90]
or edx, eax
mov eax, dword [ebp - 0x60]
mov edi, eax
shrd eax, ecx, 5
mov dword [ebp - 0xc], edx
xor edx, edx
or edx, eax
shr ecx, 5
xor dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0xc]
shl edi, 0x1b
or edi, ecx
mov ecx, dword [ebp - 0x90]
shrd eax, ecx, 2
xor ebx, edi
xor edx, eax
shr ecx, 2
mov eax, dword [ebp - 0x60]
xor ebx, ecx
mov ecx, dword [ebp - 0x90]
shld ecx, eax, 2
shl eax, 2
xor ebx, ecx
mov ecx, dword [ebp - 0x8c]
xor edx, eax
add dword [ebp - 0x10], edx
mov edx, ecx
mov eax, dword [ebp + 0x10]
adc dword [ebp - 4], ebx
xor ebx, ebx
shld ecx, eax, 0x13
shr edx, 0xd
shl eax, 0x13
or edx, eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], edx
or ebx, ecx
mov ecx, dword [ebp - 0x8c]
mov edi, eax
shrd eax, ecx, 0xb
xor edx, edx
shl edi, 0x15
or edx, eax
shr ecx, 0xb
xor dword [ebp - 0xc], edx
or edi, ecx
mov eax, dword [ebp + 0x10]
xor ebx, edi
mov ecx, dword [ebp - 0x8c]
shrd eax, ecx, 2
mov edx, dword [ebp - 0xc]
xor edx, eax
shr ecx, 2
mov eax, dword [ebp + 0x10]
xor ebx, ecx
mov ecx, dword [ebp - 0x8c]
shld ecx, eax, 1
xor ebx, ecx
add eax, eax
xor edx, eax
mov ecx, dword [ebp - 0x24]
add dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x34]
mov edx, eax
adc dword [ebp - 4], ebx
xor ebx, ebx
shrd eax, ecx, 0x15
shl edx, 0xb
or ebx, eax
shr ecx, 0x15
mov eax, dword [ebp - 0x34]
or edx, ecx
mov ecx, dword [ebp - 0x24]
mov edi, ecx
shld ecx, eax, 0xd
mov dword [ebp - 0xa8], edx
xor edx, edx
or edx, ecx
shl eax, 0xd
mov ecx, dword [ebp - 0x24]
shr edi, 0x13
or edi, eax
xor ebx, edi
mov edi, dword [ebp - 0xa8]
xor edi, edx
mov edx, dword [ebp - 0x34]
mov eax, edx
shrd eax, ecx, 1
xor ebx, eax
shr ecx, 1
mov eax, dword [ebp - 0x24]
xor edi, ecx
mov ecx, dword [ebp - 0x40]
shld eax, edx, 2
shl edx, 2
xor edi, eax
mov eax, dword [ebp - 0x3c]
xor ebx, edx
add dword [ebp - 0x10], ebx
mov edx, eax
adc dword [ebp - 4], edi
xor ebx, ebx
shrd eax, ecx, 0x1b
shl edx, 5
shr ecx, 0x1b
or ebx, eax
mov eax, dword [ebp - 0x3c]
or edx, ecx
mov ecx, dword [ebp - 0x40]
mov edi, ecx
shld ecx, eax, 4
mov dword [ebp - 0xa8], edx
xor edx, edx
shr edi, 0x1c
or edx, ecx
shl eax, 4
or edi, eax
xor ebx, edi
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
shrd eax, ecx, 1
mov edi, dword [ebp - 0xa8]
xor ebx, eax
shr ecx, 1
mov eax, dword [ebp - 0x3c]
xor edi, edx
xor edi, ecx
mov ecx, dword [ebp - 0x40]
shld ecx, eax, 3
xor edi, ecx
shl eax, 3
mov ecx, dword [ebp - 0x84]
xor ebx, eax
add dword [ebp - 0x10], ebx
mov edx, ecx
mov eax, dword [ebp - 0x1c]
adc dword [ebp - 4], edi
xor ebx, ebx
shld ecx, eax, 0x1c
shr edx, 4
or ebx, ecx
shl eax, 0x1c
mov ecx, dword [ebp - 0x84]
or edx, eax
mov eax, dword [ebp - 0x1c]
mov edi, eax
shrd eax, ecx, 5
mov dword [ebp - 0xc], edx
xor edx, edx
or edx, eax
shr ecx, 5
xor dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xc]
shl edi, 0x1b
or edi, ecx
mov ecx, dword [ebp - 0x84]
shrd eax, ecx, 2
xor ebx, edi
xor edx, eax
shr ecx, 2
mov eax, dword [ebp - 0x1c]
xor ebx, ecx
mov ecx, dword [ebp - 0x84]
shld ecx, eax, 2
shl eax, 2
xor ebx, ecx
mov ecx, dword [ebp - 0x9c]
xor edx, eax
add dword [ebp - 0x10], edx
mov edx, ecx
mov eax, dword [ebp - 0x2c]
adc dword [ebp - 4], ebx
xor ebx, ebx
shld ecx, eax, 0x13
shr edx, 0xd
shl eax, 0x13
or ebx, ecx
mov ecx, dword [ebp - 0x9c]
or edx, eax
mov eax, dword [ebp - 0x2c]
mov edi, eax
shrd eax, ecx, 0xb
mov dword [ebp - 0xc], edx
xor edx, edx
shr ecx, 0xb
or edx, eax
xor dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
shl edi, 0x15
or edi, ecx
mov ecx, dword [ebp - 0x9c]
shrd eax, ecx, 2
xor ebx, edi
shr ecx, 2
xor edx, eax
mov eax, dword [ebp - 0x2c]
xor ebx, ecx
mov ecx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x10]
shld ecx, eax, 1
add eax, eax
xor ebx, ecx
mov ecx, dword [ebp - 0x160]
xor edx, eax
mov eax, dword [ebp - 0x13c]
add edi, edx
mov edx, dword [ebp - 4]
adc edx, ebx
sub ecx, dword [ebp - 0x174]
sbb eax, dword [ebp - 0x184]
add ecx, dword [ebp - 0x150]
adc eax, dword [ebp - 0x120]
add ecx, 0xaaaaaaa5
adc eax, 0x5aaaaaaa
xor ecx, dword [esi + 0x58]
xor eax, dword [esi + 0x5c]
add edi, ecx
adc edx, eax
mov eax, edi
xor dword [ebp - 8], eax
mov ecx, edx
xor dword [ebp - 0x94], ecx
mov dword [ebp - 0x24], ecx
mov ecx, dword [esi + 4]
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x98]
cmp ecx, 3
jl 0x1004e985
mov eax, dword [ebp - 0x30]
xor edi, edi
mov edx, eax
mov ecx, ebx
shrd eax, ecx, 0x15
shl edx, 0xb
or edi, eax
shr ecx, 0x15
or edx, ecx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x50]
mov dword [ebp + 0x10], edi
mov edi, eax
shrd eax, ecx, 0x1b
shl edi, 5
shr ecx, 0x1b
or edi, ecx
mov dword [ebp - 0x8c], edx
xor edx, edx
or edx, eax
mov eax, dword [ebp - 0x64]
add dword [ebp + 0x10], edx
mov edx, dword [ebp - 0x8c]
adc edx, edi
xor ecx, ecx
or ecx, dword [ebp - 0x4c]
add dword [ebp + 0x10], eax
mov eax, dword [ebp - 0x44]
adc edx, ecx
mov ecx, dword [ebp - 0x70]
mov edi, ecx
mov dword [ebp - 0x8c], edx
shld ecx, eax, 0x1b
shr edi, 5
xor edx, edx
or edx, ecx
shl eax, 0x1b
mov ecx, dword [ebp - 0x58]
or edi, eax
add dword [ebp + 0x10], edi
mov edi, ecx
mov eax, dword [ebp - 0x88]
adc dword [ebp - 0x8c], edx
xor edx, edx
shld ecx, eax, 0xb
shr edi, 0x15
or edx, ecx
shl eax, 0xb
mov ecx, dword [ebp - 0x90]
or edi, eax
add dword [ebp + 0x10], edi
mov edi, ecx
mov eax, dword [ebp - 0x60]
adc dword [ebp - 0x8c], edx
xor edx, edx
shld ecx, eax, 5
shr edi, 0x1b
shl eax, 5
or edx, ecx
mov ecx, dword [ebp - 0x84]
or edi, eax
add dword [ebp + 0x10], edi
mov eax, dword [ebp - 0x1c]
mov edi, eax
adc dword [ebp - 0x8c], edx
xor edx, edx
shrd eax, ecx, 0xb
shl edi, 0x15
or edx, eax
shr ecx, 0xb
mov eax, dword [ebp - 0x11c]
or edi, ecx
add dword [ebp + 0x10], edx
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x17c]
adc edx, edi
sub ecx, dword [ebp - 0x18c]
sbb eax, dword [ebp - 0x140]
add ecx, dword [ebp - 0x114]
adc eax, dword [ebp - 0x118]
add ecx, 0xfffffffa
mov edi, dword [ebp + 0x10]
adc eax, 0x5fffffff
xor ecx, dword [esi + 0x60]
xor eax, dword [esi + 0x64]
add edi, ecx
mov ecx, dword [ebp - 0x24]
adc edx, eax
mov eax, dword [ebp - 0x34]
shrd eax, ecx, 2
xor eax, dword [ebp - 0x34]
shr ecx, 2
xor ecx, dword [ebp - 0x24]
add edi, eax
mov eax, dword [ebp - 0x3c]
adc edx, ecx
mov ecx, dword [ebp - 0x40]
shrd eax, ecx, 1
xor eax, dword [ebp - 0x3c]
shr ecx, 1
xor ecx, dword [ebp - 0x40]
add edi, eax
adc edx, ecx
add edi, dword [ebp - 0xb0]
mov ecx, dword [esi + 4]
adc edx, dword [ebp - 0xb8]
xor dword [ebp - 8], edi
xor dword [ebp - 0x94], edx
mov dword [ebp + 0x10], edi
mov dword [ebp - 0x8c], edx
cmp ecx, 4
jl 0x1004eb12
mov eax, dword [ebp - 0x6c]
xor edi, edi
mov ecx, dword [ebp - 0x54]
mov edx, eax
shrd eax, ecx, 0x1b
shl edx, 5
or edi, eax
shr ecx, 0x1b
or edx, ecx
mov eax, dword [ebp - 0x68]
xor ecx, ecx
or ecx, dword [ebp - 0x80]
add edi, dword [ebp - 0x48]
mov dword [ebp - 0x60], edi
adc edx, ecx
mov ecx, dword [ebp - 0x78]
mov edi, ecx
mov dword [ebp - 0x90], edx
shld ecx, eax, 0x1b
shr edi, 5
xor edx, edx
or edx, ecx
shl eax, 0x1b
or edi, eax
mov ecx, dword [ebp - 0x5c]
add dword [ebp - 0x60], edi
mov edi, ecx
mov eax, dword [ebp - 0x74]
adc dword [ebp - 0x90], edx
xor edx, edx
shld ecx, eax, 0xb
shr edi, 0x15
or edx, ecx
shl eax, 0xb
mov ecx, dword [ebp - 0x28]
or edi, eax
add dword [ebp - 0x60], edi
mov edi, ecx
mov eax, dword [ebp + 8]
adc dword [ebp - 0x90], edx
xor edx, edx
shld ecx, eax, 5
shr edi, 0x1b
or edx, ecx
shl eax, 5
mov ecx, dword [ebp - 0x40]
or edi, eax
add dword [ebp - 0x60], edi
mov eax, dword [ebp - 0x3c]
mov edi, eax
adc dword [ebp - 0x90], edx
xor edx, edx
shrd eax, ecx, 0xb
shl edi, 0x15
or edx, eax
shr ecx, 0xb
mov eax, dword [ebp - 0x2c]
or edi, ecx
add dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x9c]
adc dword [ebp - 0x90], edi
mov edi, eax
shrd eax, ecx, 0x15
xor edx, edx
shl edi, 0xb
or edx, eax
shr ecx, 0x15
mov eax, dword [ebp - 0xfc]
or edi, ecx
add dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x14c]
adc edx, edi
sub ecx, dword [ebp - 0xe8]
sbb eax, dword [ebp - 0x100]
add ecx, dword [ebp - 0x144]
adc eax, dword [ebp - 0x170]
add ecx, 0x5555554f
adc eax, 0x65555555
xor ecx, dword [esi + 0x68]
xor eax, dword [esi + 0x6c]
add dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x60]
adc edx, eax
mov eax, dword [ebp + 0x10]
shrd eax, ecx, 2
xor eax, dword [ebp + 0x10]
shr ecx, 2
xor ecx, dword [ebp - 0x8c]
add edi, eax
mov eax, dword [ebp - 0x34]
adc edx, ecx
mov ecx, dword [ebp - 0x24]
shrd eax, ecx, 1
xor eax, dword [ebp - 0x34]
shr ecx, 1
xor ecx, dword [ebp - 0x24]
add edi, eax
mov eax, dword [ebp - 0x40]
adc edx, ecx
add edi, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x3c]
adc edx, dword [ebp - 0xa4]
xor dword [ebp - 8], edi
xor dword [ebp - 0x94], edx
sub ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x60], edi
sbb eax, dword [ebp - 0x178]
add dword [ebp - 0xb0], ecx
mov ecx, dword [esi + 4]
adc dword [ebp - 0xb8], eax
mov dword [ebp - 0x90], edx
cmp ecx, 5
jl 0x1004ec93
mov eax, dword [ebp - 0x30]
xor edi, edi
mov edx, eax
mov ecx, ebx
shrd eax, ecx, 0x1b
shl edx, 5
or edi, eax
shr ecx, 0x1b
or edx, ecx
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
or ecx, dword [ebp - 0x7c]
add edi, dword [ebp - 0x50]
mov dword [ebp + 8], edi
adc edx, ecx
mov ecx, dword [ebp - 0x64]
mov edi, ecx
mov dword [ebp - 0x28], edx
shld ecx, eax, 0x1b
shr edi, 5
xor edx, edx
or edx, ecx
shl eax, 0x1b
or edi, eax
mov ecx, dword [ebp - 0x70]
add dword [ebp + 8], edi
mov edi, ecx
mov eax, dword [ebp - 0x44]
adc dword [ebp - 0x28], edx
xor edx, edx
shld ecx, eax, 0xb
shr edi, 0x15
or edx, ecx
shl eax, 0xb
mov ecx, dword [ebp - 0x58]
or edi, eax
add dword [ebp + 8], edi
mov edi, ecx
mov eax, dword [ebp - 0x88]
adc dword [ebp - 0x28], edx
xor edx, edx
shld ecx, eax, 5
shr edi, 0x1b
or edx, ecx
shl eax, 5
mov ecx, dword [ebp - 0x24]
or edi, eax
add dword [ebp + 8], edi
mov eax, dword [ebp - 0x34]
mov edi, eax
adc dword [ebp - 0x28], edx
xor edx, edx
shrd eax, ecx, 0xb
shl edi, 0x15
or edx, eax
shr ecx, 0xb
mov eax, dword [ebp - 0x1c]
or edi, ecx
add dword [ebp + 8], edx
mov ecx, dword [ebp - 0x84]
adc dword [ebp - 0x28], edi
mov edi, eax
shrd eax, ecx, 0x15
xor edx, edx
shl edi, 0xb
or edx, eax
shr ecx, 0x15
mov eax, dword [ebp - 0xf0]
or edi, ecx
add dword [ebp + 8], edx
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x148]
adc edx, edi
sub ecx, dword [ebp - 0xd0]
sbb eax, dword [ebp - 0x104]
add ecx, dword [ebp - 0x160]
adc eax, dword [ebp - 0x13c]
add ecx, 0xaaaaaaa4
adc eax, 0x6aaaaaaa
xor ecx, dword [esi + 0x70]
xor eax, dword [esi + 0x74]
add dword [ebp + 8], ecx
mov ecx, dword [ebp - 0x90]
adc edx, eax
mov eax, dword [ebp - 0x60]
shrd eax, ecx, 2
xor eax, dword [ebp - 0x60]
shr ecx, 2
xor ecx, dword [ebp - 0x90]
add dword [ebp + 8], eax
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
adc edx, ecx
mov ecx, dword [ebp - 0x8c]
shrd eax, ecx, 1
xor eax, dword [ebp + 0x10]
shr ecx, 1
xor ecx, dword [ebp - 0x8c]
add edi, eax
mov eax, dword [ebp - 0x24]
adc edx, ecx
add edi, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x34]
adc edx, dword [ebp - 0xb8]
xor dword [ebp - 8], edi
xor dword [ebp - 0x94], edx
sub ecx, dword [ebp - 0x134]
mov dword [ebp + 8], edi
sbb eax, dword [ebp - 0x180]
add dword [ebp - 0xac], ecx
mov ecx, dword [esi + 4]
adc dword [ebp - 0xa4], eax
mov dword [ebp - 0x28], edx
cmp ecx, 6
jl 0x1004ee33
mov eax, dword [ebp - 0x54]
xor ecx, ecx
or ecx, dword [ebp - 0x6c]
xor edx, edx
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x48]
mov edi, ecx
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x80]
shld ecx, eax, 0x1b
shr edi, 5
or edx, ecx
shl eax, 0x1b
or edi, eax
mov ecx, dword [ebp - 0x78]
add dword [ebp - 0x88], edi
mov edi, ecx
mov eax, dword [ebp - 0x68]
adc dword [ebp - 0x58], edx
xor edx, edx
shld ecx, eax, 0xb
shr edi, 0x15
or edx, ecx
shl eax, 0xb
or edi, eax
mov ecx, dword [ebp - 0x5c]
add dword [ebp - 0x88], edi
mov edi, ecx
mov eax, dword [ebp - 0x74]
adc dword [ebp - 0x58], edx
xor edx, edx
shld ecx, eax, 5
shr edi, 0x1b
or edx, ecx
shl eax, 5
mov ecx, dword [ebp - 0x8c]
or edi, eax
add dword [ebp - 0x88], edi
mov eax, dword [ebp + 0x10]
mov edi, eax
adc dword [ebp - 0x58], edx
xor edx, edx
shrd eax, ecx, 0xb
shl edi, 0x15
or edx, eax
shr ecx, 0xb
mov eax, dword [ebp - 0x3c]
or edi, ecx
add dword [ebp - 0x88], edx
mov ecx, dword [ebp - 0x40]
adc dword [ebp - 0x58], edi
mov edi, eax
shrd eax, ecx, 0x15
xor edx, edx
shl edi, 0xb
or edx, eax
shr ecx, 0x15
mov eax, dword [ebp - 0x2c]
or edi, ecx
add dword [ebp - 0x88], edx
mov ecx, dword [ebp - 0x9c]
adc dword [ebp - 0x58], edi
mov edi, eax
shrd eax, ecx, 0x1b
xor edx, edx
shl edi, 5
or edx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0xf4]
or edi, ecx
add dword [ebp - 0x88], edx
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xec]
adc edx, edi
sub ecx, dword [ebp - 0xc4]
sbb eax, dword [ebp - 0xf8]
add ecx, dword [ebp - 0x17c]
adc eax, dword [ebp - 0x11c]
add ecx, 0xfffffff9
adc eax, 0x6fffffff
xor ecx, dword [esi + 0x78]
xor eax, dword [esi + 0x7c]
mov edi, dword [ebp - 0x88]
add edi, ecx
mov ecx, dword [ebp - 0x28]
adc edx, eax
mov eax, dword [ebp + 8]
shrd eax, ecx, 2
mov dword [ebp - 0x58], edx
xor eax, dword [ebp + 8]
shr ecx, 2
xor ecx, dword [ebp - 0x28]
add edi, eax
mov eax, dword [ebp - 0x60]
adc dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x90]
shrd eax, ecx, 1
xor eax, dword [ebp - 0x60]
shr ecx, 1
xor ecx, dword [ebp - 0x90]
add edi, eax
mov eax, dword [ebp - 0x58]
adc eax, ecx
add edi, dword [ebp - 0xac]
mov ecx, dword [ebp + 0x10]
adc eax, dword [ebp - 0xa4]
xor dword [ebp - 0x94], eax
xor dword [ebp - 8], edi
sub ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x8c]
sbb eax, dword [ebp - 0xc8]
add dword [ebp - 0xb0], ecx
mov ecx, dword [esi + 4]
adc dword [ebp - 0xb8], eax
mov dword [ebp - 0x88], edi
cmp ecx, 7
jl 0x1004efbe
xor ecx, ecx
mov eax, dword [ebp - 0x7c]
or ecx, dword [ebp - 0x30]
xor edx, edx
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x50]
mov edi, ecx
shld ecx, eax, 0x1b
shr edi, 5
or edx, ecx
shl eax, 0x1b
or edi, eax
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x74], ebx
add dword [ebp - 0x74], edi
mov edi, ecx
adc dword [ebp - 0x5c], edx
xor edx, edx
shld ecx, eax, 0xb
shr edi, 0x15
or edx, ecx
shl eax, 0xb
or edi, eax
mov ecx, dword [ebp - 0x70]
add dword [ebp - 0x74], edi
mov edi, ecx
mov eax, dword [ebp - 0x44]
adc dword [ebp - 0x5c], edx
xor edx, edx
shld ecx, eax, 5
shr edi, 0x1b
or edx, ecx
shl eax, 5
mov ecx, dword [ebp - 0x90]
or edi, eax
add dword [ebp - 0x74], edi
mov eax, dword [ebp - 0x60]
mov edi, eax
adc dword [ebp - 0x5c], edx
xor edx, edx
shrd eax, ecx, 0xb
shl edi, 0x15
or edx, eax
shr ecx, 0xb
mov eax, dword [ebp - 0x34]
or edi, ecx
add dword [ebp - 0x74], edx
mov ecx, dword [ebp - 0x24]
adc dword [ebp - 0x5c], edi
mov edi, eax
shrd eax, ecx, 0x15
xor edx, edx
shl edi, 0xb
or edx, eax
shr ecx, 0x15
mov eax, dword [ebp - 0x1c]
or edi, ecx
add dword [ebp - 0x74], edx
mov ecx, dword [ebp - 0x84]
adc dword [ebp - 0x5c], edi
mov edi, eax
shrd eax, ecx, 0x1b
xor edx, edx
shl edi, 5
or edx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0x110]
or edi, ecx
add dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x108]
adc edx, edi
sub ecx, dword [ebp - 0x168]
sbb eax, dword [ebp - 0x188]
add ecx, dword [ebp - 0x14c]
adc eax, dword [ebp - 0xfc]
add ecx, 0x5555554e
adc eax, 0x75555555
xor ecx, dword [esi + 0x80]
xor eax, dword [esi + 0x84]
mov edi, dword [ebp - 0x74]
add edi, ecx
mov ecx, dword [ebp - 0x58]
adc edx, eax
mov eax, dword [ebp - 0x88]
shrd eax, ecx, 2
mov dword [ebp - 0x5c], edx
xor eax, dword [ebp - 0x88]
shr ecx, 2
xor ecx, dword [ebp - 0x58]
add edi, eax
mov eax, dword [ebp + 8]
adc dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x28]
shrd eax, ecx, 1
xor eax, dword [ebp + 8]
shr ecx, 1
xor ecx, dword [ebp - 0x28]
add edi, eax
mov eax, dword [ebp - 0x5c]
adc eax, ecx
add edi, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x60]
adc eax, dword [ebp - 0xb8]
xor dword [ebp - 0x94], eax
xor dword [ebp - 8], edi
sub ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x90]
sbb eax, dword [ebp - 0xd8]
add dword [ebp - 0xac], ecx
mov ecx, dword [esi + 4]
adc dword [ebp - 0xa4], eax
mov dword [ebp - 0x74], edi
cmp ecx, 8
jl 0x1004f141
mov ecx, dword [ebp - 0x54]
xor edi, edi
mov eax, dword [ebp - 0x6c]
mov edx, ecx
shld ecx, eax, 0x1b
shr edx, 5
or edi, ecx
shl eax, 0x1b
or edx, eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x70], edi
mov edi, ecx
shld ecx, eax, 0xb
shr edi, 0x15
shl eax, 0xb
or edi, eax
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x68]
xor edx, edx
or edx, ecx
add dword [ebp - 0x44], edi
mov ecx, dword [ebp - 0x78]
mov edi, ecx
adc dword [ebp - 0x70], edx
xor edx, edx
shld ecx, eax, 5
shr edi, 0x1b
or edx, ecx
shl eax, 5
or edi, eax
mov ecx, dword [ebp - 0x28]
add dword [ebp - 0x44], edi
mov eax, dword [ebp + 8]
mov edi, eax
adc dword [ebp - 0x70], edx
xor edx, edx
shrd eax, ecx, 0xb
shl edi, 0x15
or edx, eax
shr ecx, 0xb
mov eax, dword [ebp + 0x10]
or edi, ecx
add dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x8c]
adc dword [ebp - 0x70], edi
xor edx, edx
mov edi, eax
shrd eax, ecx, 0x15
shl edi, 0xb
or edx, eax
shr ecx, 0x15
mov eax, dword [ebp - 0x3c]
or edi, ecx
add dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x40]
adc dword [ebp - 0x70], edi
xor edx, edx
mov edi, eax
shrd eax, ecx, 0x1b
shl edi, 5
or edx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0x138]
or edi, ecx
add dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x70]
adc edx, edi
mov edi, dword [ebp - 0x44]
xor ecx, ecx
or ecx, dword [ebp - 0x2c]
add edi, dword [ebp - 0x9c]
adc edx, ecx
mov ecx, dword [ebp - 0x158]
sub ecx, dword [ebp - 0x150]
sbb eax, dword [ebp - 0x120]
add ecx, dword [ebp - 0x148]
adc eax, dword [ebp - 0xf0]
add ecx, 0xaaaaaaa3
adc eax, 0x7aaaaaaa
xor ecx, dword [esi + 0x88]
xor eax, dword [esi + 0x8c]
add edi, ecx
mov ecx, dword [ebp - 0x5c]
adc edx, eax
mov eax, dword [ebp - 0x74]
shrd eax, ecx, 2
mov dword [ebp - 0x70], edx
xor eax, dword [ebp - 0x74]
shr ecx, 2
xor ecx, dword [ebp - 0x5c]
add edi, eax
mov eax, dword [ebp - 0x88]
adc edx, ecx
mov ecx, dword [ebp - 0x58]
shrd eax, ecx, 1
xor eax, dword [ebp - 0x88]
shr ecx, 1
xor ecx, dword [ebp - 0x58]
add edi, eax
mov eax, dword [ebp - 0x28]
adc edx, ecx
add edi, dword [ebp - 0xac]
mov ecx, dword [ebp + 8]
adc edx, dword [ebp - 0xa4]
xor dword [ebp - 8], edi
xor dword [ebp - 0x94], edx
sub ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x44], edi
sbb eax, dword [ebp - 0xd4]
add dword [ebp - 0xb0], ecx
mov ecx, dword [esi + 4]
adc dword [ebp - 0xb8], eax
mov dword [ebp - 0x70], edx
cmp ecx, 9
jl 0x1004f2cd
mov eax, dword [ebp - 0x30]
xor edi, edi
mov ecx, ebx
mov edx, ebx
shld ecx, eax, 0x1b
shr edx, 5
or edi, ecx
shl eax, 0x1b
or edx, eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x78], edi
mov edi, ecx
shld ecx, eax, 0xb
shr edi, 0x15
shl eax, 0xb
or edi, eax
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x4c]
xor edx, edx
or edx, ecx
add dword [ebp - 0x68], edi
mov ecx, dword [ebp - 0x64]
mov edi, ecx
adc dword [ebp - 0x78], edx
xor edx, edx
shld ecx, eax, 5
shr edi, 0x1b
or edx, ecx
shl eax, 5
or edi, eax
mov ecx, dword [ebp - 0x58]
add dword [ebp - 0x68], edi
mov eax, dword [ebp - 0x88]
mov edi, eax
adc dword [ebp - 0x78], edx
xor edx, edx
shrd eax, ecx, 0xb
shl edi, 0x15
or edx, eax
shr ecx, 0xb
mov eax, dword [ebp - 0x60]
or edi, ecx
add dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x90]
adc dword [ebp - 0x78], edi
mov edi, eax
shrd eax, ecx, 0x15
shl edi, 0xb
xor edx, edx
or edx, eax
shr ecx, 0x15
mov eax, dword [ebp - 0x34]
or edi, ecx
add dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x24]
adc dword [ebp - 0x78], edi
mov edi, eax
shrd eax, ecx, 0x1b
xor edx, edx
shl edi, 5
shr ecx, 0x1b
or edx, eax
mov eax, dword [ebp - 0x184]
or edi, ecx
add dword [ebp - 0x68], edx
mov edx, dword [ebp - 0x68]
adc dword [ebp - 0x78], edi
xor ecx, ecx
or ecx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x84]
mov edi, dword [ebp - 0x78]
adc edi, ecx
mov ecx, dword [ebp - 0x174]
sub ecx, dword [ebp - 0x114]
sbb eax, dword [ebp - 0x118]
add ecx, dword [ebp - 0xec]
adc eax, dword [ebp - 0xf4]
add ecx, 0xfffffff8
adc eax, 0x7fffffff
xor ecx, dword [esi + 0x90]
xor eax, dword [esi + 0x94]
add edx, ecx
mov ecx, dword [ebp - 0x70]
adc edi, eax
mov eax, dword [ebp - 0x44]
shrd eax, ecx, 2
mov dword [ebp - 0x78], edi
xor eax, dword [ebp - 0x44]
shr ecx, 2
xor ecx, dword [ebp - 0x70]
add edx, eax
mov eax, dword [ebp - 0x74]
adc edi, ecx
mov ecx, dword [ebp - 0x5c]
shrd eax, ecx, 1
xor eax, dword [ebp - 0x74]
shr ecx, 1
xor ecx, dword [ebp - 0x5c]
add edx, eax
mov eax, dword [ebp - 8]
adc edi, ecx
add edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x88]
adc edi, dword [ebp - 0xb8]
xor eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x94]
xor eax, edi
mov dword [ebp - 0x68], edx
sub ecx, dword [ebp - 0x194]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x58]
sbb eax, dword [ebp - 0x19c]
add dword [ebp - 0xac], ecx
mov ecx, dword [esi + 4]
adc dword [ebp - 0xa4], eax
mov dword [ebp - 0x78], edi
jmp 0x1004f2d0
mov edx, dword [ebp - 0x68]
cmp ecx, 0xa
jl 0x1004f450
mov ecx, dword [ebp - 0x54]
xor edi, edi
mov eax, dword [ebp - 0x6c]
mov edx, ecx
shld ecx, eax, 0xb
shr edx, 0x15
or edi, ecx
shl eax, 0xb
or edx, eax
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x64], edi
mov edi, ecx
shld ecx, eax, 5
shr edi, 0x1b
shl eax, 5
or edi, eax
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x74]
xor edx, edx
or edx, ecx
add dword [ebp - 0x4c], edi
mov ecx, dword [ebp - 0x5c]
mov edi, eax
adc dword [ebp - 0x64], edx
xor edx, edx
shrd eax, ecx, 0xb
shl edi, 0x15
or edx, eax
shr ecx, 0xb
or edi, ecx
mov eax, dword [ebp + 8]
add dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x28]
adc dword [ebp - 0x64], edi
xor edx, edx
mov edi, eax
shrd eax, ecx, 0x15
shl edi, 0xb
or edx, eax
shr ecx, 0x15
mov eax, dword [ebp + 0x10]
or edi, ecx
add dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x8c]
adc dword [ebp - 0x64], edi
mov edi, eax
shrd eax, ecx, 0x1b
xor edx, edx
shl edi, 5
or edx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0x40]
or edi, ecx
add dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x64]
adc edx, edi
xor ecx, ecx
or ecx, dword [ebp - 0x3c]
add dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x2c]
adc edx, ecx
mov ecx, dword [ebp - 0x9c]
mov edi, ecx
mov dword [ebp - 0x64], edx
shld ecx, eax, 0x1b
shr edi, 5
xor edx, edx
shl eax, 0x1b
or edx, ecx
mov ecx, dword [ebp - 0x18c]
or edi, eax
add dword [ebp - 0x4c], edi
mov eax, dword [ebp - 0x140]
adc dword [ebp - 0x64], edx
sub ecx, dword [ebp - 0x144]
sbb eax, dword [ebp - 0x170]
add ecx, dword [ebp - 0x108]
adc eax, dword [ebp - 0x110]
add ecx, 0x5555554d
adc eax, 0x85555555
xor eax, dword [esi + 0x1c]
xor ecx, dword [esi + 0x18]
mov edi, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x68]
add edi, ecx
mov ecx, dword [ebp - 0x78]
adc dword [ebp - 0x64], eax
mov eax, edx
shrd eax, ecx, 2
shr ecx, 2
xor eax, edx
xor ecx, dword [ebp - 0x78]
add edi, eax
mov eax, dword [ebp - 0x44]
adc dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x70]
shrd eax, ecx, 1
mov dword [ebp - 0x4c], edi
xor eax, dword [ebp - 0x44]
shr ecx, 1
xor ecx, dword [ebp - 0x70]
add edi, eax
mov eax, dword [ebp - 0x64]
adc eax, ecx
add edi, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x74]
adc eax, dword [ebp - 0xa4]
xor dword [ebp - 0x18], eax
xor dword [ebp - 0x14], edi
sub ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x5c]
sbb eax, dword [ebp - 0x198]
add dword [ebp - 0xb0], ecx
mov ecx, dword [esi + 4]
adc dword [ebp - 0xb8], eax
mov dword [ebp - 0x4c], edi
cmp ecx, 0xb
jl 0x1004f5d4
mov eax, dword [ebp - 0x30]
xor edi, edi
mov ecx, ebx
mov edx, ebx
shld ecx, eax, 0xb
shr edx, 0x15
or edi, ecx
shl eax, 0xb
or edx, eax
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x48], edi
mov edi, ecx
shld ecx, eax, 5
shr edi, 0x1b
shl eax, 5
or edi, eax
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x44]
xor edx, edx
or edx, ecx
add dword [ebp - 0x80], edi
mov ecx, dword [ebp - 0x70]
mov edi, eax
adc dword [ebp - 0x48], edx
xor edx, edx
shrd eax, ecx, 0xb
shl edi, 0x15
or edx, eax
shr ecx, 0xb
mov eax, dword [ebp - 0x88]
or edi, ecx
add dword [ebp - 0x80], edx
mov ecx, dword [ebp - 0x58]
adc dword [ebp - 0x48], edi
xor edx, edx
mov edi, eax
shrd eax, ecx, 0x15
shl edi, 0xb
or edx, eax
shr ecx, 0x15
mov eax, dword [ebp - 0x60]
or edi, ecx
add dword [ebp - 0x80], edx
mov ecx, dword [ebp - 0x90]
adc dword [ebp - 0x48], edi
xor edx, edx
mov edi, eax
shrd eax, ecx, 0x1b
shl edi, 5
or edx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0x24]
or edi, ecx
add dword [ebp - 0x80], edx
mov edx, dword [ebp - 0x48]
adc edx, edi
xor ecx, ecx
or ecx, dword [ebp - 0x34]
add dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x1c]
adc edx, ecx
mov ecx, dword [ebp - 0x84]
mov edi, ecx
mov dword [ebp - 0x48], edx
shld ecx, eax, 0x1b
xor edx, edx
shr edi, 5
shl eax, 0x1b
or edx, ecx
mov ecx, dword [ebp - 0x158]
or edi, eax
add dword [ebp - 0x80], edi
mov eax, dword [ebp - 0x48]
adc eax, edx
sub ecx, dword [ebp - 0x160]
mov edx, dword [ebp - 0x138]
sbb edx, dword [ebp - 0x13c]
add ecx, dword [ebp - 0xe8]
adc edx, dword [ebp - 0x100]
add ecx, 0xaaaaaaa2
mov edi, dword [ebp - 0x80]
adc edx, 0x8aaaaaaa
xor ecx, dword [esi + 0x20]
xor edx, dword [esi + 0x24]
add edi, ecx
mov ecx, dword [ebp - 0x64]
adc eax, edx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
shrd eax, ecx, 2
xor eax, dword [ebp - 0x4c]
shr ecx, 2
xor ecx, dword [ebp - 0x64]
add edi, eax
mov eax, edx
adc dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x78]
shrd eax, ecx, 1
xor eax, edx
shr ecx, 1
xor ecx, dword [ebp - 0x78]
add edi, eax
mov eax, dword [ebp - 0x48]
adc eax, ecx
add edi, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x44]
adc eax, dword [ebp - 0xb8]
xor dword [ebp - 0x18], eax
xor dword [ebp - 0x14], edi
sub ecx, dword [ebp - 0x190]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x70]
sbb eax, dword [ebp - 0x1a0]
add dword [ebp - 0xac], ecx
mov ecx, dword [esi + 4]
adc dword [ebp - 0xa4], eax
mov dword [ebp - 0x80], edi
cmp ecx, 0xc
jl 0x1004f756
mov ecx, dword [ebp - 0x54]
mov edi, ecx
mov eax, dword [ebp - 0x6c]
shld ecx, eax, 5
shr edi, 0x1b
shl eax, 5
or edi, eax
xor eax, eax
or eax, ecx
mov dword [ebp - 0x7c], edi
mov ecx, dword [ebp - 0x78]
mov edi, edx
xor edx, edx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x68]
shrd eax, ecx, 0xb
shl edi, 0x15
or edx, eax
shr ecx, 0xb
or edi, ecx
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x7c], edx
mov ecx, dword [ebp - 0x5c]
adc dword [ebp - 0x50], edi
xor edx, edx
mov edi, eax
shrd eax, ecx, 0x15
shl edi, 0xb
or edx, eax
shr ecx, 0x15
mov eax, dword [ebp + 8]
or edi, ecx
add dword [ebp - 0x7c], edx
mov ecx, dword [ebp - 0x28]
adc dword [ebp - 0x50], edi
xor edx, edx
mov edi, eax
shrd eax, ecx, 0x1b
shl edi, 5
or edx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0x8c]
or edi, ecx
add dword [ebp - 0x7c], edx
mov edx, dword [ebp - 0x50]
adc edx, edi
xor ecx, ecx
or ecx, dword [ebp + 0x10]
add dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x3c]
adc edx, ecx
mov ecx, dword [ebp - 0x40]
mov edi, ecx
mov dword [ebp - 0x50], edx
shld ecx, eax, 0x1b
xor edx, edx
shr edi, 5
shl eax, 0x1b
or edx, ecx
mov ecx, dword [ebp - 0x9c]
or edi, eax
add dword [ebp - 0x7c], edi
mov edi, ecx
mov eax, dword [ebp - 0x2c]
adc dword [ebp - 0x50], edx
xor edx, edx
shld ecx, eax, 0xb
shr edi, 0x15
shl eax, 0xb
or edx, ecx
mov ecx, dword [ebp - 0x174]
or edi, eax
add dword [ebp - 0x7c], edi
mov eax, dword [ebp - 0x50]
adc eax, edx
sub ecx, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x184]
sbb edx, dword [ebp - 0x11c]
add ecx, dword [ebp - 0xd0]
adc edx, dword [ebp - 0x104]
add ecx, 0xfffffff7
mov edi, dword [ebp - 0x7c]
adc edx, 0x8fffffff
xor ecx, dword [esi + 0x28]
xor edx, dword [esi + 0x2c]
add edi, ecx
mov ecx, dword [ebp - 0x48]
adc eax, edx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x80]
shrd eax, ecx, 2
xor eax, dword [ebp - 0x80]
shr ecx, 2
xor ecx, dword [ebp - 0x48]
add edi, eax
mov eax, dword [ebp - 0x4c]
adc dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x64]
shrd eax, ecx, 1
xor eax, dword [ebp - 0x4c]
shr ecx, 1
xor ecx, dword [ebp - 0x64]
add edi, eax
mov eax, dword [ebp - 0x50]
adc eax, ecx
add edi, dword [ebp - 0xac]
mov ecx, edx
mov dword [ebp - 0x7c], edi
adc eax, dword [ebp - 0xa4]
xor dword [ebp - 0x18], eax
xor dword [ebp - 0x14], edi
sub ecx, dword [ebp - 0x154]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x78]
sbb eax, dword [ebp - 0x15c]
add dword [ebp - 0xb0], ecx
mov ecx, dword [esi + 4]
adc dword [ebp - 0xb8], eax
jmp 0x1004f759
mov edi, dword [ebp - 0x7c]
cmp ecx, 0xd
jl 0x1004f8e6
mov eax, dword [ebp - 0x30]
xor edi, edi
mov ecx, ebx
mov edx, ebx
shld ecx, eax, 5
shr edx, 0x1b
or edi, ecx
shl eax, 5
or edx, eax
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], edi
mov edi, eax
shrd eax, ecx, 0xb
shl edi, 0x15
shr ecx, 0xb
or edi, ecx
mov dword [ebp - 0x6c], edx
mov ecx, dword [ebp - 0x70]
xor edx, edx
or edx, eax
mov eax, dword [ebp - 0x44]
add dword [ebp - 0x6c], edx
adc dword [ebp - 0x54], edi
xor edx, edx
mov edi, eax
shrd eax, ecx, 0x15
shl edi, 0xb
or edx, eax
shr ecx, 0x15
or edi, ecx
mov eax, dword [ebp - 0x88]
add dword [ebp - 0x6c], edx
mov ecx, dword [ebp - 0x58]
adc dword [ebp - 0x54], edi
xor edx, edx
mov edi, eax
shrd eax, ecx, 0x1b
shl edi, 5
or edx, eax
shr ecx, 0x1b
mov eax, dword [ebp - 0x90]
or edi, ecx
add dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0x54]
adc edx, edi
xor ecx, ecx
or ecx, dword [ebp - 0x60]
add dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x34]
adc edx, ecx
mov ecx, dword [ebp - 0x24]
mov edi, ecx
mov dword [ebp - 0x54], edx
shld ecx, eax, 0x1b
shr edi, 5
xor edx, edx
shl eax, 0x1b
or edx, ecx
mov ecx, dword [ebp - 0x84]
or edi, eax
add dword [ebp - 0x6c], edi
mov edi, ecx
mov eax, dword [ebp - 0x1c]
adc dword [ebp - 0x54], edx
xor edx, edx
shld ecx, eax, 0xb
shr edi, 0x15
shl eax, 0xb
or edx, ecx
mov ecx, dword [ebp - 0x54]
or edi, eax
mov eax, dword [ebp - 0x6c]
add eax, edi
mov edi, dword [ebp - 0x140]
adc ecx, edx
mov edx, dword [ebp - 0x18c]
sub edx, dword [ebp - 0x14c]
sbb edi, dword [ebp - 0xfc]
add edx, dword [ebp - 0xc4]
adc edi, dword [ebp - 0xf8]
add edx, 0x5555554c
adc edi, 0x95555555
xor edx, dword [esi + 0x30]
xor edi, dword [esi + 0x34]
add eax, edx
mov dword [ebp - 0x6c], eax
adc ecx, edi
mov edi, dword [ebp - 0x7c]
mov dword [ebp - 0x54], ecx
mov eax, edi
mov ecx, dword [ebp - 0x50]
shrd eax, ecx, 2
shr ecx, 2
xor eax, edi
xor ecx, dword [ebp - 0x50]
add dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x80]
adc dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x6c]
shrd eax, ecx, 1
xor eax, dword [ebp - 0x80]
shr ecx, 1
xor ecx, dword [ebp - 0x48]
add edx, eax
mov eax, dword [ebp - 0x54]
adc eax, ecx
add edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x4c]
adc eax, dword [ebp - 0xb8]
xor dword [ebp - 0x18], eax
xor dword [ebp - 0x14], edx
sub ecx, dword [ebp - 0x164]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x64]
sbb eax, dword [ebp - 0x16c]
add dword [ebp - 0xac], ecx
mov ecx, dword [esi + 4]
adc dword [ebp - 0xa4], eax
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0x68]
cmp ecx, 0xe
jl 0x1004fa5f
mov eax, dword [ebp - 0x80]
xor edi, edi
mov ecx, dword [ebp - 0x48]
mov ebx, eax
shrd eax, ecx, 0xb
shl ebx, 0x15
or edi, eax
shr ecx, 0xb
or ebx, ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x78]
shrd eax, ecx, 0x15
mov dword [ebp - 0x30], edi
mov edi, edx
xor edx, edx
shr ecx, 0x15
or edx, eax
shl edi, 0xb
or edi, ecx
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x5c]
adc ebx, edi
xor edx, edx
mov edi, eax
shrd eax, ecx, 0x1b
shl edi, 5
or edx, eax
shr ecx, 0x1b
or edi, ecx
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x30], edx
adc ebx, edi
xor ecx, ecx
or ecx, dword [ebp + 8]
add dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x10]
adc ebx, ecx
mov ecx, dword [ebp - 0x8c]
mov edi, ecx
xor edx, edx
shld ecx, eax, 0x1b
shr edi, 5
or edx, ecx
shl eax, 0x1b
mov ecx, dword [ebp - 0x40]
or edi, eax
add dword [ebp - 0x30], edi
mov edi, ecx
mov eax, dword [ebp - 0x3c]
adc ebx, edx
xor edx, edx
shld ecx, eax, 0xb
shr edi, 0x15
or edx, ecx
shl eax, 0xb
mov ecx, dword [ebp - 0x9c]
or edi, eax
add dword [ebp - 0x30], edi
mov edi, ecx
mov eax, dword [ebp - 0x2c]
adc ebx, edx
xor edx, edx
shld ecx, eax, 5
shr edi, 0x1b
or edx, ecx
shl eax, 5
mov ecx, dword [ebp - 0x168]
or edi, eax
mov eax, dword [ebp - 0x30]
add eax, edi
adc ebx, edx
sub ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x188]
sbb edx, dword [ebp - 0xf0]
add ecx, dword [ebp - 0xe8]
adc edx, dword [ebp - 0x100]
add ecx, 0xaaaaaaa1
adc edx, 0x9aaaaaaa
xor ecx, dword [esi + 0x38]
xor edx, dword [esi + 0x3c]
add eax, ecx
mov edi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x54]
adc ebx, edx
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x6c]
mov eax, edx
shrd eax, ecx, 2
shr ecx, 2
xor eax, edx
xor ecx, dword [ebp - 0x54]
add dword [ebp - 0x30], eax
mov eax, edi
adc ebx, ecx
mov ecx, dword [ebp - 0x50]
shrd eax, ecx, 1
shr ecx, 1
xor eax, edi
xor ecx, dword [ebp - 0x50]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
adc ebx, ecx
add eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x80]
adc ebx, dword [ebp - 0xa4]
xor dword [ebp - 0x14], eax
xor dword [ebp - 0x18], ebx
sub ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x48]
sbb eax, dword [ebp - 0x128]
add dword [ebp - 0xb0], ecx
mov ecx, dword [esi + 4]
adc dword [ebp - 0xb8], eax
mov dword [ebp - 0x98], ebx
jmp 0x1004fa62
mov edx, dword [ebp - 0x6c]
cmp ecx, 0xf
jl 0x1004fc0b
mov ecx, dword [ebp - 0x50]
mov eax, edi
shrd eax, ecx, 0xb
mov edx, edi
mov dword [ebp - 0x20], 0
or dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x4c]
mov edi, eax
shl edx, 0x15
shr ecx, 0xb
or edx, ecx
shl edi, 0xb
mov ecx, dword [ebp - 0x64]
shrd eax, ecx, 0x15
mov dword [ebp - 0xb4], edx
xor edx, edx
or edx, eax
shr ecx, 0x15
or edi, ecx
mov eax, dword [ebp - 0x44]
add dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x70]
adc dword [ebp - 0xb4], edi
xor edx, edx
mov edi, eax
shrd eax, ecx, 0x1b
shl edi, 5
or edx, eax
shr ecx, 0x1b
or edi, ecx
mov eax, dword [ebp - 0x58]
add dword [ebp - 0x20], edx
mov edx, dword [ebp - 0xb4]
adc edx, edi
xor ecx, ecx
or ecx, dword [ebp - 0x88]
add dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x60]
adc edx, ecx
mov ecx, dword [ebp - 0x90]
mov edi, ecx
mov dword [ebp - 0xb4], edx
shld ecx, eax, 0x1b
shr edi, 5
xor edx, edx
or edx, ecx
shl eax, 0x1b
mov ecx, dword [ebp - 0x24]
or edi, eax
add dword [ebp - 0x20], edi
mov edi, ecx
mov eax, dword [ebp - 0x34]
adc dword [ebp - 0xb4], edx
xor edx, edx
shld ecx, eax, 0xb
shr edi, 0x15
or edx, ecx
shl eax, 0xb
mov ecx, dword [ebp - 0x84]
or edi, eax
add dword [ebp - 0x20], edi
mov edi, ecx
mov eax, dword [ebp - 0x1c]
adc dword [ebp - 0xb4], edx
xor edx, edx
shld ecx, eax, 5
shr edi, 0x1b
shl eax, 5
or edx, ecx
mov ecx, dword [ebp - 0x150]
or edi, eax
mov eax, dword [ebp - 0x20]
add eax, edi
mov edi, dword [ebp - 0xb4]
adc edi, edx
sub ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0x120]
sbb edx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xd0]
adc edx, dword [ebp - 0x104]
add ecx, 0xfffffff6
adc edx, 0x9fffffff
xor ecx, dword [esi + 0x40]
xor edx, dword [esi + 0x44]
add eax, ecx
mov dword [ebp - 0x20], eax
mov ecx, ebx
mov eax, dword [ebp - 0x30]
adc edi, edx
shrd eax, ecx, 2
mov edx, dword [ebp - 0x6c]
xor eax, dword [ebp - 0x30]
shr ecx, 2
xor ecx, ebx
add dword [ebp - 0x20], eax
mov eax, edx
adc edi, ecx
mov dword [ebp - 0xb4], edi
mov edi, dword [ebp - 0x54]
mov ecx, edi
shrd eax, ecx, 1
shr ecx, 1
xor eax, edx
xor ecx, edi
add dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xb4]
adc eax, ecx
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x20], ecx
adc eax, dword [ebp - 0xb8]
xor dword [ebp - 0x14], ecx
xor dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x7c]
sub ecx, dword [ebp - 0x130]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x50]
sbb eax, dword [ebp - 0x124]
add dword [ebp - 0xac], ecx
mov ecx, dword [esi + 4]
adc dword [ebp - 0xa4], eax
jmp 0x1004fc0e
mov edi, dword [ebp - 0x54]
cmp ecx, 0x10
jl 0x1004fd8f
mov eax, edx
mov ecx, edi
shl eax, 0x15
mov dword [ebp - 0xbc], eax
mov eax, edx
shrd eax, ecx, 0xb
xor edx, edx
or edx, eax
shr ecx, 0xb
or dword [ebp - 0xbc], ecx
mov eax, dword [ebp - 0x80]
mov edi, eax
mov ecx, dword [ebp - 0x48]
shrd eax, ecx, 0x15
shl edi, 0xb
shr ecx, 0x15
or edi, ecx
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x78]
xor edx, edx
or edx, eax
mov eax, dword [ebp - 0x68]
add dword [ebp - 0x38], edx
adc dword [ebp - 0xbc], edi
xor edx, edx
mov edi, eax
shrd eax, ecx, 0x1b
shl edi, 5
or edx, eax
shr ecx, 0x1b
or edi, ecx
mov eax, dword [ebp - 0x5c]
add dword [ebp - 0x38], edx
mov edx, dword [ebp - 0xbc]
adc edx, edi
xor ecx, ecx
or ecx, dword [ebp - 0x74]
add dword [ebp - 0x38], eax
mov eax, dword [ebp + 8]
adc edx, ecx
mov ecx, dword [ebp - 0x28]
mov edi, ecx
mov dword [ebp - 0xbc], edx
shld ecx, eax, 0x1b
shr edi, 5
xor edx, edx
or edx, ecx
shl eax, 0x1b
mov ecx, dword [ebp - 0x8c]
or edi, eax
add dword [ebp - 0x38], edi
mov edi, ecx
mov eax, dword [ebp + 0x10]
adc dword [ebp - 0xbc], edx
xor edx, edx
shld ecx, eax, 0xb
shr edi, 0x15
shl eax, 0xb
or edx, ecx
mov ecx, dword [ebp - 0x40]
or edi, eax
add dword [ebp - 0x38], edi
mov edi, ecx
mov eax, dword [ebp - 0x3c]
adc dword [ebp - 0xbc], edx
xor edx, edx
shld ecx, eax, 5
shr edi, 0x1b
shl eax, 5
or edx, ecx
mov ecx, dword [ebp - 0x114]
or edi, eax
mov eax, dword [ebp - 0x38]
add eax, edi
mov edi, dword [ebp - 0xbc]
adc edi, edx
sub ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0x118]
sbb edx, dword [ebp - 0x110]
add ecx, dword [ebp - 0xc4]
adc edx, dword [ebp - 0xf8]
add ecx, 0x5555554b
adc edx, 0xa5555555
xor ecx, dword [esi + 0x48]
xor edx, dword [esi + 0x4c]
add eax, ecx
mov ecx, dword [ebp - 0xb4]
adc edi, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x20]
shrd eax, ecx, 2
xor eax, dword [ebp - 0x20]
shr ecx, 2
xor ecx, dword [ebp - 0xb4]
add dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x38]
adc edi, ecx
mov ecx, ebx
shrd eax, ecx, 1
xor eax, dword [ebp - 0x30]
shr ecx, 1
xor ecx, ebx
add edx, eax
mov eax, dword [ebp - 0x18]
adc edi, ecx
add edx, dword [ebp - 0xac]
mov dword [ebp - 0x38], edx
adc edi, dword [ebp - 0xa4]
xor dword [ebp - 0x14], edx
xor eax, edi
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0x18], eax
jmp 0x1004fd92
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov edi, eax
shld edi, edx, 5
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
shrd eax, ecx, 5
shl edx, 5
xor edx, eax
shr ecx, 5
xor edx, dword [ebp - 0x1ac]
xor edi, ecx
xor edi, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1a8]
xor eax, dword [ebp - 8]
xor eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x1bc]
xor ecx, dword [ebp - 0x94]
xor ecx, dword [ebp - 0x78]
add edx, eax
mov eax, dword [ebp - 0x34]
adc edi, ecx
mov dword [esi + 0x18], edx
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
shld ecx, eax, 8
mov dword [esi + 0x1c], edi
mov edi, dword [ebp - 0x18]
shrd edx, edi, 7
shl eax, 8
xor edx, eax
shr edi, 7
mov eax, dword [ebp - 0xa0]
xor edi, ecx
mov ecx, dword [ebp - 0x1b8]
xor ecx, dword [ebp - 0x94]
xor ecx, dword [ebp - 0x64]
xor edi, dword [eax + 0xc]
xor edx, dword [eax + 8]
mov eax, dword [ebp - 0x1b0]
xor eax, dword [ebp - 8]
xor eax, dword [ebp - 0x4c]
add edx, eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x20], edx
mov edx, dword [ebp - 0x14]
adc edi, ecx
mov ecx, dword [ebp - 0x8c]
shld ecx, eax, 5
mov dword [esi + 0x24], edi
mov edi, dword [ebp - 0x18]
shrd edx, edi, 5
shl eax, 5
xor edx, eax
shr edi, 5
mov eax, dword [ebp - 0xa0]
xor edi, ecx
mov ecx, dword [ebp - 0x178]
xor ecx, dword [ebp - 0x94]
xor ecx, dword [ebp - 0x48]
xor edi, dword [eax + 0x14]
xor edx, dword [eax + 0x10]
mov eax, dword [ebp - 0xc0]
xor eax, dword [ebp - 8]
xor eax, dword [ebp - 0x80]
add edx, eax
mov eax, dword [ebp - 0x60]
mov dword [esi + 0x28], edx
mov edx, dword [ebp - 0x14]
adc edi, ecx
mov ecx, dword [ebp - 0x90]
mov dword [esi + 0x2c], edi
mov edi, dword [ebp - 0x18]
shld ecx, eax, 5
shrd edx, edi, 1
shl eax, 5
xor edx, eax
shr edi, 1
mov eax, dword [ebp - 0xa0]
xor edi, ecx
xor edx, dword [eax + 0x18]
xor edi, dword [eax + 0x1c]
mov eax, dword [ebp - 0x134]
xor eax, dword [ebp - 8]
xor eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x180]
xor ecx, dword [ebp - 0x94]
xor ecx, dword [ebp - 0x50]
add edx, eax
mov ebx, dword [ebp - 0xc8]
adc edi, ecx
mov dword [esi + 0x30], edx
mov edx, dword [ebp - 0x14]
mov eax, edx
mov ecx, dword [ebp - 0x18]
shrd eax, ecx, 3
xor ebx, dword [ebp - 0x94]
xor eax, dword [ebp + 8]
xor ebx, dword [ebp - 0x54]
mov dword [esi + 0x34], edi
mov edi, dword [ebp - 0xa0]
shr ecx, 3
xor ecx, dword [ebp - 0x28]
mov dword [ebp - 0xc8], ebx
xor eax, dword [edi + 0x20]
xor ecx, dword [edi + 0x24]
mov edi, dword [ebp - 0xe0]
xor edi, dword [ebp - 8]
xor edi, dword [ebp - 0x6c]
add eax, edi
mov edi, dword [ebp - 0x18]
mov dword [esi + 0x38], eax
adc ecx, ebx
mov eax, dword [ebp - 0x88]
shld edi, edx, 6
mov dword [esi + 0x3c], ecx
mov ecx, dword [ebp - 0x58]
shrd eax, ecx, 6
shl edx, 6
xor edx, eax
shr ecx, 6
mov eax, dword [ebp - 0xa0]
xor edi, ecx
mov ecx, dword [ebp - 0xd8]
xor ecx, dword [ebp - 0x94]
xor ecx, dword [ebp - 0x98]
xor edi, dword [eax + 0x2c]
xor edx, dword [eax + 0x28]
mov eax, dword [ebp - 0xe4]
xor eax, dword [ebp - 8]
xor eax, dword [ebp - 0x30]
add edx, eax
mov eax, dword [ebp - 0x74]
mov dword [esi + 0x40], edx
mov edx, dword [ebp - 0x14]
adc edi, ecx
mov ecx, dword [ebp - 0x5c]
shld ecx, eax, 6
mov dword [esi + 0x44], edi
mov edi, dword [ebp - 0x18]
shrd edx, edi, 4
shl eax, 6
xor edx, eax
shr edi, 4
mov eax, dword [ebp - 0xa0]
xor edi, ecx
mov ecx, dword [ebp - 0xd4]
xor ecx, dword [ebp - 0x94]
xor ecx, dword [ebp - 0xb4]
xor edi, dword [eax + 0x34]
xor edx, dword [eax + 0x30]
mov eax, dword [ebp - 0xdc]
xor eax, dword [ebp - 8]
xor eax, dword [ebp - 0x20]
add edx, eax
mov eax, dword [ebp - 0x44]
mov dword [esi + 0x48], edx
mov edx, dword [ebp - 0x14]
adc edi, ecx
mov dword [esi + 0x4c], edi
mov edi, dword [ebp - 0x18]
shrd edx, edi, 0xb
shr edi, 0xb
mov ecx, dword [ebp - 0x70]
shld ecx, eax, 2
mov ebx, dword [ebp - 0xa0]
xor edi, ecx
shl eax, 2
xor edx, eax
mov ecx, dword [ebp - 0x19c]
xor ecx, dword [ebp - 0x94]
xor ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xa0]
xor edx, dword [eax + 0x38]
xor edi, dword [eax + 0x3c]
mov eax, dword [ebp - 0x194]
xor eax, dword [ebp - 8]
xor eax, dword [ebp - 0x38]
add edx, eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x50], edx
adc edi, ecx
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x54], edi
xor edx, edx
mov edi, eax
shld eax, ecx, 9
shr edi, 0x17
or edx, eax
shl ecx, 9
mov eax, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 0x94]
shld ecx, eax, 8
xor ecx, dword [ebp - 0x198]
xor ecx, dword [ebp - 0x70]
shl eax, 8
xor eax, dword [ebp - 0x1a4]
xor eax, dword [ebp - 0x44]
add edi, eax
mov eax, dword [ebp - 0x18]
adc edx, ecx
xor eax, dword [ebp - 0x78]
xor eax, dword [ebx + 0x44]
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x68]
xor ecx, dword [ebx + 0x40]
add edi, ecx
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x58], edi
adc edx, eax
mov eax, dword [esi + 0x44]
mov edi, eax
mov dword [esi + 0x5c], edx
shld eax, ecx, 0xa
xor edx, edx
shr edi, 0x16
shl ecx, 0xa
or edx, eax
mov eax, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 0x94]
shrd eax, ecx, 6
xor eax, dword [ebp - 0x190]
xor eax, dword [ebp - 0x3c]
shr ecx, 6
xor ecx, dword [ebp - 0x1a0]
xor ecx, dword [ebp - 0x40]
add edi, eax
mov eax, dword [ebp - 0x18]
adc edx, ecx
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x4c]
xor eax, dword [ebp - 0x64]
xor ecx, dword [ebx + 0x48]
xor eax, dword [ebx + 0x4c]
add edi, ecx
mov ecx, dword [esi + 0x48]
adc edx, eax
mov dword [esi + 0x60], edi
mov eax, dword [esi + 0x4c]
mov edi, eax
mov dword [esi + 0x64], edx
shr edi, 0x15
shld eax, ecx, 0xb
xor edx, edx
or edx, eax
shl ecx, 0xb
or edi, ecx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x94]
shld ecx, eax, 6
xor ecx, dword [ebp - 0x15c]
xor ecx, dword [ebp - 0x24]
shl eax, 6
xor eax, dword [ebp - 0x154]
xor eax, dword [ebp - 0x34]
add edi, eax
mov eax, ebx
adc edx, ecx
mov ecx, dword [eax + 0x50]
xor ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0x54]
xor eax, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x80]
xor eax, dword [ebp - 0x48]
add edi, ecx
mov ecx, dword [esi + 0x50]
adc edx, eax
mov dword [esi + 0x68], edi
mov eax, dword [esi + 0x54]
mov edi, eax
shld eax, ecx, 0xc
mov dword [esi + 0x6c], edx
xor edx, edx
or edx, eax
shl ecx, 0xc
mov eax, dword [ebp - 8]
shr edi, 0x14
or edi, ecx
mov ecx, dword [ebp - 0x94]
shld ecx, eax, 4
xor ecx, dword [ebp - 0x16c]
xor ecx, dword [ebp - 0x8c]
shl eax, 4
xor eax, dword [ebp - 0x164]
xor eax, dword [ebp + 0x10]
add edi, eax
mov eax, dword [ebp - 0x18]
adc edx, ecx
xor eax, dword [ebp - 0x50]
xor eax, dword [ebx + 0x5c]
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x7c]
xor ecx, dword [ebx + 0x58]
add edi, ecx
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x70], edi
adc edx, eax
mov eax, dword [esi + 0x1c]
mov edi, eax
mov dword [esi + 0x74], edx
shld eax, ecx, 0xd
xor edx, edx
shr edi, 0x13
shl ecx, 0xd
or edx, eax
mov eax, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 0x94]
shrd eax, ecx, 3
xor eax, dword [ebp - 0x12c]
xor eax, dword [ebp - 0x60]
shr ecx, 3
xor ecx, dword [ebp - 0x128]
xor ecx, dword [ebp - 0x90]
add edi, eax
mov eax, ebx
adc edx, ecx
mov ecx, dword [eax + 0x60]
mov eax, dword [eax + 0x64]
xor ecx, dword [ebp - 0x14]
xor eax, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x6c]
xor eax, dword [ebp - 0x54]
add edi, ecx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x78], edi
adc edx, eax
mov eax, dword [esi + 0x24]
mov edi, eax
mov dword [esi + 0x7c], edx
shld eax, ecx, 0xe
xor edx, edx
shr edi, 0x12
shl ecx, 0xe
or edx, eax
or edi, ecx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x94]
shrd eax, ecx, 4
xor eax, dword [ebp + 8]
xor eax, dword [ebp - 0x130]
shr ecx, 4
xor ecx, dword [ebp - 0x28]
xor ecx, dword [ebp - 0x124]
add edi, eax
mov eax, dword [ebp - 0x18]
adc edx, ecx
xor eax, dword [ebp - 0x98]
xor eax, dword [ebx + 0x6c]
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x30]
xor ecx, dword [ebx + 0x68]
add edi, ecx
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x80], edi
adc edx, eax
mov eax, dword [esi + 0x2c]
mov edi, eax
mov dword [esi + 0x84], edx
shld eax, ecx, 0xf
xor edx, edx
shr edi, 0x11
shl ecx, 0xf
or edx, eax
mov eax, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 0x94]
shrd eax, ecx, 7
xor eax, dword [ebp - 0x88]
xor eax, dword [ebp - 0x2c]
shr ecx, 7
xor ecx, dword [ebp - 0x58]
xor ecx, dword [ebp - 0x9c]
add edi, eax
mov eax, dword [ebx + 0x74]
adc edx, ecx
xor eax, dword [ebp - 0x18]
xor eax, dword [ebp - 0xb4]
mov ecx, dword [ebx + 0x70]
xor ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x20]
add edi, ecx
mov ecx, dword [esi + 0x30]
mov dword [esi + 0x88], edi
adc edx, eax
mov eax, dword [esi + 0x34]
mov edi, eax
mov dword [esi + 0x8c], edx
shld eax, ecx, 0x10
shr edi, 0x10
xor edx, edx
shl ecx, 0x10
or edx, eax
mov eax, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 0x94]
shrd eax, ecx, 2
xor eax, dword [ebp - 0x74]
xor eax, dword [ebp - 0x1c]
shr ecx, 2
xor ecx, dword [ebp - 0x5c]
xor ecx, dword [ebp - 0x84]
add edi, eax
adc edx, ecx
mov eax, ebx
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x7c]
xor ecx, dword [ebp - 0x14]
xor eax, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x38]
xor eax, dword [ebp - 0xbc]
add edi, ecx
mov ecx, dword [ebp - 0x10c]
adc edx, eax
mov dword [esi + 0x90], edi
mov dword [esi + 0x94], edx
sub ebx, 0xffffff80
mov edx, dword [ebp - 0x1c0]
mov dword [ebp - 0xa0], ebx
test edx, edx
ja 0x1004cb10
jb 0x10050339
cmp ecx, 0x400
jae 0x1004cb10
mov dword [esi + 0x218], ecx
test edx, edx
jne 0x10050347
test ecx, ecx
je 0x10050366
neg ecx
sar ecx, 3
not ecx
inc ecx
and ecx, 0x3ff
add esi, 0x118
push ecx
push ebx
push esi
call fcn.101c6b90
add esp, 0xc
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0xc