Function at 0x409c90
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x130
mov eax, dword [esp + 0x134]
mov ecx, dword [eax + 0x284]
mov edx, dword [eax + 0x288]
push ebx
mov ebx, dword [esp + 0x13c]
push ebp
mov ebp, dword [eax + 0x298]
push esi
mov esi, dword [eax + 0x28c]
push edi
mov edi, dword [eax + 0x280]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x294]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 0x290]
mov eax, dword [eax + 0x29c]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x42]
sub eax, ebx
mov dword [esp + 0x34], eax
lea eax, [esp + 0x46]
sub eax, ebx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x4a]
sub eax, ebx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x10], 0
lea ebp, [ebx + 2]
mov dword [esp + 0x3c], eax
lea esp, [esp]
xor eax, eax
mov ah, byte [ebp - 2]
movzx ebx, byte [ebp]
add ebp, 0x10
mov al, byte [ebp - 0x11]
shl eax, 8
or eax, ebx
movzx ebx, byte [ebp - 0xf]
shl eax, 8
or eax, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + ebx*4 + 0x40], eax
xor eax, eax
mov ah, byte [ebp - 0xe]
movzx ebx, byte [ebp - 0xc]
mov al, byte [ebp - 0xd]
shl eax, 8
or eax, ebx
movzx ebx, byte [ebp - 0xb]
shl eax, 8
or eax, ebx
mov ebx, dword [esp + 0x34]
mov dword [ebx + ebp - 0x10], eax
movzx ebx, byte [ebp - 8]
xor eax, eax
mov ah, byte [ebp - 0xa]
mov al, byte [ebp - 9]
shl eax, 8
or eax, ebx
movzx ebx, byte [ebp - 7]
shl eax, 8
or eax, ebx
mov ebx, dword [esp + 0x38]
mov dword [ebx + ebp - 0x10], eax
movzx ebx, byte [ebp - 4]
xor eax, eax
mov ah, byte [ebp - 6]
mov al, byte [ebp - 5]
shl eax, 8
or eax, ebx
movzx ebx, byte [ebp - 3]
shl eax, 8
or eax, ebx
mov ebx, dword [esp + 0x3c]
mov dword [ebx + ebp - 0x10], eax
mov eax, dword [esp + 0x10]
add eax, 4
cmp eax, 0x10
mov dword [esp + 0x10], eax
jl 0x409d20
lea ebx, [esp + 0x78]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x34], 0xc
nop
mov eax, dword [ebx - 0x34]
mov ebx, dword [ebx]
mov dword [esp + 0x3c], ebx
mov ebx, eax
ror ebx, 0x12
mov ebp, eax
shr eax, 3
ror ebp, 7
xor ebx, ebp
xor ebx, eax
mov eax, dword [esp + 0x3c]
mov ebp, eax
ror ebp, 0x13
ror eax, 0x11
xor ebp, eax
mov eax, dword [esp + 0x3c]
shr eax, 0xa
xor ebp, eax
add ebx, ebp
mov eax, dword [esp + 0x10]
add ebx, dword [eax - 0x38]
mov ebp, dword [eax - 0x14]
add ebx, ebp
mov dword [eax + 8], ebx
mov dword [esp + 0x38], ebx
mov ebx, dword [eax - 0x30]
mov eax, dword [eax + 4]
mov ebp, ebx
mov dword [esp + 0x3c], eax
ror ebp, 0x12
mov eax, ebx
ror eax, 7
xor ebp, eax
mov eax, dword [esp + 0x3c]
shr ebx, 3
xor ebp, ebx
mov ebx, eax
ror ebx, 0x13
ror eax, 0x11
xor ebx, eax
mov eax, dword [esp + 0x3c]
shr eax, 0xa
xor ebx, eax
mov eax, dword [esp + 0x10]
add ebp, ebx
add ebp, dword [eax - 0x10]
mov ebx, dword [eax - 0x34]
add ebx, ebp
mov dword [eax + 0xc], ebx
mov eax, dword [eax - 0x2c]
mov dword [esp + 0x3c], ebx
mov ebx, eax
ror ebx, 0x12
mov ebp, eax
ror ebp, 7
xor ebx, ebp
shr eax, 3
xor ebx, eax
mov eax, dword [esp + 0x38]
mov ebp, eax
ror ebp, 0x13
ror eax, 0x11
xor ebp, eax
mov eax, dword [esp + 0x38]
shr eax, 0xa
xor ebp, eax
mov eax, dword [esp + 0x10]
add ebx, ebp
add ebx, dword [eax - 0xc]
add ebx, dword [eax - 0x30]
mov dword [eax + 0x10], ebx
mov eax, dword [eax - 0x28]
mov ebx, eax
mov ebp, eax
ror ebx, 0x12
ror ebp, 7
xor ebx, ebp
shr eax, 3
xor ebx, eax
mov eax, dword [esp + 0x3c]
mov ebp, eax
ror ebp, 0x13
ror eax, 0x11
xor ebp, eax
mov eax, dword [esp + 0x3c]
shr eax, 0xa
xor ebp, eax
mov eax, dword [esp + 0x10]
add ebx, ebp
add ebx, dword [eax - 8]
add ebx, dword [eax - 0x2c]
sub dword [esp + 0x34], 1
mov dword [eax + 0x14], ebx
lea ebx, [eax + 0x10]
mov dword [esp + 0x10], ebx
jne 0x409dd0
mov ebx, edx
ror ebx, 0x19
mov ebp, ecx
mov eax, edx
ror eax, 0xb
xor ebx, eax
mov eax, edx
ror eax, 6
xor ebx, eax
add ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
xor ebp, eax
and ebp, edx
xor ebp, eax
add ebp, ebx
mov eax, dword [esp + 0x30]
lea eax, [eax + ebp + 0x428a2f98]
add esi, eax
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x10], eax
and ebp, edi
mov ebx, edi
ror ebx, 0x16
mov eax, edi
ror eax, 0xd
xor ebx, eax
mov eax, edi
ror eax, 2
xor ebx, eax
add ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
or eax, edi
and eax, dword [esp + 0x1c]
mov dword [esp + 0x20], esi
or eax, ebp
add eax, ebx
mov ebx, esi
ror ebx, 0x19
mov ebp, esi
ror ebp, 0xb
xor ebx, ebp
mov ebp, esi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x44]
mov ebp, ecx
xor ebp, edx
and ebp, esi
xor ebp, ecx
mov ecx, dword [esp + 0x2c]
add ebp, ebx
lea ecx, [ecx + ebp + 0x71374491]
add dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ecx
mov ebx, eax
ror ebx, 0x16
mov ecx, eax
ror ecx, 0xd
xor ebx, ecx
mov ecx, eax
ror ecx, 2
xor ebx, ecx
add ebx, dword [esp + 0x10]
mov ecx, edi
or ecx, eax
and ecx, dword [esp + 0x18]
mov ebp, edi
and ebp, eax
or ecx, ebp
add ecx, ebx
mov ebx, dword [esp + 0x1c]
mov ebp, ebx
ror ebp, 0x19
ror ebx, 0xb
xor ebp, ebx
mov ebx, dword [esp + 0x1c]
ror ebx, 6
xor ebp, ebx
mov ebx, esi
xor ebx, edx
and ebx, dword [esp + 0x1c]
xor ebx, dword [esp + 0x24]
add ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
add ebx, ebp
lea edx, [ebx + edx - 0x4a3f0431]
add dword [esp + 0x18], edx
xor esi, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
and esi, dword [esp + 0x18]
mov ebx, ecx
ror ebx, 0x16
xor esi, dword [esp + 0x20]
mov edx, ecx
ror edx, 0xd
xor ebx, edx
mov edx, ecx
ror edx, 2
xor ebx, edx
add ebx, dword [esp + 0x10]
mov edx, ecx
or edx, eax
and edx, edi
mov ebp, ecx
and ebp, eax
or edx, ebp
add edx, ebx
mov ebx, dword [esp + 0x18]
mov ebp, ebx
ror ebp, 0x19
ror ebx, 0xb
xor ebp, ebx
mov ebx, dword [esp + 0x18]
ror ebx, 6
xor ebp, ebx
add ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x24]
add esi, ebp
lea esi, [esi + ebx - 0x164a245b]
add edi, esi
mov dword [esp + 0x10], esi
mov ebx, edx
ror ebx, 0x16
mov esi, edx
ror esi, 0xd
xor ebx, esi
mov esi, edx
ror esi, 2
xor ebx, esi
add ebx, dword [esp + 0x10]
mov esi, edx
or esi, ecx
and esi, eax
mov ebp, edx
and ebp, ecx
or esi, ebp
add esi, ebx
mov ebx, edi
mov ebp, edi
ror ebx, 0x19
mov dword [esp + 0x14], edi
ror ebp, 0xb
xor ebx, ebp
ror edi, 6
xor ebx, edi
mov edi, dword [esp + 0x1c]
xor edi, dword [esp + 0x18]
add ebx, dword [esp + 0x50]
and edi, dword [esp + 0x14]
xor edi, dword [esp + 0x1c]
add edi, ebx
mov ebx, dword [esp + 0x20]
lea edi, [edi + ebx + 0x3956c25b]
add eax, edi
mov dword [esp + 0x10], edi
mov ebx, esi
ror ebx, 0x16
mov edi, esi
ror edi, 0xd
xor ebx, edi
mov edi, esi
ror edi, 2
xor ebx, edi
add ebx, dword [esp + 0x10]
mov edi, edx
or edi, esi
and edi, ecx
mov ebp, edx
and ebp, esi
or edi, ebp
add edi, ebx
mov dword [esp + 0x20], edi
mov edi, eax
ror edi, 0x19
mov ebx, eax
ror ebx, 0xb
xor edi, ebx
mov ebx, eax
ror ebx, 6
xor edi, ebx
add edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x18]
xor ebx, dword [esp + 0x14]
and ebx, eax
xor ebx, dword [esp + 0x18]
add ebx, edi
mov edi, dword [esp + 0x1c]
lea edi, [ebx + edi + 0x59f111f1]
mov ebx, dword [esp + 0x20]
add ecx, edi
mov dword [esp + 0x10], edi
mov ebp, ebx
ror ebp, 0x16
mov edi, ebx
ror edi, 0xd
xor ebp, edi
mov edi, ebx
ror edi, 2
xor ebp, edi
add ebp, dword [esp + 0x10]
mov edi, ebx
or edi, esi
and ebx, esi
and edi, edx
or edi, ebx
add edi, ebp
mov dword [esp + 0x1c], edi
mov ebx, ecx
ror ebx, 0x19
mov edi, ecx
ror edi, 0xb
xor ebx, edi
mov edi, ecx
ror edi, 6
xor ebx, edi
add ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x14]
mov ebp, edi
xor ebp, eax
and ebp, ecx
xor ebp, edi
mov edi, dword [esp + 0x18]
add ebp, ebx
lea edi, [edi + ebp - 0x6dc07d5c]
add edx, edi
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x1c]
mov ebp, edi
ror ebp, 0x16
mov ebx, edi
ror ebx, 0xd
xor ebp, ebx
mov ebx, edi
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x20]
or ebx, edi
and ebx, esi
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x20]
and ebx, edi
mov edi, dword [esp + 0x34]
or edi, ebx
add ebp, dword [esp + 0x10]
mov ebx, edx
add edi, ebp
ror ebx, 0x19
mov ebp, edx
ror ebp, 0xb
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x5c]
mov ebp, ecx
xor ebp, eax
and ebp, edx
xor ebp, eax
add ebp, ebx
mov ebx, dword [esp + 0x14]
lea ebx, [ebx + ebp - 0x54e3a12b]
add esi, ebx
mov ebp, edi
ror ebp, 0x16
mov dword [esp + 0x10], ebx
mov ebx, edi
ror ebx, 0xd
xor ebp, ebx
mov ebx, edi
ror ebx, 2
xor ebp, ebx
add ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
or ebx, edi
and ebx, dword [esp + 0x20]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x1c]
and edi, dword [esp + 0x18]
or ebx, edi
add ebx, ebp
mov edi, esi
ror edi, 0x19
mov ebp, esi
ror ebp, 0xb
xor edi, ebp
mov ebp, esi
ror ebp, 6
xor edi, ebp
add edi, dword [esp + 0x60]
mov ebp, edx
xor ebp, ecx
and ebp, esi
xor ebp, ecx
add ebp, edi
lea eax, [eax + ebp - 0x27f85568]
add dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
mov ebp, ebx
ror ebp, 0x16
mov eax, ebx
ror eax, 0xd
xor ebp, eax
mov eax, ebx
ror eax, 2
xor ebp, eax
mov eax, dword [esp + 0x18]
add ebp, dword [esp + 0x10]
mov edi, eax
or edi, ebx
and edi, dword [esp + 0x1c]
and eax, ebx
or edi, eax
add edi, ebp
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x20]
mov eax, ebx
ror eax, 0x19
mov ebp, ebx
ror ebp, 0xb
xor eax, ebp
mov ebp, ebx
ror ebp, 6
xor eax, ebp
mov ebp, edx
add eax, dword [esp + 0x64]
xor ebp, esi
and ebp, ebx
xor ebp, edx
add ebp, eax
lea ecx, [ecx + ebp + 0x12835b01]
add dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ecx
mov ebp, dword [esp + 0x14]
and ebp, edi
mov ecx, edi
ror ecx, 0x16
mov eax, edi
ror eax, 0xd
xor ecx, eax
mov eax, edi
ror eax, 2
xor ecx, eax
add ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
or eax, edi
and eax, dword [esp + 0x18]
or eax, ebp
add eax, ecx
mov ecx, dword [esp + 0x1c]
mov ebp, ecx
ror ebp, 0x19
ror ecx, 0xb
xor ebp, ecx
mov ecx, dword [esp + 0x1c]
ror ecx, 6
xor ebp, ecx
add ebp, dword [esp + 0x68]
mov ecx, ebx
xor ecx, esi
and ecx, dword [esp + 0x1c]
xor ebx, dword [esp + 0x1c]
xor ecx, esi
add ecx, ebp
lea edx, [ecx + edx + 0x243185be]
add dword [esp + 0x18], edx
mov dword [esp + 0x10], edx
and ebx, dword [esp + 0x18]
mov edx, eax
ror edx, 0x16
xor ebx, dword [esp + 0x20]
mov ecx, eax
ror ecx, 0xd
xor edx, ecx
mov ecx, eax
ror ecx, 2
xor edx, ecx
add edx, dword [esp + 0x10]
mov ecx, eax
or ecx, edi
and ecx, dword [esp + 0x14]
mov ebp, eax
and ebp, edi
or ecx, ebp
add ecx, edx
mov edx, dword [esp + 0x18]
mov ebp, edx
ror ebp, 0x19
ror edx, 0xb
xor ebp, edx
mov edx, dword [esp + 0x18]
ror edx, 6
xor ebp, edx
add ebp, dword [esp + 0x6c]
mov edx, ecx
add ebx, ebp
lea esi, [ebx + esi + 0x550c7dc3]
mov ebx, dword [esp + 0x14]
add ebx, esi
mov dword [esp + 0x10], esi
mov esi, ecx
ror esi, 0x16
ror edx, 0xd
xor esi, edx
mov dword [esp + 0x14], ebx
mov edx, ecx
ror edx, 2
xor esi, edx
add esi, dword [esp + 0x10]
mov edx, ecx
or edx, eax
and edx, edi
mov ebp, ecx
and ebp, eax
or edx, ebp
add edx, esi
mov esi, ebx
ror esi, 0x19
mov ebp, ebx
ror ebp, 0xb
xor esi, ebp
ror ebx, 6
xor esi, ebx
add esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x1c]
xor ebx, dword [esp + 0x18]
mov ebp, ecx
and ebx, dword [esp + 0x14]
and ebp, edx
xor ebx, dword [esp + 0x1c]
add ebx, esi
mov esi, dword [esp + 0x20]
lea esi, [ebx + esi + 0x72be5d74]
add edi, esi
mov dword [esp + 0x10], esi
mov ebx, edx
ror ebx, 0x16
mov esi, edx
ror esi, 0xd
xor ebx, esi
mov esi, edx
ror esi, 2
xor ebx, esi
add ebx, dword [esp + 0x10]
mov esi, ecx
or esi, edx
and esi, eax
or esi, ebp
add esi, ebx
mov dword [esp + 0x20], esi
mov esi, edi
ror esi, 0x19
mov ebx, edi
ror ebx, 0xb
xor esi, ebx
mov ebx, edi
ror ebx, 6
xor esi, ebx
add esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x18]
xor ebx, dword [esp + 0x14]
and ebx, edi
xor ebx, dword [esp + 0x18]
add ebx, esi
mov esi, dword [esp + 0x1c]
lea esi, [ebx + esi - 0x7f214e02]
mov ebx, dword [esp + 0x20]
add eax, esi
mov dword [esp + 0x10], esi
mov ebp, ebx
ror ebp, 0x16
mov esi, ebx
ror esi, 0xd
xor ebp, esi
mov esi, ebx
ror esi, 2
xor ebp, esi
add ebp, dword [esp + 0x10]
mov esi, ebx
or esi, edx
and esi, ecx
and ebx, edx
or esi, ebx
add esi, ebp
mov ebx, eax
mov dword [esp + 0x1c], esi
ror ebx, 0x19
mov esi, eax
ror esi, 0xb
xor ebx, esi
mov esi, eax
ror esi, 6
xor ebx, esi
add ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x14]
mov ebp, esi
xor ebp, edi
and ebp, eax
xor ebp, esi
add ebp, ebx
mov esi, dword [esp + 0x18]
lea esi, [esi + ebp - 0x6423f959]
add ecx, esi
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x1c]
mov ebp, esi
ror ebp, 0x16
mov ebx, esi
ror ebx, 0xd
xor ebp, ebx
mov ebx, esi
ror ebx, 2
xor ebp, ebx
add ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
or ebx, esi
and ebx, edx
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x20]
and ebx, esi
mov esi, dword [esp + 0x34]
or esi, ebx
add esi, ebp
mov ebx, ecx
ror ebx, 0x19
mov ebp, ecx
ror ebp, 0xb
xor ebx, ebp
mov ebp, ecx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x7c]
mov ebp, eax
xor ebp, edi
and ebp, ecx
xor ebp, edi
add ebp, ebx
mov ebx, dword [esp + 0x14]
lea ebx, [ebx + ebp - 0x3e640e8c]
add edx, ebx
mov dword [esp + 0x10], ebx
mov ebp, esi
ror ebp, 0x16
mov ebx, esi
ror ebx, 0xd
xor ebp, ebx
mov ebx, esi
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x1c]
add ebp, dword [esp + 0x10]
or ebx, esi
and ebx, dword [esp + 0x20]
mov dword [esp + 0x18], esi
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x1c]
and ebx, esi
mov esi, dword [esp + 0x34]
or esi, ebx
add esi, ebp
mov ebx, edx
ror ebx, 0x19
mov ebp, edx
ror ebp, 0xb
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x80]
mov ebp, ecx
xor ebp, eax
and ebp, edx
xor ebp, eax
add ebp, ebx
lea edi, [edi + ebp - 0x1b64963f]
add dword [esp + 0x20], edi
mov dword [esp + 0x10], edi
mov ebp, dword [esp + 0x18]
and ebp, esi
mov ebx, esi
ror ebx, 0x16
mov edi, esi
ror edi, 0xd
xor ebx, edi
mov edi, esi
ror edi, 2
xor ebx, edi
add ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
or edi, esi
and edi, dword [esp + 0x1c]
or edi, ebp
add edi, ebx
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x20]
mov ebx, edi
ror ebx, 0x19
mov ebp, edi
ror ebp, 0xb
xor ebx, ebp
mov ebp, edi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x84]
mov ebp, ecx
xor ebp, edx
and ebp, edi
xor ebp, ecx
add ebp, ebx
lea eax, [eax + ebp - 0x1041b87a]
add dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov ebx, eax
ror ebx, 0x16
mov edi, eax
ror edi, 0xd
xor ebx, edi
mov edi, eax
ror edi, 2
xor ebx, edi
add ebx, dword [esp + 0x10]
mov edi, esi
or edi, eax
and edi, dword [esp + 0x18]
mov ebp, esi
and ebp, eax
mov eax, dword [esp + 0x1c]
or edi, ebp
add edi, ebx
mov ebx, eax
ror ebx, 0x19
mov ebp, eax
ror ebp, 0xb
xor ebx, ebp
mov ebp, eax
ror ebp, 6
xor ebx, ebp
mov ebp, dword [esp + 0x20]
add ebx, dword [esp + 0x88]
xor ebp, edx
and ebp, eax
xor ebp, edx
add ebp, ebx
lea ecx, [ecx + ebp + 0xfc19dc6]
add dword [esp + 0x18], ecx
mov ebx, edi
mov dword [esp + 0x10], ecx
ror ebx, 0x16
mov eax, edi
ror eax, 0xd
xor ebx, eax
mov ecx, edi
ror ecx, 2
xor ebx, ecx
add ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov eax, edi
or eax, ecx
and eax, esi
mov ebp, edi
and ebp, ecx
mov ecx, dword [esp + 0x18]
or eax, ebp
add eax, ebx
mov ebx, ecx
ror ebx, 0x19
mov ebp, ecx
ror ebp, 0xb
xor ebx, ebp
ror ecx, 6
xor ebx, ecx
add ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x20]
xor ecx, dword [esp + 0x1c]
mov ebp, eax
and ecx, dword [esp + 0x18]
and ebp, edi
xor ecx, dword [esp + 0x20]
add ecx, ebx
lea edx, [ecx + edx + 0x240ca1cc]
add esi, edx
mov ebx, eax
ror ebx, 0x16
mov ecx, eax
ror ecx, 0xd
xor ebx, ecx
mov ecx, eax
ror ecx, 2
xor ebx, ecx
add ebx, edx
mov ecx, eax
or ecx, edi
and ecx, dword [esp + 0x30]
mov edx, esi
or ecx, ebp
add ecx, ebx
ror edx, 0x19
mov ebx, esi
ror ebx, 0xb
xor edx, ebx
mov ebx, esi
ror ebx, 6
xor edx, ebx
add edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x1c]
xor ebx, dword [esp + 0x18]
mov ebp, eax
and ebx, esi
xor ebx, dword [esp + 0x1c]
and ebp, ecx
add ebx, edx
mov edx, dword [esp + 0x20]
lea edx, [ebx + edx + 0x2de92c6f]
add dword [esp + 0x30], edx
mov dword [esp + 0x10], edx
mov ebx, ecx
ror ebx, 0x16
mov edx, ecx
ror edx, 0xd
xor ebx, edx
mov edx, ecx
ror edx, 2
xor ebx, edx
add ebx, dword [esp + 0x10]
mov edx, eax
or edx, ecx
and edx, edi
or edx, ebp
add edx, ebx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x30]
mov ebx, edx
ror ebx, 0x19
mov ebp, edx
ror ebp, 0xb
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x18]
xor ebp, esi
and ebp, edx
xor ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add ebp, ebx
mov ebx, dword [esp + 0x20]
lea edx, [edx + ebp + 0x4a7484aa]
add edi, edx
mov dword [esp + 0x10], edx
mov ebp, ebx
mov edx, ebx
ror ebp, 0x16
ror edx, 0xd
xor ebp, edx
mov edx, ebx
ror edx, 2
xor ebp, edx
add ebp, dword [esp + 0x10]
mov edx, ebx
or edx, ecx
and ebx, ecx
and edx, eax
or edx, ebx
add edx, ebp
mov dword [esp + 0x1c], edx
mov edx, edi
ror edx, 0x19
mov ebx, edi
ror ebx, 0xb
xor edx, ebx
mov ebx, edi
ror ebx, 6
xor edx, ebx
add edx, dword [esp + 0x98]
mov ebx, esi
xor ebx, dword [esp + 0x30]
and ebx, edi
xor ebx, esi
add ebx, edx
mov edx, dword [esp + 0x18]
lea edx, [ebx + edx + 0x5cb0a9dc]
add eax, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x1c]
mov ebp, edx
ror ebp, 0x16
mov ebx, edx
ror ebx, 0xd
xor ebp, ebx
mov ebx, edx
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x20]
add ebp, dword [esp + 0x10]
or ebx, edx
and ebx, ecx
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x20]
and ebx, edx
mov edx, dword [esp + 0x34]
or edx, ebx
add edx, ebp
mov dword [esp + 0x18], edx
mov ebx, eax
ror ebx, 0x19
mov edx, eax
ror edx, 0xb
xor ebx, edx
mov edx, eax
ror edx, 6
xor ebx, edx
add ebx, dword [esp + 0x9c]
mov edx, dword [esp + 0x30]
mov ebp, edi
xor ebp, edx
and ebp, eax
xor ebp, edx
add ebp, ebx
lea esi, [esi + ebp + 0x76f988da]
add ecx, esi
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x18]
mov ebp, esi
ror ebp, 0x16
mov edx, esi
ror edx, 0xd
xor ebp, edx
mov edx, esi
ror edx, 2
xor ebp, edx
add ebp, dword [esp + 0x10]
mov edx, ebx
and ebx, esi
or edx, esi
and edx, dword [esp + 0x20]
or edx, ebx
add edx, ebp
mov ebx, ecx
ror ebx, 0x19
mov ebp, ecx
ror ebp, 0xb
xor ebx, ebp
mov ebp, ecx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xa0]
mov ebp, eax
xor ebp, edi
and ebp, ecx
xor ebp, edi
add ebp, ebx
mov ebx, dword [esp + 0x30]
lea ebx, [ebx + ebp - 0x67c1aeae]
add dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
mov ebx, edx
ror ebx, 0x16
mov ebp, edx
ror ebp, 0xd
xor ebx, ebp
or esi, edx
and esi, dword [esp + 0x1c]
mov ebp, edx
ror ebp, 2
xor ebx, ebp
add ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
and ebp, edx
or esi, ebp
add esi, ebx
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x20]
mov ebx, esi
ror ebx, 0x19
mov ebp, esi
ror ebp, 0xb
xor ebx, ebp
mov ebp, esi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xa4]
mov ebp, eax
xor ebp, ecx
and ebp, esi
xor ebp, eax
add ebp, ebx
lea edi, [edi + ebp - 0x57ce3993]
add dword [esp + 0x1c], edi
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x30]
mov ebx, edi
ror ebx, 0x16
mov esi, edi
ror esi, 0xd
xor ebx, esi
mov esi, edi
ror esi, 2
xor ebx, esi
add ebx, dword [esp + 0x10]
mov esi, edx
or esi, edi
and esi, dword [esp + 0x18]
mov ebp, edx
and ebp, edi
mov edi, dword [esp + 0x1c]
or esi, ebp
add esi, ebx
mov ebx, edi
ror ebx, 0x19
mov ebp, edi
ror ebp, 0xb
xor ebx, ebp
mov ebp, edi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x20]
xor ebp, ecx
and ebp, edi
xor ebp, ecx
add ebp, ebx
lea eax, [eax + ebp - 0x4ffcd838]
add dword [esp + 0x18], eax
mov dword [esp + 0x10], eax
mov ebx, esi
ror ebx, 0x16
mov eax, esi
ror eax, 0xd
xor ebx, eax
mov eax, esi
ror eax, 2
xor ebx, eax
add ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov edi, esi
or edi, eax
and edi, edx
mov ebp, esi
and ebp, eax
mov eax, dword [esp + 0x18]
or edi, ebp
add edi, ebx
mov ebx, eax
mov ebp, eax
ror ebx, 0x19
ror ebp, 0xb
xor ebx, ebp
ror eax, 6
xor ebx, eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
add ebx, dword [esp + 0xac]
and eax, dword [esp + 0x18]
mov ebp, edi
xor eax, dword [esp + 0x20]
add eax, ebx
lea ecx, [eax + ecx - 0x40a68039]
add edx, ecx
mov ebx, edi
ror ebx, 0x16
mov eax, edi
ror eax, 0xd
xor ebx, eax
mov eax, edi
ror eax, 2
xor ebx, eax
mov eax, edi
or eax, esi
and eax, dword [esp + 0x30]
and ebp, esi
add ebx, ecx
or eax, ebp
add eax, ebx
mov ecx, edx
ror ecx, 0x19
mov ebx, edx
ror ebx, 0xb
xor ecx, ebx
mov ebx, edx
ror ebx, 6
xor ecx, ebx
add ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x1c]
xor ebx, dword [esp + 0x18]
mov ebp, edi
and ebx, edx
xor ebx, dword [esp + 0x1c]
and ebp, eax
add ebx, ecx
mov ecx, dword [esp + 0x20]
lea ecx, [ebx + ecx - 0x391ff40d]
add dword [esp + 0x30], ecx
mov dword [esp + 0x10], ecx
mov ebx, eax
ror ebx, 0x16
mov ecx, eax
ror ecx, 0xd
xor ebx, ecx
mov ecx, eax
ror ecx, 2
xor ebx, ecx
add ebx, dword [esp + 0x10]
mov ecx, edi
or ecx, eax
and ecx, esi
or ecx, ebp
add ecx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x30]
mov ebx, ecx
mov ebp, ecx
ror ebx, 0x19
ror ebp, 0xb
xor ebx, ebp
mov ebp, ecx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x18]
xor ebp, edx
and ebp, ecx
xor ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add ebp, ebx
mov ebx, dword [esp + 0x20]
lea ecx, [ecx + ebp - 0x2a586eb9]
add esi, ecx
mov dword [esp + 0x10], ecx
mov ebp, ebx
ror ebp, 0x16
mov ecx, ebx
ror ecx, 0xd
xor ebp, ecx
mov ecx, ebx
ror ecx, 2
xor ebp, ecx
add ebp, dword [esp + 0x10]
mov ecx, ebx
or ecx, eax
and ecx, edi
and ebx, eax
or ecx, ebx
add ecx, ebp
mov dword [esp + 0x1c], ecx
mov ecx, esi
ror ecx, 0x19
mov ebx, esi
ror ebx, 0xb
xor ecx, ebx
mov ebx, esi
ror ebx, 6
xor ecx, ebx
add ecx, dword [esp + 0xb8]
mov ebx, edx
xor ebx, dword [esp + 0x30]
and ebx, esi
xor ebx, edx
add ebx, ecx
mov ecx, dword [esp + 0x18]
lea ecx, [ebx + ecx + 0x6ca6351]
add edi, ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x1c]
mov ebp, ecx
ror ebp, 0x16
mov ebx, ecx
ror ebx, 0xd
xor ebp, ebx
mov ebx, ecx
ror ebx, 2
xor ebp, ebx
add ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
or ebx, ecx
and ebx, eax
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x20]
and ebx, ecx
mov ecx, dword [esp + 0x34]
or ecx, ebx
add ecx, ebp
mov dword [esp + 0x18], ecx
mov ebx, edi
ror ebx, 0x19
mov ecx, edi
ror ecx, 0xb
xor ebx, ecx
mov ecx, edi
ror ecx, 6
xor ebx, ecx
add ebx, dword [esp + 0xbc]
mov ecx, dword [esp + 0x30]
mov ebp, esi
xor ebp, ecx
and ebp, edi
xor ebp, ecx
mov ecx, dword [esp + 0x18]
add ebp, ebx
lea edx, [edx + ebp + 0x14292967]
mov ebp, dword [esp + 0x1c]
add eax, edx
mov dword [esp + 0x10], edx
mov ebx, ecx
ror ebx, 0x16
mov edx, ecx
ror edx, 0xd
xor ebx, edx
mov edx, ecx
ror edx, 2
xor ebx, edx
add ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
and ebp, ecx
or edx, ecx
and edx, dword [esp + 0x20]
or edx, ebp
add edx, ebx
mov ebx, eax
ror ebx, 0x19
mov ebp, eax
ror ebp, 0xb
xor ebx, ebp
mov ebp, eax
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xc0]
mov ebp, edi
xor ebp, esi
and ebp, eax
xor ebp, esi
mov dword [esp + 0x14], edx
add ebp, ebx
mov ebx, dword [esp + 0x30]
lea ebx, [ebx + ebp + 0x27b70a85]
add dword [esp + 0x20], ebx
mov dword [esp + 0x10], ebx
mov ebp, edx
ror ebp, 0x16
mov ebx, edx
ror ebx, 0xd
xor ebp, ebx
mov ebx, edx
ror ebx, 2
xor ebp, ebx
add ebp, dword [esp + 0x10]
mov ebx, ecx
or ebx, edx
and ebx, dword [esp + 0x1c]
mov dword [esp + 0x34], ebx
mov ebx, ecx
and ebx, edx
mov edx, dword [esp + 0x34]
or edx, ebx
add edx, ebp
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x20]
mov ebx, edx
ror ebx, 0x19
mov ebp, edx
ror ebp, 0xb
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xc4]
mov ebp, edi
xor ebp, eax
and ebp, edx
mov edx, dword [esp + 0x30]
xor ebp, edi
add ebp, ebx
lea esi, [esi + ebp + 0x2e1b2138]
add dword [esp + 0x1c], esi
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], esi
mov ebp, edx
ror ebp, 0x16
mov esi, edx
ror esi, 0xd
xor ebp, esi
mov esi, edx
ror esi, 2
xor ebp, esi
add ebp, dword [esp + 0x10]
mov esi, ebx
or esi, edx
and ebx, edx
and esi, ecx
or esi, ebx
add esi, ebp
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x1c]
mov ebx, esi
ror ebx, 0x19
mov ebp, esi
ror ebp, 0xb
xor ebx, ebp
mov ebp, esi
ror ebp, 6
xor ebx, ebp
mov ebp, dword [esp + 0x20]
add ebx, dword [esp + 0xc8]
xor ebp, eax
and ebp, esi
mov esi, dword [esp + 0x2c]
xor ebp, eax
add ebp, ebx
lea edi, [edi + ebp + 0x4d2c6dfc]
add ecx, edi
mov ebx, esi
mov dword [esp + 0x10], edi
ror ebx, 0x16
mov edi, esi
ror edi, 0xd
xor ebx, edi
mov edi, esi
ror edi, 2
xor ebx, edi
add ebx, dword [esp + 0x10]
mov edi, esi
or edi, edx
and edi, dword [esp + 0x14]
mov ebp, esi
and ebp, edx
or edi, ebp
add edi, ebx
mov dword [esp + 0x28], edi
mov edi, ecx
ror edi, 0x19
mov ebx, ecx
ror ebx, 0xb
xor edi, ebx
mov ebx, ecx
ror ebx, 6
xor edi, ebx
add edi, dword [esp + 0xcc]
mov ebx, dword [esp + 0x20]
xor ebx, dword [esp + 0x1c]
and ebx, ecx
xor ebx, dword [esp + 0x20]
add ebx, edi
mov edi, dword [esp + 0x28]
lea eax, [ebx + eax + 0x53380d13]
add dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov ebx, edi
ror ebx, 0x16
mov eax, edi
ror eax, 0xd
xor ebx, eax
mov eax, edi
ror eax, 2
xor ebx, eax
add ebx, dword [esp + 0x10]
mov eax, edi
or eax, esi
and eax, edx
mov ebp, edi
and ebp, esi
or eax, ebp
add eax, ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov ebx, eax
ror ebx, 0x19
mov ebp, eax
ror ebp, 0xb
xor ebx, ebp
mov ebp, eax
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x1c]
xor ebp, ecx
and ebp, eax
xor ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
add ebp, ebx
lea eax, [eax + ebp + 0x650a7354]
add edx, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
mov ebp, eax
ror ebp, 0x16
mov ebx, eax
ror ebx, 0xd
xor ebp, ebx
mov ebx, eax
ror ebx, 2
xor ebp, ebx
mov ebx, edi
or ebx, eax
and ebx, esi
mov dword [esp + 0x34], ebx
add ebp, dword [esp + 0x10]
mov ebx, edi
and ebx, eax
mov eax, dword [esp + 0x34]
or eax, ebx
add eax, ebp
mov dword [esp + 0x20], eax
mov eax, edx
ror eax, 0x19
mov ebx, edx
ror ebx, 0xb
xor eax, ebx
mov ebx, edx
ror ebx, 6
xor eax, ebx
add eax, dword [esp + 0xd4]
mov ebx, ecx
xor ebx, dword [esp + 0x14]
and ebx, edx
xor ebx, ecx
add ebx, eax
mov eax, dword [esp + 0x1c]
lea eax, [ebx + eax + 0x766a0abb]
add esi, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov ebp, eax
ror ebp, 0x16
mov ebx, eax
ror ebx, 0xd
xor ebp, ebx
mov ebx, eax
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x24]
add ebp, dword [esp + 0x10]
or eax, ebx
and eax, edi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
and eax, ebx
mov ebx, eax
mov eax, dword [esp + 0x34]
or eax, ebx
add eax, ebp
mov dword [esp + 0x1c], eax
mov ebx, esi
ror ebx, 0x19
mov eax, esi
ror eax, 0xb
xor ebx, eax
mov eax, esi
ror eax, 6
xor ebx, eax
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0xd8]
mov ebp, eax
xor ebp, edx
and ebp, esi
xor ebp, eax
mov eax, dword [esp + 0x1c]
add ebp, ebx
lea ecx, [ecx + ebp - 0x7e3d36d2]
mov ebp, dword [esp + 0x20]
add edi, ecx
mov dword [esp + 0x10], ecx
mov ebx, eax
ror ebx, 0x16
mov ecx, eax
ror ecx, 0xd
xor ebx, ecx
mov ecx, eax
ror ecx, 2
xor ebx, ecx
mov ecx, dword [esp + 0x20]
or ecx, eax
and ecx, dword [esp + 0x24]
and ebp, eax
or ecx, ebp
add ebx, dword [esp + 0x10]
add ecx, ebx
mov ebx, edi
ror ebx, 0x19
mov ebp, edi
ror ebp, 0xb
xor ebx, ebp
mov ebp, edi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xdc]
mov ebp, esi
xor ebp, edx
and ebp, edi
xor ebp, edx
add ebp, ebx
mov ebx, dword [esp + 0x14]
lea ebx, [ebx + ebp - 0x6d8dd37b]
add dword [esp + 0x24], ebx
mov dword [esp + 0x10], ebx
mov ebp, ecx
ror ebp, 0x16
mov ebx, ecx
ror ebx, 0xd
xor ebp, ebx
mov ebx, ecx
ror ebx, 2
xor ebp, ebx
add ebp, dword [esp + 0x10]
mov ebx, eax
or ebx, ecx
and ebx, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x34], ebx
mov ebx, eax
and ebx, ecx
mov ecx, dword [esp + 0x34]
or ecx, ebx
add ecx, ebp
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x24]
mov ebx, ecx
ror ebx, 0x19
mov ebp, ecx
ror ebp, 0xb
xor ebx, ebp
mov ebp, ecx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xe0]
mov ebp, edi
xor ebp, esi
and ebp, ecx
mov ecx, dword [esp + 0x14]
xor ebp, esi
add ebp, ebx
mov ebx, dword [esp + 0x18]
lea edx, [edx + ebp - 0x5d40175f]
add dword [esp + 0x20], edx
mov dword [esp + 0x10], edx
mov ebp, ecx
ror ebp, 0x16
mov edx, ecx
ror edx, 0xd
xor ebp, edx
mov edx, ecx
ror edx, 2
xor ebp, edx
add ebp, dword [esp + 0x10]
mov edx, ebx
or edx, ecx
and edx, eax
and ebx, ecx
or edx, ebx
add edx, ebp
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x20]
mov ebx, edx
ror ebx, 0x19
mov ebp, edx
ror ebp, 0xb
xor ebx, ebp
ror edx, 6
xor ebx, edx
add ebx, dword [esp + 0xe4]
mov edx, edi
xor edx, dword [esp + 0x24]
mov ebp, ecx
and edx, dword [esp + 0x20]
xor edx, edi
add edx, ebx
lea esi, [edx + esi - 0x57e599b5]
mov edx, dword [esp + 0x30]
add eax, esi
mov dword [esp + 0x10], esi
and ebp, edx
mov ebx, edx
ror ebx, 0x16
mov esi, edx
ror esi, 0xd
xor ebx, esi
mov esi, edx
ror esi, 2
xor ebx, esi
add ebx, dword [esp + 0x10]
mov esi, ecx
or esi, edx
and esi, dword [esp + 0x18]
or esi, ebp
add esi, ebx
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x2c], esi
mov ebx, eax
ror ebx, 0x19
mov esi, eax
ror esi, 0xb
xor ebx, esi
mov esi, eax
ror esi, 6
xor ebx, esi
add ebx, dword [esp + 0xe8]
mov esi, dword [esp + 0x24]
xor ebp, esi
and ebp, eax
xor ebp, esi
mov esi, dword [esp + 0x2c]
add ebp, ebx
lea edi, [edi + ebp - 0x3db47490]
add dword [esp + 0x18], edi
mov dword [esp + 0x10], edi
mov ebx, esi
ror ebx, 0x16
mov edi, esi
ror edi, 0xd
xor ebx, edi
mov edi, esi
ror edi, 2
xor ebx, edi
add ebx, dword [esp + 0x10]
mov edi, esi
or edi, edx
and edi, ecx
mov ebp, esi
and ebp, edx
or edi, ebp
add edi, ebx
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x18]
mov ebx, edi
ror ebx, 0x19
mov ebp, edi
ror ebp, 0xb
xor ebx, ebp
mov ebp, edi
ror ebp, 6
xor ebx, ebp
mov ebp, dword [esp + 0x20]
add ebx, dword [esp + 0xec]
xor ebp, eax
and ebp, edi
xor ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
add ebp, ebx
lea edi, [edi + ebp - 0x3893ae5d]
add ecx, edi
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x10], edi
mov ebp, ebx
mov edi, ebx
ror ebp, 0x16
ror edi, 0xd
xor ebp, edi
mov edi, ebx
ror edi, 2
xor ebp, edi
add ebp, dword [esp + 0x10]
mov edi, ebx
and ebx, esi
or edi, esi
and edi, edx
or edi, ebx
add edi, ebp
mov dword [esp + 0x24], edi
mov edi, ecx
ror edi, 0x19
mov ebx, ecx
ror ebx, 0xb
xor edi, ebx
mov ebx, ecx
ror ebx, 6
xor edi, ebx
add edi, dword [esp + 0xf0]
mov ebx, eax
xor ebx, dword [esp + 0x18]
and ebx, ecx
xor ebx, eax
add ebx, edi
mov edi, dword [esp + 0x20]
lea edi, [ebx + edi - 0x2e6d17e7]
add edx, edi
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x24]
mov ebp, edi
ror ebp, 0x16
mov ebx, edi
ror ebx, 0xd
xor ebp, ebx
mov ebx, edi
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x28]
add ebp, dword [esp + 0x10]
or ebx, edi
and ebx, esi
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x28]
and ebx, edi
mov edi, dword [esp + 0x34]
or edi, ebx
add edi, ebp
mov dword [esp + 0x20], edi
mov ebx, edx
ror ebx, 0x19
mov edi, edx
ror edi, 0xb
xor ebx, edi
mov edi, edx
ror edi, 6
xor ebx, edi
mov edi, dword [esp + 0x18]
add ebx, dword [esp + 0xf4]
mov ebp, edi
xor ebp, ecx
and ebp, edx
xor ebp, edi
mov edi, dword [esp + 0x20]
add ebp, ebx
lea eax, [eax + ebp - 0x2966f9dc]
add esi, eax
mov dword [esp + 0x10], eax
mov ebx, edi
mov eax, edi
ror ebx, 0x16
ror eax, 0xd
xor ebx, eax
mov eax, edi
ror eax, 2
xor ebx, eax
add ebx, dword [esp + 0x10]
mov eax, edi
or eax, dword [esp + 0x24]
mov ebp, edi
and ebp, dword [esp + 0x24]
and eax, dword [esp + 0x28]
or eax, ebp
add eax, ebx
mov ebx, esi
ror ebx, 0x19
mov ebp, esi
ror ebp, 0xb
xor ebx, ebp
mov ebp, esi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xf8]
mov ebp, ecx
xor ebp, edx
and ebp, esi
xor ebp, ecx
add ebp, ebx
mov ebx, dword [esp + 0x18]
lea ebx, [ebx + ebp - 0xbf1ca7b]
add dword [esp + 0x28], ebx
mov dword [esp + 0x10], ebx
mov ebp, eax
ror ebp, 0x16
mov ebx, eax
ror ebx, 0xd
xor ebp, ebx
mov ebx, eax
ror ebx, 2
xor ebp, ebx
add ebp, dword [esp + 0x10]
mov ebx, edi
or ebx, eax
and ebx, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], ebx
mov ebx, edi
and ebx, eax
mov eax, dword [esp + 0x34]
or eax, ebx
add eax, ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
mov ebx, eax
ror ebx, 0x19
mov ebp, eax
ror ebp, 0xb
xor ebx, ebp
mov ebp, eax
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xfc]
mov ebp, esi
xor ebp, edx
and ebp, eax
mov eax, dword [esp + 0x18]
xor ebp, edx
add ebp, ebx
mov ebx, dword [esp + 0x1c]
lea ecx, [ecx + ebp + 0x106aa070]
add dword [esp + 0x24], ecx
mov dword [esp + 0x10], ecx
mov ebp, eax
ror ebp, 0x16
mov ecx, eax
ror ecx, 0xd
xor ebp, ecx
mov ecx, eax
ror ecx, 2
xor ebp, ecx
mov ecx, ebx
or ecx, eax
and ecx, edi
add ebp, dword [esp + 0x10]
and ebx, eax
or ecx, ebx
add ecx, ebp
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x24]
mov ebx, ecx
ror ebx, 0x19
mov ebp, ecx
ror ebp, 0xb
xor ebx, ebp
mov ebp, ecx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x100]
mov ebp, dword [esp + 0x28]
xor ebp, esi
and ebp, ecx
mov ecx, dword [esp + 0x14]
xor ebp, esi
add ebp, ebx
lea edx, [edx + ebp + 0x19a4c116]
add edi, edx
mov dword [esp + 0x10], edx
mov ebx, ecx
ror ebx, 0x16
mov edx, ecx
ror edx, 0xd
xor ebx, edx
mov edx, ecx
ror edx, 2
xor ebx, edx
add ebx, dword [esp + 0x10]
mov edx, eax
or edx, ecx
and edx, dword [esp + 0x1c]
mov ebp, eax
and ebp, ecx
or edx, ebp
add edx, ebx
mov dword [esp + 0x30], edx
mov edx, edi
ror edx, 0x19
mov ebx, edi
ror ebx, 0xb
xor edx, ebx
mov ebx, edi
ror ebx, 6
xor edx, ebx
mov ebx, dword [esp + 0x28]
xor ebx, dword [esp + 0x24]
add edx, dword [esp + 0x104]
and ebx, edi
xor ebx, dword [esp + 0x28]
mov ebp, ecx
add ebx, edx
mov edx, dword [esp + 0x30]
lea esi, [ebx + esi + 0x1e376c08]
add dword [esp + 0x1c], esi
mov dword [esp + 0x10], esi
mov ebx, edx
ror ebx, 0x16
mov esi, edx
ror esi, 0xd
xor ebx, esi
mov esi, edx
ror esi, 2
xor ebx, esi
add ebx, dword [esp + 0x10]
mov esi, ecx
or esi, edx
and esi, eax
and ebp, edx
or esi, ebp
add esi, ebx
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x1c]
mov ebx, esi
mov ebp, esi
ror ebx, 0x19
ror ebp, 0xb
xor ebx, ebp
ror esi, 6
xor ebx, esi
add ebx, dword [esp + 0x108]
mov esi, edi
xor esi, dword [esp + 0x24]
and esi, dword [esp + 0x1c]
xor esi, dword [esp + 0x24]
add esi, ebx
mov ebx, dword [esp + 0x28]
lea esi, [esi + ebx + 0x2748774c]
add eax, esi
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x10], esi
mov ebp, ebx
mov esi, ebx
ror ebp, 0x16
ror esi, 0xd
xor ebp, esi
mov esi, ebx
ror esi, 2
xor ebp, esi
add ebp, dword [esp + 0x10]
mov esi, ebx
or esi, edx
and esi, ecx
and ebx, edx
or esi, ebx
add esi, ebp
mov dword [esp + 0x28], esi
mov esi, eax
ror esi, 0x19
mov ebx, eax
ror ebx, 0xb
xor esi, ebx
mov ebx, eax
ror ebx, 6
xor esi, ebx
add esi, dword [esp + 0x10c]
mov ebx, edi
xor ebx, dword [esp + 0x1c]
and ebx, eax
xor ebx, edi
add ebx, esi
mov esi, dword [esp + 0x24]
lea esi, [ebx + esi + 0x34b0bcb5]
add ecx, esi
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x28]
mov ebp, esi
mov ebx, esi
ror ebp, 0x16
ror ebx, 0xd
xor ebp, ebx
mov ebx, esi
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x2c]
add ebp, dword [esp + 0x10]
or esi, ebx
and esi, edx
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x28]
and esi, ebx
mov ebx, esi
mov esi, dword [esp + 0x34]
or esi, ebx
add esi, ebp
mov dword [esp + 0x24], esi
mov ebx, ecx
ror ebx, 0x19
mov esi, ecx
ror esi, 0xb
xor ebx, esi
mov esi, ecx
ror esi, 6
xor ebx, esi
mov esi, dword [esp + 0x1c]
mov ebp, esi
xor ebp, eax
add ebx, dword [esp + 0x110]
and ebp, ecx
xor ebp, esi
add ebp, ebx
lea edi, [edi + ebp + 0x391c0cb3]
mov esi, dword [esp + 0x24]
add edx, edi
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x10], edi
and ebp, esi
mov ebx, esi
ror ebx, 0x16
mov edi, esi
ror edi, 0xd
xor ebx, edi
mov edi, esi
ror edi, 2
xor ebx, edi
add ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
or edi, esi
and edi, dword [esp + 0x2c]
or edi, ebp
add edi, ebx
mov ebx, edx
ror ebx, 0x19
mov ebp, edx
ror ebp, 0xb
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x114]
mov ebp, eax
xor ebp, ecx
and ebp, edx
xor ebp, eax
add ebp, ebx
mov ebx, dword [esp + 0x1c]
lea ebx, [ebx + ebp + 0x4ed8aa4a]
add dword [esp + 0x2c], ebx
mov dword [esp + 0x10], ebx
mov ebx, edi
ror ebx, 0x16
mov ebp, edi
ror ebp, 0xd
xor ebx, ebp
mov ebp, edi
ror ebp, 2
xor ebx, ebp
add ebx, dword [esp + 0x10]
mov dword [esp + 0x20], edi
mov ebp, dword [esp + 0x20]
and ebp, esi
or edi, esi
and edi, dword [esp + 0x28]
or edi, ebp
add edi, ebx
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x2c]
mov ebx, edi
ror ebx, 0x19
mov ebp, edi
ror ebp, 0xb
xor ebx, ebp
mov ebp, edi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x118]
mov ebp, ecx
xor ebp, edx
and ebp, edi
mov edi, dword [esp + 0x1c]
xor ebp, ecx
add ebp, ebx
lea eax, [eax + ebp + 0x5b9cca4f]
add dword [esp + 0x28], eax
mov ebp, edi
mov dword [esp + 0x10], eax
ror ebp, 0x16
mov eax, edi
mov ebx, dword [esp + 0x20]
ror eax, 0xd
xor ebp, eax
mov eax, edi
ror eax, 2
xor ebp, eax
add ebp, dword [esp + 0x10]
mov eax, ebx
and ebx, edi
or eax, edi
and eax, esi
or eax, ebx
add eax, ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
mov ebx, eax
ror ebx, 0x19
mov ebp, eax
ror ebp, 0xb
xor ebx, ebp
mov ebp, eax
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x11c]
mov ebp, dword [esp + 0x2c]
xor ebp, edx
and ebp, eax
mov eax, dword [esp + 0x18]
xor ebp, edx
add ebp, ebx
lea ecx, [ecx + ebp + 0x682e6ff3]
add esi, ecx
mov dword [esp + 0x10], ecx
mov ebx, eax
ror ebx, 0x16
mov ecx, eax
ror ecx, 0xd
xor ebx, ecx
mov ecx, eax
ror ecx, 2
xor ebx, ecx
add ebx, dword [esp + 0x10]
mov ecx, edi
or ecx, eax
and ecx, dword [esp + 0x20]
mov ebp, edi
and ebp, eax
or ecx, ebp
mov ebp, dword [esp + 0x28]
add ecx, ebx
mov dword [esp + 0x14], ecx
mov ebx, esi
ror ebx, 0x19
mov ecx, esi
ror ecx, 0xb
xor ebx, ecx
mov ecx, esi
ror ecx, 6
xor ebx, ecx
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x120]
xor ebp, ecx
and ebp, esi
xor ebp, ecx
mov ecx, dword [esp + 0x14]
add ebp, ebx
lea edx, [edx + ebp + 0x748f82ee]
add dword [esp + 0x20], edx
mov dword [esp + 0x10], edx
mov ebx, ecx
ror ebx, 0x16
mov edx, ecx
ror edx, 0xd
xor ebx, edx
mov edx, ecx
ror edx, 2
xor ebx, edx
mov edx, eax
or edx, ecx
and edx, edi
mov ebp, eax
add ebx, dword [esp + 0x10]
and ebp, ecx
or edx, ebp
add edx, ebx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x20]
mov ebx, edx
ror ebx, 0x19
mov ebp, edx
ror ebp, 0xb
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x124]
mov ebp, dword [esp + 0x28]
xor ebp, esi
and ebp, edx
xor ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
add ebp, ebx
lea edx, [edx + ebp + 0x78a5636f]
add edi, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x30]
mov ebp, edx
ror ebp, 0x16
mov ebx, edx
ror ebx, 0xd
xor ebp, ebx
mov ebx, edx
ror ebx, 2
xor ebp, ebx
add ebp, dword [esp + 0x10]
mov ebx, ecx
or ebx, edx
and ebx, eax
mov dword [esp + 0x34], ebx
mov ebx, ecx
and ebx, edx
mov edx, dword [esp + 0x34]
or edx, ebx
add edx, ebp
mov ebx, edi
ror ebx, 0x19
mov ebp, edi
ror ebp, 0xb
xor ebx, ebp
mov ebp, edi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x128]
mov ebp, dword [esp + 0x20]
xor ebp, esi
and ebp, edi
xor ebp, esi
add ebp, ebx
mov ebx, dword [esp + 0x28]
lea ebx, [ebx + ebp - 0x7b3787ec]
add eax, ebx
mov dword [esp + 0x10], ebx
mov ebp, edx
mov ebx, edx
ror ebp, 0x16
ror ebx, 0xd
xor ebp, ebx
mov ebx, edx
ror ebx, 2
mov dword [esp + 0x2c], edx
xor ebp, ebx
mov ebx, dword [esp + 0x30]
or edx, ebx
and edx, ecx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x2c]
and edx, ebx
mov ebx, edx
mov edx, dword [esp + 0x34]
or edx, ebx
add ebp, dword [esp + 0x10]
add edx, ebp
mov dword [esp + 0x28], edx
mov ebx, eax
ror ebx, 0x19
mov edx, eax
ror edx, 0xb
xor ebx, edx
mov edx, eax
ror edx, 6
xor ebx, edx
add ebx, dword [esp + 0x12c]
mov edx, dword [esp + 0x20]
mov ebp, edx
xor ebp, edi
and ebp, eax
xor ebp, edx
add ebp, ebx
mov edx, dword [esp + 0x28]
lea esi, [esi + ebp - 0x7338fdf8]
add ecx, esi
mov dword [esp + 0x10], esi
mov ebx, edx
ror ebx, 0x16
mov esi, edx
ror esi, 0xd
xor ebx, esi
mov esi, edx
ror esi, 2
xor ebx, esi
add ebx, dword [esp + 0x10]
mov esi, edx
or esi, dword [esp + 0x2c]
mov ebp, edx
and ebp, dword [esp + 0x2c]
and esi, dword [esp + 0x30]
or esi, ebp
add esi, ebx
mov ebx, ecx
ror ebx, 0x19
mov ebp, ecx
ror ebp, 0xb
xor ebx, ebp
mov ebp, ecx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x130]
mov ebp, edi
xor ebp, eax
and ebp, ecx
xor ebp, edi
add ebp, ebx
mov ebx, dword [esp + 0x20]
lea ebx, [ebx + ebp - 0x6f410006]
add dword [esp + 0x30], ebx
mov dword [esp + 0x10], ebx
mov ebp, esi
ror ebp, 0x16
mov ebx, esi
ror ebx, 0xd
xor ebp, ebx
mov ebx, esi
ror ebx, 2
xor ebp, ebx
add ebp, dword [esp + 0x10]
mov ebx, edx
or ebx, esi
and ebx, dword [esp + 0x2c]
mov dword [esp + 0x24], esi
mov dword [esp + 0x34], ebx
mov ebx, edx
and ebx, esi
mov esi, dword [esp + 0x34]
or esi, ebx
add esi, ebp
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x30]
mov ebx, esi
ror ebx, 0x19
mov ebp, esi
ror ebp, 0xb
xor ebx, ebp
mov ebp, esi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x134]
mov ebp, eax
xor ebp, ecx
and ebp, esi
mov esi, dword [esp + 0x20]
xor ebp, eax
add ebp, ebx
lea edi, [edi + ebp - 0x5baf9315]
add dword [esp + 0x2c], edi
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x10], edi
mov ebp, esi
ror ebp, 0x16
mov edi, esi
ror edi, 0xd
xor ebp, edi
mov edi, esi
ror edi, 2
xor ebp, edi
add ebp, dword [esp + 0x10]
mov edi, esi
or edi, ebx
and edi, edx
mov dword [esp + 0x34], edi
mov edi, esi
and edi, ebx
mov ebx, edi
mov edi, dword [esp + 0x34]
or edi, ebx
add edi, ebp
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x2c]
mov ebx, edi
ror ebx, 0x19
mov ebp, edi
ror ebp, 0xb
xor ebx, ebp
ror edi, 6
xor ebx, edi
add ebx, dword [esp + 0x138]
mov edi, ecx
xor edi, dword [esp + 0x30]
mov ebp, esi
and edi, dword [esp + 0x2c]
xor edi, ecx
add edi, ebx
lea eax, [edi + eax - 0x41065c09]
mov edi, dword [esp + 0x1c]
add edx, eax
mov dword [esp + 0x10], eax
mov ebx, edi
ror ebx, 0x16
mov eax, edi
ror eax, 0xd
xor ebx, eax
mov eax, edi
ror eax, 2
xor ebx, eax
add ebx, dword [esp + 0x10]
mov eax, esi
or eax, edi
and eax, dword [esp + 0x24]
and ebp, edi
or eax, ebp
mov ebp, dword [esp + 0x2c]
add eax, ebx
mov dword [esp + 0x18], eax
mov ebx, edx
ror ebx, 0x19
mov eax, edx
ror eax, 0xb
xor ebx, eax
mov eax, edx
ror eax, 6
xor ebx, eax
mov eax, dword [esp + 0x30]
xor ebp, eax
add ebx, dword [esp + 0x13c]
and ebp, edx
xor ebp, eax
add ebp, ebx
mov ebx, dword [esp + 0x18]
lea ecx, [ecx + ebp - 0x398e870e]
add dword [esp + 0x24], ecx
mov dword [esp + 0x10], ecx
mov eax, ebx
ror eax, 0x16
mov ecx, ebx
ror ecx, 0xd
xor eax, ecx
mov ecx, ebx
ror ecx, 2
xor eax, ecx
add eax, dword [esp + 0x10]
mov ecx, edi
or ecx, ebx
and ecx, esi
mov ebp, edi
and ebp, ebx
or ecx, ebp
add ecx, eax
mov eax, dword [esp + 0x144]
add dword [eax + 0x280], ecx
add dword [eax + 0x288], edi
mov ecx, dword [esp + 0x24]
add dword [eax + 0x28c], esi
add dword [eax + 0x290], ecx
add dword [eax + 0x294], edx
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
add dword [eax + 0x284], ebx
add dword [eax + 0x298], edx
add dword [eax + 0x29c], ecx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x130
ret