Function at 0x300ca030
Capabilities:
Encode data using xor
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
mov edx, dword [esp + 4]
sub esp, 0x88
test ecx, ecx
je 0x300cb92e
push ebx
push ebp
push esi
mov dword [esp + 0x90], ecx
push edi
lea ecx, [ecx]
mov edi, dword [edx + 8]
mov ebx, dword [edx + 0x14]
mov ecx, dword [edx]
mov esi, dword [edx + 4]
mov dword [esp + 0x18], edi
mov edi, dword [edx + 0xc]
mov dword [esp + 0x20], edi
mov edi, dword [edx + 0x10]
mov dword [esp + 0x3c], ebx
mov ebx, dword [edx + 0x18]
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xa0]
test edx, edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x40], ebx
je 0x300ca81d
mov edx, dword [eax]
mov dword [esp + 0x54], edx
mov edx, edi
rol edx, 0x1a
mov ebp, edi
rol ebp, 0x15
xor edx, ebp
mov ebp, edi
rol ebp, 7
xor edx, ebp
mov ebp, edi
not ebp
and ebp, ebx
mov ebx, dword [esp + 0x3c]
and ebx, edi
xor ebp, ebx
add edx, dword [esp + 0x54]
add ebp, edx
mov edx, dword [esp + 0x28]
lea edx, [edx + ebp + 0x428a2f98]
add dword [esp + 0x20], edx
mov dword [esp + 0x10], edx
mov ebx, esi
and ebx, ecx
mov dword [esp + 0x38], ebx
mov edx, esi
xor edx, ecx
mov ebx, ecx
rol ebx, 0x1e
mov ebp, ecx
rol ebp, 0x13
xor ebx, ebp
mov dword [esp + 0x44], edx
mov ebp, ecx
rol ebp, 0xa
xor ebx, ebp
and edx, dword [esp + 0x18]
xor edx, dword [esp + 0x38]
add ebx, dword [esp + 0x10]
add edx, ebx
mov dword [esp + 0x14], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x20]
mov ebx, edx
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
and edi, edx
mov ebp, edx
mov edx, dword [esp + 0x40]
not ebp
and ebp, dword [esp + 0x3c]
xor ebp, edi
add ebx, dword [esp + 0x58]
add ebp, ebx
mov ebx, dword [esp + 0x14]
lea edi, [edx + ebp + 0x71374491]
mov edx, dword [esp + 0x18]
add edx, edi
mov dword [esp + 0x10], edi
mov ebp, ebx
rol ebp, 0x1e
mov edi, ebx
rol edi, 0x13
xor ebp, edi
mov edi, ebx
rol edi, 0xa
mov dword [esp + 0x18], edx
xor ebp, edi
mov edi, dword [esp + 0x44]
and edi, ebx
xor edi, dword [esp + 0x38]
add ebp, dword [esp + 0x10]
add edi, ebp
mov dword [esp + 0x1c], edi
mov edi, dword [eax + 8]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x5c], edi
mov edi, edx
rol edi, 0x1a
mov ebx, edx
rol ebx, 0x15
xor edi, ebx
mov ebx, edx
rol ebx, 7
xor edi, ebx
mov ebx, edx
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, edx
xor ebx, ebp
add edi, dword [esp + 0x5c]
add ebx, edi
mov edi, dword [esp + 0x3c]
lea edi, [ebx + edi - 0x4a3f0431]
mov ebx, dword [esp + 0x1c]
add esi, edi
mov ebp, ebx
rol ebp, 0x1e
mov dword [esp + 0x10], edi
mov edi, ebx
rol edi, 0x13
xor ebp, edi
mov edi, ebx
rol edi, 0xa
xor ebp, edi
mov edi, ebx
and ebx, ecx
xor edi, ecx
and edi, dword [esp + 0x14]
and edx, esi
xor edi, ebx
add ebp, dword [esp + 0x10]
mov ebx, dword [eax + 0xc]
add edi, ebp
mov dword [esp + 0x60], ebx
mov ebx, esi
rol ebx, 0x1a
mov ebp, esi
rol ebp, 0x15
xor ebx, ebp
mov ebp, esi
rol ebp, 7
xor ebx, ebp
mov ebp, esi
not ebp
and ebp, dword [esp + 0x20]
mov dword [esp + 0x30], esi
xor ebp, edx
add ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x34]
add ebp, ebx
lea edx, [edx + ebp - 0x164a245b]
add ecx, edx
mov dword [esp + 0x10], edx
mov ebx, edi
rol ebx, 0x1e
mov edx, edi
rol edx, 0x13
xor ebx, edx
mov edx, edi
rol edx, 0xa
mov dword [esp + 0x24], edi
xor ebx, edx
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
xor edx, edi
and edx, ebp
mov ebp, dword [esp + 0x1c]
and ebp, edi
add ebx, dword [esp + 0x10]
mov edi, dword [eax + 0x10]
xor edx, ebp
add edx, ebx
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x64], edi
mov edi, ecx
rol edi, 0x1a
mov ebx, ecx
rol ebx, 0x15
xor edi, ebx
mov ebx, ecx
rol ebx, 7
xor edi, ebx
mov ebx, ecx
not ebx
and ebx, ebp
mov ebp, esi
and ebp, ecx
xor ebx, ebp
add edi, dword [esp + 0x64]
add ebx, edi
mov edi, dword [esp + 0x20]
lea edi, [ebx + edi + 0x3956c25b]
mov ebx, dword [esp + 0x14]
add ebx, edi
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
mov ebx, edx
rol ebx, 0x1e
mov edi, edx
rol edi, 0x13
xor ebx, edi
mov edi, edx
rol edi, 0xa
xor ebx, edi
mov edi, dword [esp + 0x24]
xor edi, edx
and edi, ebp
mov ebp, dword [esp + 0x24]
and ebp, edx
xor edi, ebp
add ebx, dword [esp + 0x10]
add edi, ebx
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x14]
mov ebp, ebx
rol ebp, 0x1a
rol ebx, 0x15
xor ebp, ebx
mov ebx, dword [esp + 0x14]
rol ebx, 7
xor ebp, ebx
mov ebx, dword [esp + 0x14]
not ebx
and ebx, esi
mov esi, dword [esp + 0x14]
and esi, ecx
xor ebx, esi
add ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x18]
add ebx, ebp
lea ebx, [ebx + esi + 0x59f111f1]
mov esi, dword [esp + 0x1c]
add esi, ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], esi
mov ebp, edi
rol ebp, 0x1e
mov ebx, edi
rol ebx, 0x13
xor ebp, ebx
mov ebx, edi
rol ebx, 0xa
xor ebp, ebx
mov ebx, edx
xor ebx, edi
and ebx, dword [esp + 0x24]
mov dword [esp + 0x28], ebx
mov ebx, edx
and ebx, edi
mov edi, dword [esp + 0x28]
xor edi, ebx
add ebp, dword [esp + 0x10]
add edi, ebp
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x18], edi
mov edi, dword [eax + 0x18]
mov dword [esp + 0x6c], edi
and ebp, esi
mov edi, esi
rol edi, 0x1a
mov ebx, esi
rol ebx, 0x15
xor edi, ebx
mov ebx, esi
rol ebx, 7
xor edi, ebx
mov ebx, esi
not ebx
and ebx, ecx
xor ebx, ebp
add edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x24]
add ebx, edi
mov edi, dword [esp + 0x30]
lea edi, [ebx + edi - 0x6dc07d5c]
add ebp, edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
mov ebp, edi
rol ebp, 0x1e
mov ebx, edi
rol ebx, 0x13
xor ebp, ebx
mov ebx, edi
rol ebx, 0xa
xor ebp, ebx
mov ebx, dword [esp + 0x20]
xor ebx, edi
and ebx, edx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x20]
and ebx, edi
mov edi, dword [esp + 0x28]
xor edi, ebx
add ebp, dword [esp + 0x10]
add edi, ebp
mov dword [esp + 0x30], edi
mov edi, dword [eax + 0x1c]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x24]
mov ebx, edi
rol ebx, 0x1a
mov ebp, edi
rol ebp, 0x15
xor ebx, ebp
mov ebp, edi
rol ebp, 7
xor ebx, ebp
mov ebp, edi
not ebp
and ebp, dword [esp + 0x14]
and esi, edi
xor ebp, esi
add ebx, dword [esp + 0x70]
add ebp, ebx
lea ecx, [ecx + ebp - 0x54e3a12b]
add edx, ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x30]
mov ebp, ecx
mov ebx, dword [esp + 0x20]
mov esi, ecx
rol ebp, 0x1e
rol esi, 0x13
xor ebp, esi
mov esi, ecx
rol esi, 0xa
xor ebp, esi
mov esi, dword [esp + 0x18]
mov edi, esi
and esi, ecx
xor edi, ecx
mov ecx, dword [eax + 0x20]
and edi, ebx
xor edi, esi
add ebp, dword [esp + 0x10]
add edi, ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x74], ecx
mov ecx, edx
rol ecx, 0x1a
mov esi, edx
rol esi, 0x15
xor ecx, esi
mov esi, edx
rol esi, 7
xor ecx, esi
mov esi, edx
not esi
and esi, ebp
mov ebp, dword [esp + 0x24]
and ebp, edx
xor esi, ebp
add ecx, dword [esp + 0x74]
add esi, ecx
mov ecx, dword [esp + 0x14]
lea ecx, [esi + ecx - 0x27f85568]
add ebx, ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x30]
mov esi, ecx
and ecx, edi
xor esi, edi
mov dword [esp + 0x38], ecx
mov ecx, edi
rol ecx, 0x1e
mov ebp, edi
rol ebp, 0x13
xor ecx, ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x34], edi
rol edi, 0xa
xor ecx, edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x44], esi
and esi, edi
add ecx, dword [esp + 0x10]
xor esi, ebp
add esi, ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x78], ecx
mov ecx, ebx
rol ecx, 0x1a
mov edi, ebx
rol edi, 0x15
xor ecx, edi
mov edi, ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], ebx
rol edi, 7
xor ecx, edi
mov ebp, dword [esp + 0x24]
mov edi, ebx
not edi
and edi, ebp
mov ebp, edx
and ebp, ebx
xor edi, ebp
add ecx, dword [esp + 0x78]
add edi, ecx
mov ecx, dword [esp + 0x1c]
lea ecx, [edi + ecx + 0x12835b01]
mov edi, dword [esp + 0x18]
add edi, ecx
mov dword [esp + 0x10], ecx
mov ebp, esi
rol ebp, 0x1e
mov ecx, esi
rol ecx, 0x13
xor ebp, ecx
mov ecx, esi
rol ecx, 0xa
xor ebp, ecx
add ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
and ecx, esi
xor ecx, dword [esp + 0x38]
mov dword [esp + 0x18], edi
add ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x7c], ecx
mov ecx, edi
rol ecx, 0x1a
mov ebp, edi
rol ebp, 0x15
xor ecx, ebp
mov ebp, edi
rol ebp, 7
xor ecx, ebp
mov ebp, edi
not ebp
and ebp, edx
mov edx, ebx
and edx, edi
xor ebp, edx
add ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x30]
add ebp, ecx
mov ecx, dword [esp + 0x24]
lea ecx, [ecx + ebp + 0x243185be]
mov edi, dword [esp + 0x34]
add edx, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x1c]
mov ebp, edx
rol ebp, 0x1e
mov ecx, edx
rol ecx, 0x13
xor ebp, ecx
mov ecx, edx
rol ecx, 0xa
xor ebp, ecx
mov ecx, edx
xor ecx, edi
and edx, edi
mov edi, dword [esp + 0x10]
and ecx, esi
xor ecx, edx
mov edx, dword [eax + 0x2c]
add ebp, edi
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x30]
add ecx, ebp
mov edi, edx
mov ebp, edx
rol edi, 0x1a
rol ebp, 0x15
xor edi, ebp
mov ebp, edx
rol ebp, 7
xor edi, ebp
mov ebp, edx
not ebp
and ebp, ebx
mov ebx, dword [esp + 0x18]
and ebx, edx
xor ebp, ebx
add edi, dword [esp + 0x80]
add ebp, edi
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
lea edi, [edx + ebp + 0x550c7dc3]
mov edx, dword [esp + 0x34]
add edx, edi
mov dword [esp + 0x10], edi
mov ebp, ecx
rol ebp, 0x1e
mov edi, ecx
rol edi, 0x13
xor ebp, edi
mov edi, ecx
rol edi, 0xa
xor ebp, edi
mov edi, ebx
and ebx, ecx
xor edi, ecx
and edi, esi
xor edi, ebx
add ebp, dword [esp + 0x10]
add edi, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x2c], edi
mov edi, dword [eax + 0x30]
mov dword [esp + 0x84], edi
mov edi, edx
rol edi, 0x1a
mov ebx, edx
rol ebx, 0x15
xor edi, ebx
mov ebx, edx
rol ebx, 7
xor edi, ebx
mov ebx, edx
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x30]
and ebp, edx
xor ebx, ebp
add edi, dword [esp + 0x84]
add ebx, edi
mov edi, dword [esp + 0x20]
lea edi, [ebx + edi + 0x72be5d74]
add esi, edi
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x2c]
mov ebp, edi
rol ebp, 0x1e
mov ebx, edi
rol ebx, 0x13
xor ebp, ebx
mov ebx, edi
rol ebx, 0xa
xor ebp, ebx
mov ebx, ecx
xor ebx, edi
and ebx, dword [esp + 0x1c]
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], ebx
mov ebx, ecx
and ebx, edi
mov edi, dword [esp + 0x28]
xor edi, ebx
add ebp, dword [esp + 0x10]
add edi, ebp
mov dword [esp + 0x20], edi
mov edi, dword [eax + 0x34]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x88], edi
mov edi, esi
rol edi, 0x1a
mov ebx, esi
rol ebx, 0x15
xor edi, ebx
mov ebx, esi
rol ebx, 7
xor edi, ebx
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, esi
and ebp, edx
xor ebx, ebp
add edi, dword [esp + 0x88]
add ebx, edi
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edi, [ebx + edi - 0x7f214e02]
add ebp, edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x20]
mov ebp, edi
rol ebp, 0x1e
mov ebx, edi
rol ebx, 0x13
xor ebp, ebx
mov ebx, edi
rol ebx, 0xa
xor ebp, ebx
mov ebx, dword [esp + 0x2c]
xor ebx, edi
and ebx, ecx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x2c]
and ebx, edi
mov edi, dword [esp + 0x28]
xor edi, ebx
add ebp, dword [esp + 0x10]
add edi, ebp
mov dword [esp + 0x18], edi
mov edi, dword [eax + 0x38]
mov dword [esp + 0x8c], edi
mov edi, dword [esp + 0x1c]
mov ebx, edi
rol ebx, 0x1a
mov ebp, edi
rol ebp, 0x15
xor ebx, ebp
mov ebp, edi
rol ebp, 7
xor ebx, ebp
mov ebp, edi
not ebp
and ebp, edx
mov edx, esi
and edx, edi
mov edi, dword [esp + 0x8c]
xor ebp, edx
mov edx, dword [esp + 0x30]
add ebx, edi
add ebp, ebx
lea edx, [edx + ebp - 0x6423f959]
add ecx, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x18]
mov ebp, edx
rol ebp, 0x1e
mov edi, edx
rol edi, 0x13
xor ebp, edi
mov edi, edx
rol edi, 0xa
xor ebp, edi
mov ebx, dword [esp + 0x20]
mov edi, ebx
and ebx, edx
xor edi, edx
and edi, dword [esp + 0x2c]
mov edx, dword [eax + 0x3c]
xor edi, ebx
add ebp, dword [esp + 0x10]
mov dword [esp + 0x90], edx
add edi, ebp
mov ebp, dword [esp + 0x1c]
mov edx, ecx
rol edx, 0x1a
mov ebx, ecx
rol ebx, 0x15
xor edx, ebx
mov ebx, ecx
rol ebx, 7
xor edx, ebx
and ebp, ecx
mov ebx, ecx
not ebx
and ebx, esi
xor ebx, ebp
add edx, dword [esp + 0x90]
add ebx, edx
mov edx, dword [esp + 0x34]
lea edx, [ebx + edx - 0x3e640e8c]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x20]
add ebx, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], ebx
mov ebx, edi
rol ebx, 0x1e
mov edx, edi
rol edx, 0x13
xor ebx, edx
mov edx, edi
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x18]
xor edx, edi
and edx, ebp
mov ebp, dword [esp + 0x18]
and ebp, edi
xor edx, ebp
add ebx, dword [esp + 0x10]
add edx, ebx
add eax, 0x40
jmp 0x300cb1b9
movzx ebp, byte [eax]
shl ebp, 0x18
movzx edx, byte [eax + 1]
shl edx, 0x10
or ebp, edx
xor edx, edx
inc eax
mov dh, byte [eax + 1]
inc eax
or ebp, edx
movzx edx, byte [eax + 1]
or ebp, edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x54], ebp
inc eax
mov edx, edi
rol edx, 0x1a
mov ebp, edi
rol ebp, 0x15
xor edx, ebp
mov ebp, edi
rol ebp, 7
xor edx, ebp
mov ebp, edi
not ebp
and ebp, ebx
mov ebx, dword [esp + 0x3c]
and ebx, edi
xor ebp, ebx
add edx, dword [esp + 0x10]
add ebp, edx
mov edx, dword [esp + 0x28]
lea edx, [edx + ebp + 0x428a2f98]
mov ebp, dword [esp + 0x20]
add ebp, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], ebp
mov ebx, esi
and ebx, ecx
mov dword [esp + 0x38], ebx
mov edx, esi
xor edx, ecx
mov ebx, ecx
rol ebx, 0x1e
mov ebp, ecx
rol ebp, 0x13
xor ebx, ebp
mov dword [esp + 0x44], edx
mov ebp, ecx
rol ebp, 0xa
xor ebx, ebp
and edx, dword [esp + 0x18]
xor edx, dword [esp + 0x38]
add ebx, dword [esp + 0x10]
movzx ebp, byte [eax + 1]
add edx, ebx
inc eax
shl ebp, 0x18
mov dword [esp + 0x14], edx
movzx edx, byte [eax + 1]
inc eax
shl edx, 0x10
or ebp, edx
xor edx, edx
mov dh, byte [eax + 1]
inc eax
or ebp, edx
movzx edx, byte [eax + 1]
inc eax
or ebp, edx
mov edx, dword [esp + 0x20]
mov ebx, edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x58], ebp
inc eax
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
and edi, edx
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, edx
mov edx, dword [esp + 0x40]
not ebp
and ebp, dword [esp + 0x3c]
xor ebp, edi
add ebx, dword [esp + 0x10]
add ebp, ebx
lea edx, [edx + ebp + 0x71374491]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
add edi, edx
mov dword [esp + 0x10], edx
mov ebp, ebx
rol ebp, 0x1e
mov edx, ebx
rol edx, 0x13
xor ebp, edx
mov edx, ebx
rol edx, 0xa
xor ebp, edx
mov edx, dword [esp + 0x44]
and edx, ebx
xor edx, dword [esp + 0x38]
add ebp, dword [esp + 0x10]
add edx, ebp
movzx ebp, byte [eax]
shl ebp, 0x18
mov dword [esp + 0x1c], edx
movzx edx, byte [eax + 1]
shl edx, 0x10
or ebp, edx
xor edx, edx
inc eax
mov dh, byte [eax + 1]
inc eax
mov ebx, edi
mov dword [esp + 0x18], edi
or ebp, edx
movzx edx, byte [eax + 1]
or ebp, edx
inc eax
mov edx, edi
rol edx, 0x1a
rol ebx, 0x15
xor edx, ebx
mov dword [esp + 0x10], ebp
mov ebx, edi
rol ebx, 7
xor edx, ebx
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x34]
mov ebx, edi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, edi
xor ebx, ebp
add edx, dword [esp + 0x10]
add ebx, edx
mov edx, dword [esp + 0x3c]
lea edx, [ebx + edx - 0x4a3f0431]
add esi, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x1c]
mov ebx, edx
rol ebx, 0x1e
mov ebp, edx
rol ebp, 0x13
inc eax
mov dword [esp + 0x30], esi
xor ebx, ebp
mov ebp, edx
rol ebp, 0xa
xor ebx, ebp
mov ebp, edx
and edx, ecx
xor ebp, ecx
and ebp, dword [esp + 0x14]
and edi, esi
xor ebp, edx
add ebx, dword [esp + 0x10]
movzx edx, byte [eax]
add ebp, ebx
movzx ebx, byte [eax + 1]
shl edx, 0x18
shl ebx, 0x10
or edx, ebx
xor ebx, ebx
inc eax
mov bh, byte [eax + 1]
inc eax
mov dword [esp + 0x24], ebp
or edx, ebx
movzx ebx, byte [eax + 1]
or edx, ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x60], edx
inc eax
mov edx, esi
rol edx, 0x1a
mov ebx, esi
rol ebx, 0x15
xor edx, ebx
mov ebx, esi
rol ebx, 7
xor edx, ebx
mov ebx, esi
not ebx
and ebx, dword [esp + 0x20]
inc eax
xor ebx, edi
add edx, dword [esp + 0x10]
add ebx, edx
mov edx, dword [esp + 0x34]
lea edx, [ebx + edx - 0x164a245b]
mov ebx, dword [esp + 0x14]
add ecx, edx
mov dword [esp + 0x10], edx
mov edx, ebp
rol edx, 0x1e
mov edi, ebp
rol edi, 0x13
xor edx, edi
mov edi, ebp
rol edi, 0xa
xor edx, edi
mov edi, dword [esp + 0x1c]
xor edi, ebp
and edi, ebx
mov ebx, dword [esp + 0x1c]
and ebx, ebp
movzx ebp, byte [eax]
xor edi, ebx
add edx, dword [esp + 0x10]
add edi, edx
movzx edx, byte [eax + 1]
shl ebp, 0x18
inc eax
shl edx, 0x10
or ebp, edx
xor edx, edx
mov dh, byte [eax + 1]
inc eax
or ebp, edx
movzx edx, byte [eax + 1]
inc eax
or ebp, edx
mov dword [esp + 0x10], ebp
inc eax
mov edx, ecx
rol edx, 0x1a
mov ebx, ecx
rol ebx, 0x15
xor edx, ebx
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x18]
mov ebx, ecx
rol ebx, 7
xor edx, ebx
mov ebx, ecx
not ebx
and ebx, ebp
mov ebp, esi
and ebp, ecx
xor ebx, ebp
add edx, dword [esp + 0x10]
add ebx, edx
mov edx, dword [esp + 0x20]
lea edx, [ebx + edx + 0x3956c25b]
mov ebp, dword [esp + 0x14]
add ebp, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x24]
mov edx, edi
rol edx, 0x1e
mov ebx, edi
rol ebx, 0x13
xor edx, ebx
xor ebp, edi
mov ebx, edi
rol ebx, 0xa
xor edx, ebx
and ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
and ebx, edi
xor ebp, ebx
add edx, dword [esp + 0x10]
movzx ebx, byte [eax + 1]
add ebp, edx
movzx edx, byte [eax]
shl edx, 0x18
shl ebx, 0x10
or edx, ebx
inc eax
xor ebx, ebx
mov bh, byte [eax + 1]
inc eax
mov dword [esp + 0x20], ebp
or edx, ebx
movzx ebx, byte [eax + 1]
or edx, ebx
mov dword [esp + 0x10], edx
inc eax
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x14]
mov ebx, edx
rol ebx, 0x1a
rol edx, 0x15
xor ebx, edx
mov edx, dword [esp + 0x14]
rol edx, 7
xor ebx, edx
mov edx, dword [esp + 0x14]
not edx
and edx, esi
mov esi, dword [esp + 0x14]
and esi, ecx
xor edx, esi
add ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
inc eax
add edx, ebx
lea edx, [edx + esi + 0x59f111f1]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
add esi, edx
mov ebx, ebp
rol ebx, 0x1e
mov edx, ebp
rol edx, 0x13
xor ebx, edx
mov edx, ebp
rol edx, 0xa
xor ebx, edx
mov edx, edi
xor edx, ebp
and edx, dword [esp + 0x24]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], edx
mov edx, edi
and edx, ebp
mov ebp, edx
mov edx, dword [esp + 0x28]
xor edx, ebp
add ebx, dword [esp + 0x10]
movzx ebp, byte [eax]
add edx, ebx
shl ebp, 0x18
mov dword [esp + 0x18], edx
movzx edx, byte [eax + 1]
shl edx, 0x10
or ebp, edx
xor edx, edx
inc eax
mov dh, byte [eax + 1]
inc eax
mov ebx, esi
or ebp, edx
movzx edx, byte [eax + 1]
or ebp, edx
inc eax
mov edx, esi
rol edx, 0x1a
rol ebx, 0x15
xor edx, ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x14]
and ebp, esi
mov ebx, esi
rol ebx, 7
xor edx, ebx
mov ebx, esi
not ebx
and ebx, ecx
xor ebx, ebp
add edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x24]
add ebx, edx
mov edx, dword [esp + 0x30]
lea edx, [ebx + edx - 0x6dc07d5c]
add ebp, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x24], ebp
mov ebp, edx
rol ebp, 0x1e
mov ebx, edx
rol ebx, 0x13
xor ebp, ebx
mov ebx, edx
rol ebx, 0xa
xor ebp, ebx
mov ebx, dword [esp + 0x20]
xor ebx, edx
and ebx, edi
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x20]
and ebx, edx
mov edx, dword [esp + 0x28]
inc eax
xor edx, ebx
add ebp, dword [esp + 0x10]
add edx, ebp
movzx ebp, byte [eax]
shl ebp, 0x18
mov dword [esp + 0x30], edx
movzx edx, byte [eax + 1]
shl edx, 0x10
or ebp, edx
xor edx, edx
inc eax
mov dh, byte [eax + 1]
inc eax
or ebp, edx
movzx edx, byte [eax + 1]
or ebp, edx
mov edx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], ebp
and esi, edx
mov dword [esp + 0x70], ebp
mov ebx, edx
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, edx
not ebp
and ebp, dword [esp + 0x14]
inc eax
xor ebp, esi
add ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
add ebp, ebx
lea ecx, [ecx + ebp - 0x54e3a12b]
add edi, ecx
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x30]
mov ebx, ecx
mov edx, ecx
rol ebx, 0x1e
rol edx, 0x13
xor ebx, edx
mov edx, ecx
rol edx, 0xa
xor ebx, edx
mov edx, esi
and esi, ecx
xor edx, ecx
movzx ecx, byte [eax + 1]
and edx, ebp
xor edx, esi
add ebx, dword [esp + 0x10]
movzx esi, byte [eax]
shl esi, 0x18
add edx, ebx
inc eax
shl ecx, 0x10
or esi, ecx
xor ecx, ecx
mov ch, byte [eax + 1]
inc eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edx
or esi, ecx
movzx ecx, byte [eax + 1]
inc eax
or esi, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x74], esi
mov ecx, edi
rol ecx, 0x1a
mov esi, edi
rol esi, 0x15
inc eax
xor ecx, esi
mov ebx, dword [esp + 0x1c]
mov esi, edi
rol esi, 7
xor ecx, esi
mov esi, edi
not esi
and esi, ebx
mov ebx, dword [esp + 0x24]
and ebx, edi
xor esi, ebx
add ecx, dword [esp + 0x10]
add esi, ecx
mov ecx, dword [esp + 0x14]
lea ecx, [esi + ecx - 0x27f85568]
add ebp, ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x30]
mov esi, ecx
and ecx, edx
xor esi, edx
mov dword [esp + 0x38], ecx
mov ecx, edx
rol ecx, 0x1e
mov ebx, edx
rol ebx, 0x13
xor ecx, ebx
mov ebx, dword [esp + 0x18]
rol edx, 0xa
xor ecx, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x44], esi
and esi, ebx
add ecx, dword [esp + 0x10]
xor esi, edx
movzx edx, byte [eax + 1]
add esi, ecx
movzx ecx, byte [eax]
shl ecx, 0x18
shl edx, 0x10
or ecx, edx
xor edx, edx
inc eax
mov dh, byte [eax + 1]
inc eax
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x20], ebp
or ecx, edx
movzx edx, byte [eax + 1]
or ecx, edx
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x78], ecx
mov ecx, ebp
rol ecx, 0x1a
mov edx, ebp
rol edx, 0x15
xor ecx, edx
mov edx, ebp
rol edx, 7
xor ecx, edx
mov edx, ebp
not edx
and edx, ebx
mov ebx, edi
and ebx, ebp
xor edx, ebx
add ecx, dword [esp + 0x10]
add edx, ecx
mov ecx, dword [esp + 0x1c]
lea ecx, [edx + ecx + 0x12835b01]
mov edx, dword [esp + 0x18]
add edx, ecx
mov ebx, esi
mov dword [esp + 0x10], ecx
inc eax
mov dword [esp + 0x18], edx
rol ebx, 0x1e
mov ecx, esi
rol ecx, 0x13
xor ebx, ecx
mov ecx, esi
rol ecx, 0xa
xor ebx, ecx
mov ecx, dword [esp + 0x44]
and ecx, esi
xor ecx, dword [esp + 0x38]
mov dword [esp + 0x28], ecx
add ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
add ecx, ebx
movzx ebx, byte [eax + 1]
mov dword [esp + 0x1c], ecx
movzx ecx, byte [eax]
shl ecx, 0x18
shl ebx, 0x10
or ecx, ebx
xor ebx, ebx
inc eax
mov bh, byte [eax + 1]
inc eax
or ecx, ebx
movzx ebx, byte [eax + 1]
or ecx, ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x7c], ecx
inc eax
mov ecx, edx
rol ecx, 0x1a
mov ebx, edx
rol ebx, 0x15
xor ecx, ebx
mov ebx, edx
rol ebx, 7
xor ecx, ebx
mov ebx, edx
not ebx
and ebx, edi
mov edi, ebp
and edi, edx
add ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
xor ebx, edi
add ebx, ecx
mov edi, dword [esp + 0x34]
lea ecx, [ebx + edx + 0x243185be]
mov edx, dword [esp + 0x30]
add edx, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edx
rol ebx, 0x1e
rol ecx, 0x13
xor ebx, ecx
mov ecx, edx
rol ecx, 0xa
xor ebx, ecx
mov ecx, edx
and edx, edi
xor ecx, edi
add ebx, dword [esp + 0x10]
movzx edi, byte [eax + 1]
inc eax
and ecx, esi
xor ecx, edx
movzx edx, byte [eax + 1]
shl edi, 0x18
add ecx, ebx
inc eax
shl edx, 0x10
or edi, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or edi, edx
movzx edx, byte [eax + 1]
or edi, edx
mov edx, dword [esp + 0x30]
mov ebx, edx
inc eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x80], edi
mov edi, edx
rol edi, 0x1a
rol ebx, 0x15
xor edi, ebx
mov ebx, edx
rol ebx, 7
xor edi, ebx
mov ebx, edx
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, edx
mov edx, dword [esp + 0x10]
xor ebx, ebp
add edi, edx
mov edx, dword [esp + 0x2c]
add ebx, edi
mov edi, dword [esp + 0x34]
lea edx, [ebx + edx + 0x550c7dc3]
add edi, edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
mov ebp, ecx
rol ebp, 0x1e
mov edx, ecx
rol edx, 0x13
xor ebp, edx
mov edx, ecx
rol edx, 0xa
xor ebp, edx
mov edx, ebx
xor edx, ecx
and edx, esi
and ebx, ecx
xor edx, ebx
add ebp, dword [esp + 0x10]
add edx, ebp
movzx ebp, byte [eax + 1]
shl ebp, 0x18
inc eax
mov dword [esp + 0x2c], edx
movzx edx, byte [eax + 1]
shl edx, 0x10
or ebp, edx
inc eax
xor edx, edx
mov dh, byte [eax + 1]
inc eax
mov ebx, edi
mov dword [esp + 0x34], edi
or ebp, edx
movzx edx, byte [eax + 1]
or ebp, edx
inc eax
mov edx, edi
rol edx, 0x1a
rol ebx, 0x15
xor edx, ebx
mov ebx, edi
rol ebx, 7
xor edx, ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x84], ebp
mov ebp, dword [esp + 0x18]
mov ebx, edi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x30]
and ebp, edi
xor ebx, ebp
mov ebp, dword [esp + 0x10]
inc eax
add edx, ebp
add ebx, edx
mov edx, dword [esp + 0x20]
lea edx, [ebx + edx + 0x72be5d74]
add esi, edx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x10], edx
mov ebp, ebx
rol ebp, 0x1e
mov edx, ebx
rol edx, 0x13
xor ebp, edx
mov edx, ebx
rol edx, 0xa
xor ebp, edx
mov edx, ecx
xor edx, ebx
and edx, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
mov edx, ecx
and edx, ebx
mov ebx, edx
mov edx, dword [esp + 0x28]
xor edx, ebx
add ebp, dword [esp + 0x10]
add edx, ebp
movzx ebp, byte [eax]
shl ebp, 0x18
mov dword [esp + 0x20], edx
movzx edx, byte [eax + 1]
shl edx, 0x10
or ebp, edx
xor edx, edx
inc eax
mov dh, byte [eax + 1]
inc eax
mov ebx, esi
or ebp, edx
movzx edx, byte [eax + 1]
or ebp, edx
inc eax
mov edx, esi
rol edx, 0x1a
rol ebx, 0x15
xor edx, ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x88], ebp
mov ebp, dword [esp + 0x30]
mov ebx, esi
rol ebx, 7
xor edx, ebx
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, esi
and ebp, edi
xor ebx, ebp
add edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
add ebx, edx
mov edx, dword [esp + 0x18]
lea edx, [ebx + edx - 0x7f214e02]
add ebp, edx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x20]
mov ebp, edx
rol ebp, 0x1e
mov ebx, edx
rol ebx, 0x13
xor ebp, ebx
mov ebx, edx
rol ebx, 0xa
xor ebp, ebx
mov ebx, dword [esp + 0x2c]
xor ebx, edx
inc eax
and ebx, ecx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x2c]
and ebx, edx
mov edx, dword [esp + 0x28]
xor edx, ebx
add ebp, dword [esp + 0x10]
add edx, ebp
movzx ebp, byte [eax]
shl ebp, 0x18
mov dword [esp + 0x18], edx
movzx edx, byte [eax + 1]
shl edx, 0x10
or ebp, edx
xor edx, edx
inc eax
mov dh, byte [eax + 1]
inc eax
or ebp, edx
movzx edx, byte [eax + 1]
or ebp, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x8c], ebp
inc eax
mov ebx, edx
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, edx
not ebp
and ebp, edi
mov edi, esi
and edi, edx
mov edx, dword [esp + 0x30]
xor ebp, edi
add ebx, dword [esp + 0x10]
add ebp, ebx
mov ebx, dword [esp + 0x20]
lea edx, [edx + ebp - 0x6423f959]
add ecx, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x18]
mov ebp, edx
rol ebp, 0x1e
mov edi, edx
rol edi, 0x13
xor ebp, edi
mov edi, edx
rol edi, 0xa
xor ebp, edi
mov edi, ebx
xor edi, edx
and edi, dword [esp + 0x2c]
and ebx, edx
xor edi, ebx
add ebp, dword [esp + 0x10]
add edi, ebp
movzx ebp, byte [eax + 1]
inc eax
movzx edx, byte [eax + 1]
shl ebp, 0x18
inc eax
shl edx, 0x10
or ebp, edx
xor edx, edx
mov dh, byte [eax + 1]
inc eax
or ebp, edx
movzx edx, byte [eax + 1]
inc eax
or ebp, edx
mov dword [esp + 0x10], ebp
inc eax
mov dword [esp + 0x90], ebp
mov edx, ecx
mov ebp, dword [esp + 0x1c]
rol edx, 0x1a
mov ebx, ecx
rol ebx, 0x15
xor edx, ebx
mov ebx, ecx
rol ebx, 7
xor edx, ebx
and ebp, ecx
mov ebx, ecx
not ebx
and ebx, esi
xor ebx, ebp
add edx, dword [esp + 0x10]
add ebx, edx
mov edx, dword [esp + 0x34]
lea edx, [ebx + edx - 0x3e640e8c]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x20]
add ebx, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], ebx
mov ebx, edi
rol ebx, 0x1e
mov edx, edi
rol edx, 0x13
xor ebx, edx
mov edx, edi
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x18]
xor edx, edi
and edx, ebp
mov ebp, dword [esp + 0x18]
and ebp, edi
xor edx, ebp
add ebx, dword [esp + 0x10]
add edx, ebx
mov dword [esp + 0x34], edx
mov edx, 0x11
mov dword [esp + 0x24], edx
mov dword [esp + 0x3c], 0x3029b31c
mov edi, edi
mov ebx, edx
and ebx, 0xf
lea ebx, [esp + ebx*4 + 0x54]
mov dword [esp + 0x40], ebx
mov ebx, dword [ebx]
mov dword [esp + 0x14], ebx
lea ebx, [edx - 3]
and ebx, 0xf
lea ebx, [esp + ebx*4 + 0x54]
mov dword [esp + 0x48], ebx
mov ebx, dword [ebx]
mov ebp, ebx
dec edx
and edx, 0xf
lea edx, [esp + edx*4 + 0x54]
rol ebp, 0xf
mov dword [esp + 0x50], edx
mov edx, ebx
shr ebx, 0xa
rol edx, 0xd
xor ebp, edx
xor ebp, ebx
mov edx, dword [esp + 0x14]
mov ebx, edx
rol ebx, 0x19
rol edx, 0xe
xor ebx, edx
mov edx, dword [esp + 0x14]
shr edx, 3
xor ebx, edx
mov edx, dword [esp + 0x24]
add ebp, ebx
add edx, 0xfffffff8
and edx, 0xf
mov ebx, dword [esp + edx*4 + 0x54]
mov edx, dword [esp + 0x50]
add ebp, ebx
add dword [edx], ebp
mov edx, dword [esp + 0x2c]
mov ebx, edx
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x28], ebx
mov ebx, edx
not ebx
and ebx, ebp
mov ebp, ecx
and ebp, edx
mov edx, dword [esp + 0x28]
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx - 4]
mov ebx, dword [esp + 0x50]
add edx, ebp
add edx, dword [ebx]
add edx, esi
add dword [esp + 0x20], edx
mov esi, dword [esp + 0x34]
mov ebx, edi
xor ebx, esi
mov dword [esp + 0x44], ebx
mov ebx, edi
and ebx, esi
mov dword [esp + 0x38], ebx
mov ebx, esi
rol ebx, 0x1e
mov ebp, esi
rol ebp, 0x13
xor ebx, ebp
mov ebp, dword [esp + 0x18]
rol esi, 0xa
xor ebx, esi
add ebx, edx
mov esi, dword [esp + 0x44]
and esi, ebp
xor esi, dword [esp + 0x38]
add esi, ebx
mov ebx, dword [esp + 0x24]
lea edx, [ebx + 1]
and edx, 0xf
lea edx, [esp + edx*4 + 0x54]
mov dword [esp + 0x28], edx
mov edx, dword [edx]
mov dword [esp + 0x14], edx
lea edx, [ebx - 2]
and edx, 0xf
lea edx, [esp + edx*4 + 0x54]
mov dword [esp + 0x4c], edx
mov edx, dword [edx]
mov ebx, edx
rol ebx, 0xf
mov ebp, edx
rol ebp, 0xd
xor ebx, ebp
shr edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x14]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x14]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x24]
add ebx, ebp
add edx, 0xfffffff9
and edx, 0xf
mov ebp, dword [esp + edx*4 + 0x54]
mov edx, dword [esp + 0x40]
add ebx, ebp
add dword [edx], ebx
mov edx, dword [esp + 0x20]
mov ebx, edx
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x30], ebx
and ebp, edx
mov ebx, edx
mov edx, dword [esp + 0x30]
not ebx
and ebx, ecx
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx]
mov ebx, dword [esp + 0x40]
add edx, ebp
mov ebp, dword [ebx]
mov ebx, dword [esp + 0x18]
add edx, ebp
add edx, dword [esp + 0x1c]
add ebx, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], edx
mov ebx, esi
rol ebx, 0x1e
mov edx, esi
rol edx, 0x13
xor ebx, edx
mov ebp, dword [esp + 0x38]
mov edx, esi
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x44]
and edx, esi
xor edx, ebp
add ebx, dword [esp + 0x10]
add edx, ebx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x24]
add edx, 2
and edx, 0xf
lea edx, [esp + edx*4 + 0x54]
mov dword [esp + 0x44], edx
mov edx, dword [edx]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x50]
mov edx, dword [edx]
mov ebx, edx
rol ebx, 0xf
mov ebp, edx
rol ebp, 0xd
xor ebx, ebp
shr edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x14]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x14]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x24]
add ebx, ebp
add edx, 0xfffffffa
and edx, 0xf
mov ebp, dword [esp + edx*4 + 0x54]
mov edx, dword [esp + 0x28]
add ebx, ebp
add dword [edx], ebx
mov edx, dword [esp + 0x18]
mov ebx, edx
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x38], ebx
mov ebx, edx
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, edx
mov edx, dword [esp + 0x38]
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + 4]
mov ebx, dword [esp + 0x28]
add edx, ebp
add edx, dword [ebx]
add edx, ecx
mov ecx, dword [esp + 0x1c]
add edi, edx
mov dword [esp + 0x10], edx
mov ebx, ecx
rol ebx, 0x1e
mov edx, ecx
rol edx, 0x13
xor ebx, edx
mov dword [esp + 0x30], edi
mov edx, ecx
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x34]
mov ebp, ecx
xor ebp, edx
and ecx, edx
add ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
add edx, 3
and edx, 0xf
lea edx, [esp + edx*4 + 0x54]
mov dword [esp + 0x38], edx
mov edx, dword [edx]
and ebp, esi
xor ebp, ecx
add ebp, ebx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x40]
mov edx, dword [edx]
mov ebx, edx
rol ebx, 0xf
mov ecx, ebp
mov ebp, edx
shr edx, 0xa
rol ebp, 0xd
xor ebx, ebp
xor ebx, edx
mov edx, dword [esp + 0x14]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x14]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x24]
add ebx, ebp
add edx, 0xfffffffb
and edx, 0xf
mov ebp, dword [esp + edx*4 + 0x54]
mov edx, dword [esp + 0x44]
add ebx, ebp
mov ebp, dword [edx]
add ebp, ebx
mov dword [edx], ebp
mov edx, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x40], edx
mov edx, edi
rol edx, 0x1a
mov ebx, edi
rol ebx, 0x15
xor edx, ebx
mov ebx, edi
rol ebx, 7
xor edx, ebx
mov ebx, edi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x18]
and ebp, edi
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + 8]
mov ebx, dword [esp + 0x40]
add edx, ebp
mov ebp, dword [esp + 0x2c]
add edx, ebx
mov ebx, dword [esp + 0x34]
add edx, ebp
add ebx, edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x10], edx
mov ebx, ecx
rol ebx, 0x1e
mov edx, ecx
rol edx, 0x13
xor ebx, edx
mov edx, ecx
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x1c]
mov ebp, edx
and edx, ecx
xor ebp, ecx
and ebp, esi
xor ebp, edx
add ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
add edx, 4
and edx, 0xf
add ebp, ebx
lea edx, [esp + edx*4 + 0x54]
mov dword [esp + 0x40], edx
mov edx, dword [edx]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x28]
mov edx, dword [edx]
mov ebx, edx
rol ebx, 0xf
mov dword [esp + 0x2c], ebp
mov ebp, edx
shr edx, 0xa
rol ebp, 0xd
xor ebx, ebp
xor ebx, edx
mov edx, dword [esp + 0x14]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x14]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x24]
add ebx, ebp
add edx, 0xfffffffc
and edx, 0xf
mov ebp, dword [esp + edx*4 + 0x54]
mov edx, dword [esp + 0x38]
add ebx, ebp
mov ebp, dword [edx]
add ebp, ebx
mov ebx, dword [esp + 0x34]
mov dword [edx], ebp
mov edx, ebp
mov dword [esp + 0x28], edx
mov edx, ebx
rol edx, 0x1a
mov ebp, ebx
rol ebp, 0x15
xor edx, ebp
mov ebp, ebx
rol ebp, 7
xor edx, ebp
mov ebp, dword [esp + 0x18]
not ebx
and ebx, ebp
and edi, dword [esp + 0x34]
xor ebx, edi
mov edi, dword [esp + 0x3c]
mov ebp, dword [edi + 0xc]
mov edi, dword [esp + 0x20]
add edx, ebx
mov ebx, dword [esp + 0x28]
add edx, ebp
add edx, ebx
add edx, edi
mov edi, dword [esp + 0x2c]
add esi, edx
mov dword [esp + 0x10], edx
mov edx, edi
rol edx, 0x1e
mov ebx, edi
rol ebx, 0x13
xor edx, ebx
mov ebx, edi
rol ebx, 0xa
xor edx, ebx
mov ebp, dword [esp + 0x1c]
mov ebx, ecx
xor ebx, edi
and ebx, ebp
mov ebp, ecx
and ebp, edi
xor ebx, ebp
add edx, dword [esp + 0x10]
add ebx, edx
mov edx, dword [esp + 0x24]
add edx, 5
and edx, 0xf
lea edx, [esp + edx*4 + 0x54]
mov dword [esp + 0x28], edx
mov edx, dword [edx]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x44]
mov edx, dword [edx]
mov dword [esp + 0x20], ebx
mov ebx, edx
rol ebx, 0xf
mov ebp, edx
rol ebp, 0xd
xor ebx, ebp
shr edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x14]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x14]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x48]
add ebx, ebp
mov ebp, dword [edx]
mov edx, dword [esp + 0x40]
add ebx, ebp
mov ebp, dword [edx]
add ebp, ebx
mov dword [edx], ebp
mov edx, ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x48], edx
mov edx, esi
rol edx, 0x1a
mov ebx, esi
rol ebx, 0x15
xor edx, ebx
mov ebx, esi
rol ebx, 7
xor edx, ebx
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, esi
and ebp, dword [esp + 0x34]
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + 0x10]
mov ebx, dword [esp + 0x48]
add edx, ebp
mov ebp, dword [esp + 0x18]
add edx, ebx
mov ebx, dword [esp + 0x1c]
add edx, ebp
add ebx, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x20]
mov edx, ebx
rol edx, 0x1e
mov ebp, ebx
rol ebp, 0x13
xor edx, ebp
mov ebp, ebx
rol ebp, 0xa
xor edx, ebp
mov ebp, edi
xor ebp, ebx
and ebp, ecx
and edi, ebx
xor ebp, edi
add edx, dword [esp + 0x10]
add ebp, edx
mov edx, dword [esp + 0x24]
add edx, 6
and edx, 0xf
lea edx, [esp + edx*4 + 0x54]
mov dword [esp + 0x48], edx
mov edx, dword [edx]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x38]
mov edx, dword [edx]
mov edi, edx
rol edi, 0xf
mov ebp, edx
rol ebp, 0xd
xor edi, ebp
shr edx, 0xa
xor edi, edx
mov edx, dword [esp + 0x14]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x14]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x4c]
add edi, ebp
mov ebp, dword [edx]
mov edx, dword [esp + 0x28]
add edi, ebp
mov ebp, dword [edx]
add ebp, edi
mov edi, dword [esp + 0x1c]
mov dword [edx], ebp
mov edx, ebp
mov dword [esp + 0x4c], edx
mov edx, edi
rol edx, 0x1a
mov ebp, edi
rol ebp, 0x15
xor edx, ebp
mov ebp, edi
rol ebp, 7
xor edx, ebp
mov ebp, dword [esp + 0x34]
not edi
and edi, ebp
mov ebp, esi
and ebp, dword [esp + 0x1c]
xor edi, ebp
add edx, edi
mov edi, dword [esp + 0x3c]
mov ebp, dword [edi + 0x14]
mov edi, dword [esp + 0x4c]
add edx, ebp
mov ebp, dword [esp + 0x30]
add edx, edi
add edx, ebp
add ecx, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x18]
mov edi, edx
rol edi, 0x1e
mov ebp, edx
rol ebp, 0x13
xor edi, ebp
mov ebp, edx
rol ebp, 0xa
xor edi, ebp
mov ebp, ebx
xor ebp, edx
and ebp, dword [esp + 0x2c]
and ebx, edx
xor ebp, ebx
mov edx, dword [esp + 0x24]
add edx, 7
and edx, 0xf
mov edx, dword [esp + edx*4 + 0x54]
add edi, dword [esp + 0x10]
add edi, ebp
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x40]
mov edx, dword [edx]
mov ebx, edx
rol ebx, 0xf
mov ebp, edx
shr edx, 0xa
rol ebp, 0xd
xor ebx, ebp
xor ebx, edx
mov edx, dword [esp + 0x14]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x14]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x50]
add ebx, ebp
mov ebp, dword [edx]
mov edx, dword [esp + 0x48]
add ebx, ebp
mov ebp, dword [edx]
add ebp, ebx
mov dword [edx], ebp
mov edx, ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x4c], edx
mov edx, ecx
rol edx, 0x1a
mov ebx, ecx
rol ebx, 0x15
xor edx, ebx
and ebp, ecx
mov ebx, ecx
rol ebx, 7
xor edx, ebx
mov ebx, ecx
not ebx
and ebx, esi
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + 0x18]
mov ebx, dword [esp + 0x4c]
add edx, ebp
mov ebp, dword [esp + 0x34]
add edx, ebx
mov ebx, dword [esp + 0x2c]
add edx, ebp
add ebx, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], ebx
mov ebx, edi
rol ebx, 0x1e
mov edx, edi
rol edx, 0x13
xor ebx, edx
mov edx, edi
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x18]
mov ebp, edx
xor ebp, edi
and ebp, dword [esp + 0x20]
and edx, edi
xor ebp, edx
add ebx, dword [esp + 0x10]
add ebx, ebp
mov dword [esp + 0x34], ebx
mov ebp, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
add ebp, 0x20
add edx, 8
mov dword [esp + 0x3c], ebp
lea ebp, [edx - 1]
cmp ebp, 0x40
mov dword [esp + 0x24], edx
jl 0x300cb1d0
mov edx, dword [esp + 0x9c]
mov ebp, dword [edx]
add ebp, ebx
mov ebx, dword [edx + 4]
add ebx, edi
mov edi, dword [edx + 8]
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x18]
add edi, ebx
mov ebx, dword [esp + 0x20]
mov dword [edx + 8], edi
mov edi, dword [edx + 0xc]
add edi, ebx
mov ebx, dword [esp + 0x2c]
mov dword [edx + 0xc], edi
mov edi, dword [edx + 0x10]
add edi, ebx
mov dword [edx + 0x10], edi
mov edi, dword [edx + 0x14]
add edi, ecx
mov ecx, dword [edx + 0x18]
mov dword [edx + 0x14], edi
mov edi, dword [esp + 0x1c]
add ecx, edi
mov dword [edx + 0x18], ecx
mov ecx, dword [edx + 0x1c]
add ecx, esi
mov dword [edx + 0x1c], ecx
mov ecx, dword [esp + 0x94]
dec ecx
mov dword [edx], ebp
mov dword [esp + 0x94], ecx
jne 0x300ca050
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret