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

Disassembly:
sub esp, 0x308
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x31c]
mov eax, dword [edi]
cmp eax, 3
ja case.default.0x4041fc
jmp dword [eax*4 + 0x40ba40]
lea eax, [edi + 0x30]
xor ecx, ecx
jmp 0x404210
movzx edx, byte [eax]
movzx esi, byte [eax + 1]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 2]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 3]
shl edx, 8
or edx, esi
mov dword [esp + ecx*4 + 0x98], edx
movzx edx, byte [eax + 4]
movzx esi, byte [eax + 5]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 6]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 7]
shl edx, 8
or edx, esi
mov dword [esp + ecx*4 + 0x9c], edx
movzx edx, byte [eax + 8]
movzx esi, byte [eax + 9]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 0xa]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 0xb]
shl edx, 8
or edx, esi
mov dword [esp + ecx*4 + 0xa0], edx
movzx edx, byte [eax + 0xc]
movzx esi, byte [eax + 0xd]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 0xe]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 0xf]
shl edx, 8
or edx, esi
mov dword [esp + ecx*4 + 0xa4], edx
add ecx, 4
add eax, 0x10
cmp ecx, 0x10
jl 0x404210
lea eax, [esp + 0xb8]
mov ecx, 0x10
mov edx, dword [eax - 0x20]
xor edx, dword [eax + 0x14]
add eax, 0x10
xor edx, dword [eax - 0x10]
xor edx, dword [eax - 0x28]
rol edx, 1
mov dword [eax + 0x10], edx
mov edx, dword [eax - 0x2c]
xor edx, dword [eax + 8]
xor edx, dword [eax - 0xc]
xor edx, dword [eax - 0x24]
rol edx, 1
mov dword [eax + 0x14], edx
mov edx, dword [eax + 0xc]
xor edx, dword [eax - 0x20]
xor edx, dword [eax - 8]
xor edx, dword [eax - 0x28]
rol edx, 1
mov dword [eax + 0x18], edx
mov edx, dword [eax - 0x1c]
xor edx, dword [eax - 4]
xor edx, dword [eax + 0x10]
xor edx, dword [eax - 0x24]
rol edx, 1
sub ecx, 1
mov dword [eax + 0x1c], edx
jne 0x4042c2
mov esi, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
mov edi, dword [edi + 0x18]
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], 0
lea esp, [esp]
mov ebx, eax
mov edi, esi
rol edi, 5
mov ebp, ecx
and ebp, eax
not ebx
and ebx, edx
or ebx, ebp
mov ebp, dword [esp + 0x30]
add edi, ebx
mov ebx, dword [esp + 0x20]
add edi, dword [esp + ebx*4 + 0x98]
ror eax, 2
lea edi, [edi + ebp + 0x5a827999]
mov ebp, eax
and ebp, esi
mov dword [esp + 0x30], edx
mov edx, esi
not edx
and edx, ecx
or edx, ebp
mov dword [esp + 0x20], edi
rol edi, 5
add edi, edx
add edi, dword [esp + ebx*4 + 0x9c]
mov edx, dword [esp + 0x30]
ror esi, 2
lea edx, [edi + edx + 0x5a827999]
mov edi, eax
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x20]
mov ebp, esi
and ebp, ecx
mov eax, ecx
not eax
and eax, edi
or eax, ebp
mov dword [esp + 0x20], edx
rol edx, 5
add edx, eax
add edx, dword [esp + ebx*4 + 0xa0]
mov eax, dword [esp + 0x30]
lea eax, [edx + eax + 0x5a827999]
mov edx, dword [esp + 0x20]
mov ebp, esi
ror ecx, 2
mov dword [esp + 0x20], eax
rol eax, 5
mov dword [esp + 0x30], edi
mov esi, edx
not esi
and esi, ebp
mov edi, ecx
and edi, edx
or esi, edi
add eax, esi
add eax, dword [esp + ebx*4 + 0xa4]
mov esi, dword [esp + 0x30]
lea esi, [eax + esi + 0x5a827999]
mov edi, ecx
mov ecx, dword [esp + 0x20]
ror edx, 2
mov dword [esp + 0x30], ebp
mov eax, ecx
not eax
mov dword [esp + 0x20], esi
and eax, edi
rol esi, 5
mov ebp, edx
and ebp, ecx
or eax, ebp
add esi, eax
add esi, dword [esp + ebx*4 + 0xa8]
mov eax, dword [esp + 0x30]
add ebx, 5
lea esi, [esi + eax + 0x5a827999]
mov eax, dword [esp + 0x20]
ror ecx, 2
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], ebx
cmp ebx, 0x14
jl 0x404330
mov ebx, 0x14
mov edi, esi
rol edi, 5
mov ebp, edx
xor ebp, ecx
xor ebp, eax
add edi, ebp
add edi, dword [esp + ebx*4 + 0x98]
mov ebp, dword [esp + 0x30]
ror eax, 2
lea edi, [edi + ebp + 0x6ed9eba1]
mov ebp, ecx
xor ebp, eax
xor ebp, esi
mov dword [esp + 0x20], edi
rol edi, 5
add edi, ebp
add edi, dword [esp + ebx*4 + 0x9c]
ror esi, 2
lea edx, [edi + edx + 0x6ed9eba1]
mov edi, eax
xor eax, esi
mov ebp, ecx
mov ecx, dword [esp + 0x20]
xor eax, ecx
mov dword [esp + 0x20], edx
rol edx, 5
add edx, eax
add edx, dword [esp + ebx*4 + 0xa0]
ror ecx, 2
lea eax, [edx + ebp + 0x6ed9eba1]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x20], eax
rol eax, 5
mov ebp, edi
mov edi, esi
xor esi, ecx
xor esi, edx
add eax, esi
add eax, dword [esp + ebx*4 + 0xa4]
ror edx, 2
lea esi, [eax + ebp + 0x6ed9eba1]
mov eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], esi
mov ebp, eax
rol esi, 5
xor ebp, edx
xor ebp, ecx
add esi, ebp
add esi, dword [esp + ebx*4 + 0xa8]
add ebx, 5
ror ecx, 2
cmp ebx, 0x28
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
lea esi, [esi + edi + 0x6ed9eba1]
jl 0x404443
mov dword [esp + 0x20], 0x28
mov edi, esi
rol edi, 5
add edi, dword [esp + 0x30]
mov ebx, ecx
or ebx, eax
and ebx, edx
mov ebp, ecx
and ebp, eax
or ebx, ebp
mov ebp, dword [esp + 0x20]
add ebx, dword [esp + ebp*4 + 0x98]
ror eax, 2
mov dword [esp + 0x30], edx
lea edi, [ebx + edi - 0x70e44324]
mov edx, eax
or edx, esi
and edx, ecx
mov ebp, edi
rol edi, 5
add edi, dword [esp + 0x30]
mov ebx, eax
and ebx, esi
or edx, ebx
mov ebx, dword [esp + 0x20]
add edx, dword [esp + ebx*4 + 0x9c]
ror esi, 2
lea edx, [edx + edi - 0x70e44324]
mov edi, esi
mov dword [esp + 0x30], ecx
mov ecx, ebp
or edi, ecx
and edi, eax
mov ebp, esi
and ebp, ecx
or edi, ebp
add edi, dword [esp + ebx*4 + 0xa0]
mov dword [esp + 0x20], edx
rol edx, 5
add edx, dword [esp + 0x30]
ror ecx, 2
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
lea edx, [edi + edx - 0x70e44324]
mov edi, esi
mov esi, ecx
or esi, eax
and esi, edi
mov ebp, ecx
and ebp, eax
or esi, ebp
add esi, dword [esp + ebx*4 + 0xa4]
mov dword [esp + 0x20], edx
rol edx, 5
add edx, dword [esp + 0x30]
ror eax, 2
lea esi, [esi + edx - 0x70e44324]
mov edx, eax
mov ebp, ecx
mov ecx, dword [esp + 0x20]
or eax, ecx
mov dword [esp + 0x30], edi
and eax, ebp
mov dword [esp + 0x20], esi
mov edi, edx
and edi, ecx
rol esi, 5
add esi, dword [esp + 0x30]
or eax, edi
add eax, dword [esp + ebx*4 + 0xa8]
add ebx, 5
lea esi, [eax + esi - 0x70e44324]
mov eax, dword [esp + 0x20]
ror ecx, 2
cmp ebx, 0x3c
mov dword [esp + 0x30], ebp
mov dword [esp + 0x20], ebx
jl 0x404513
mov edi, 0x3c
mov dword [esp + 0x20], edi
mov edi, edi
mov ebp, edx
xor ebp, ecx
xor ebp, eax
add ebp, dword [esp + edi*4 + 0x98]
mov edi, dword [esp + 0x20]
mov ebx, esi
rol ebx, 5
add ebx, dword [esp + 0x30]
ror eax, 2
lea ebx, [ebx + ebp - 0x359d3e2a]
mov dword [esp + 0x30], edx
mov edx, ecx
xor edx, eax
xor edx, esi
add edx, dword [esp + edi*4 + 0x9c]
mov ebp, ebx
rol ebx, 5
add ebx, dword [esp + 0x30]
ror esi, 2
lea edx, [edx + ebx - 0x359d3e2a]
mov ebx, eax
xor eax, esi
mov dword [esp + 0x30], ecx
mov ecx, ebp
xor eax, ecx
add eax, dword [esp + edi*4 + 0xa0]
mov ebp, edx
rol edx, 5
add edx, dword [esp + 0x30]
ror ecx, 2
lea eax, [eax + edx - 0x359d3e2a]
mov edx, ebp
mov dword [esp + 0x30], ebx
mov ebx, esi
xor esi, ecx
xor esi, edx
add esi, dword [esp + edi*4 + 0xa4]
mov ebp, eax
rol eax, 5
add eax, dword [esp + 0x30]
ror edx, 2
lea esi, [esi + eax - 0x359d3e2a]
mov eax, ecx
mov ecx, ebp
mov ebp, eax
xor ebp, edx
mov dword [esp + 0x30], ebx
mov ebx, esi
rol esi, 5
add esi, dword [esp + 0x30]
xor ebp, ecx
add ebp, dword [esp + edi*4 + 0xa8]
add edi, 5
lea esi, [esi + ebp - 0x359d3e2a]
ror ecx, 2
cmp edi, 0x50
mov ebp, eax
mov dword [esp + 0x30], eax
mov eax, ebx
mov dword [esp + 0x20], edi
jl 0x404620
mov edi, dword [esp + 0x31c]
mov ebx, dword [edi + 8]
add ebx, esi
mov dword [edi + 8], ebx
add dword [edi + 0xc], eax
add dword [edi + 0x10], ecx
add dword [edi + 0x14], edx
add dword [edi + 0x18], ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x308
ret 4
lea eax, [edi + 0x30]
xor ecx, ecx
movzx edx, byte [eax]
movzx esi, byte [eax + 1]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 2]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 3]
shl edx, 8
or edx, esi
mov dword [esp + ecx*4 + 0x98], edx
movzx edx, byte [eax + 4]
movzx esi, byte [eax + 5]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 6]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 7]
shl edx, 8
or edx, esi
mov dword [esp + ecx*4 + 0x9c], edx
movzx edx, byte [eax + 8]
movzx esi, byte [eax + 9]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 0xa]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 0xb]
shl edx, 8
or edx, esi
mov dword [esp + ecx*4 + 0xa0], edx
movzx edx, byte [eax + 0xc]
movzx esi, byte [eax + 0xd]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 0xe]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 0xf]
shl edx, 8
or edx, esi
mov dword [esp + ecx*4 + 0xa4], edx
add ecx, 4
add eax, 0x10
cmp ecx, 0x10
jl 0x404721
lea eax, [esp + 0xbc]
mov esi, 8
mov edx, dword [eax - 0x20]
mov ecx, dword [eax + 0x14]
mov edi, edx
rol edi, 0xe
mov ebx, edx
shr edx, 3
ror ebx, 7
xor edi, ebx
xor edi, edx
mov edx, ecx
rol edx, 0xf
mov ebx, ecx
rol ebx, 0xd
xor edx, ebx
shr ecx, 0xa
xor edx, ecx
add edi, edx
add edi, dword [eax - 0x24]
add edi, dword [eax]
mov dword [eax + 0x1c], edi
mov edx, dword [eax - 0x1c]
mov ecx, dword [eax + 0x18]
mov edi, edx
rol edi, 0xe
mov ebx, edx
shr edx, 3
ror ebx, 7
xor edi, ebx
xor edi, edx
mov edx, ecx
rol edx, 0xf
mov ebx, ecx
rol ebx, 0xd
xor edx, ebx
shr ecx, 0xa
xor edx, ecx
add edi, edx
add edi, dword [eax + 4]
add edi, dword [eax - 0x20]
mov dword [eax + 0x20], edi
mov edx, dword [eax - 0x18]
mov ecx, dword [eax + 0x1c]
mov edi, edx
rol edi, 0xe
mov ebx, edx
shr edx, 3
ror ebx, 7
xor edi, ebx
xor edi, edx
mov edx, ecx
rol edx, 0xf
mov ebx, ecx
rol ebx, 0xd
xor edx, ebx
shr ecx, 0xa
xor edx, ecx
add edi, edx
add edi, dword [eax + 8]
add edi, dword [eax - 0x1c]
mov dword [eax + 0x24], edi
mov edx, dword [eax - 0x14]
mov ecx, dword [eax + 0x20]
mov edi, edx
rol edi, 0xe
mov ebx, edx
ror ebx, 7
xor edi, ebx
shr edx, 3
xor edi, edx
mov edx, ecx
rol edx, 0xf
mov ebx, ecx
rol ebx, 0xd
shr ecx, 0xa
xor edx, ebx
xor edx, ecx
add edi, edx
add edi, dword [eax + 0xc]
add edi, dword [eax - 0x18]
mov dword [eax + 0x28], edi
mov ecx, dword [eax + 0x24]
mov edx, dword [eax - 0x10]
mov edi, edx
rol edi, 0xe
mov ebx, edx
shr edx, 3
ror ebx, 7
xor edi, ebx
xor edi, edx
mov edx, ecx
rol edx, 0xf
mov ebx, ecx
rol ebx, 0xd
xor edx, ebx
shr ecx, 0xa
xor edx, ecx
add edi, edx
add edi, dword [eax + 0x10]
add eax, 0x18
add edi, dword [eax - 0x2c]
mov dword [eax + 0x14], edi
mov edx, dword [eax - 0x24]
mov ecx, dword [eax + 0x10]
mov edi, edx
rol edi, 0xe
mov ebx, edx
ror ebx, 7
xor edi, ebx
shr edx, 3
xor edi, edx
mov edx, ecx
rol edx, 0xf
mov ebx, ecx
rol ebx, 0xd
xor edx, ebx
shr ecx, 0xa
xor edx, ecx
add edi, edx
add edi, dword [eax - 0x28]
add edi, dword [eax - 4]
sub esi, 1
mov dword [eax + 0x18], edi
jne 0x4047d3
mov eax, dword [esp + 0x31c]
mov ecx, dword [eax + 0x18]
mov edi, dword [eax + 8]
mov ebx, dword [eax + 0x1c]
mov esi, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x20], eax
xor eax, dword [esp + 0x58]
mov ebp, ecx
ror ebp, 0xb
and eax, ecx
xor eax, dword [esp + 0x20]
mov ebx, ecx
rol ebx, 7
xor ebp, ebx
mov ebx, ecx
ror ebx, 6
xor ebp, ebx
mov ebx, dword [esp + 0x31c]
add ebp, eax
add ebp, dword [ebx + 0x24]
mov eax, dword [esp + 0x98]
lea eax, [eax + ebp + 0x428a2f98]
mov dword [esp + 0x70], eax
mov eax, edi
ror eax, 0xd
mov ebp, edi
rol ebp, 0xa
xor eax, ebp
mov ebp, edi
ror ebp, 2
xor eax, ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x50], eax
mov eax, esi
or eax, edi
and eax, edx
mov dword [esp + 0x40], esi
and esi, edi
or eax, esi
mov esi, dword [esp + 0x50]
add esi, ebp
add eax, esi
mov esi, dword [ebx + 0x14]
add esi, ebp
mov ebx, esi
ror ebx, 0xb
mov ebp, esi
rol ebp, 7
xor ebx, ebp
mov ebp, esi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x58]
xor ebp, ecx
and ebp, esi
xor ebp, dword [esp + 0x58]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x20]
add ebp, ebx
lea ecx, [ecx + ebp + 0x71374491]
mov dword [esp + 0x70], ecx
mov ebp, eax
ror ebp, 0xd
mov ecx, eax
rol ecx, 0xa
xor ebp, ecx
mov ecx, eax
ror ecx, 2
xor ebp, ecx
mov ecx, eax
or ecx, edi
and ecx, dword [esp + 0x40]
mov ebx, eax
and ebx, edi
or ecx, ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x28], esi
add ebp, ebx
add edx, ebx
add ecx, ebp
mov ebx, edx
ror ebx, 0xb
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x30]
xor ebp, esi
and ebp, edx
xor ebp, dword [esp + 0x30]
mov dword [esp + 0x38], edx
add ebp, ebx
mov edx, dword [esp + 0x58]
lea edx, [edx + ebp - 0x4a3f0431]
xor esi, dword [esp + 0x38]
mov dword [esp + 0x70], edx
mov ebx, ecx
ror ebx, 0xd
mov edx, ecx
rol edx, 0xa
xor ebx, edx
mov edx, ecx
ror edx, 2
xor ebx, edx
mov edx, eax
or edx, ecx
and edx, edi
mov ebp, eax
and ebp, ecx
or edx, ebp
mov ebp, dword [esp + 0x70]
add ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x40]
add ebx, ebp
mov ebp, ebx
ror ebp, 0xb
mov dword [esp + 0x40], ebx
and esi, dword [esp + 0x40]
rol ebx, 7
xor esi, dword [esp + 0x28]
xor ebp, ebx
mov ebx, dword [esp + 0x40]
ror ebx, 6
xor ebp, ebx
add ebp, dword [esp + 0xa4]
mov ebx, dword [esp + 0x30]
add esi, ebp
lea esi, [esi + ebx - 0x164a245b]
mov dword [esp + 0x70], esi
mov ebp, edx
ror ebp, 0xd
mov esi, edx
rol esi, 0xa
xor ebp, esi
mov esi, edx
ror esi, 2
xor ebp, esi
mov esi, ecx
or esi, edx
and esi, eax
mov ebx, ecx
and ebx, edx
or esi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edi, ebx
add esi, ebp
mov ebx, edi
ror ebx, 0xb
mov ebp, edi
rol ebp, 7
mov dword [esp + 0x50], edi
xor ebx, ebp
ror edi, 6
xor ebx, edi
add ebx, dword [esp + 0xa8]
mov edi, dword [esp + 0x38]
xor edi, dword [esp + 0x40]
mov ebp, esi
and edi, dword [esp + 0x50]
xor edi, dword [esp + 0x38]
add edi, ebx
mov ebx, dword [esp + 0x28]
lea edi, [edi + ebx + 0x3956c25b]
mov dword [esp + 0x70], edi
ror ebp, 0xd
mov edi, esi
rol edi, 0xa
xor ebp, edi
mov edi, esi
ror edi, 2
xor ebp, edi
mov edi, edx
or edi, esi
and edi, ecx
mov ebx, edx
and ebx, esi
or edi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edi, ebp
add eax, ebx
mov dword [esp + 0x28], edi
mov edi, eax
ror edi, 0xb
mov ebx, eax
rol ebx, 7
xor edi, ebx
mov ebx, eax
ror ebx, 6
xor edi, ebx
add edi, dword [esp + 0xac]
mov ebx, dword [esp + 0x40]
xor ebx, dword [esp + 0x50]
and ebx, eax
xor ebx, dword [esp + 0x40]
add ebx, edi
mov edi, dword [esp + 0x38]
lea edi, [ebx + edi + 0x59f111f1]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x28]
mov ebp, edi
ror ebp, 0xd
mov ebx, edi
rol ebx, 0xa
xor ebp, ebx
mov ebx, edi
ror ebx, 2
xor ebp, ebx
mov ebx, esi
or ebx, edi
and ebx, edx
mov dword [esp + 0x20], ebx
mov ebx, esi
and ebx, edi
mov edi, dword [esp + 0x20]
or edi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edi, ebp
add ecx, ebx
mov dword [esp + 0x38], edi
mov ebx, ecx
ror ebx, 0xb
mov edi, ecx
rol edi, 7
xor ebx, edi
mov edi, ecx
ror edi, 6
xor ebx, edi
mov edi, dword [esp + 0x50]
mov ebp, eax
xor ebp, edi
and ebp, ecx
xor ebp, edi
add ebx, dword [esp + 0xb0]
mov edi, dword [esp + 0x40]
add ebp, ebx
lea edi, [edi + ebp - 0x6dc07d5c]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x38]
mov ebp, edi
ror ebp, 0xd
mov ebx, edi
rol ebx, 0xa
xor ebp, ebx
mov ebx, edi
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x28]
or ebx, edi
and ebx, esi
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x28]
and ebx, edi
mov edi, dword [esp + 0x20]
or edi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edi, ebp
add edx, ebx
mov ebx, edx
ror ebx, 0xb
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xb4]
mov ebp, eax
xor ebp, ecx
and ebp, edx
xor ebp, eax
add ebp, ebx
mov ebx, dword [esp + 0x50]
lea ebx, [ebx + ebp - 0x54e3a12b]
mov dword [esp + 0x70], ebx
mov ebp, edi
ror ebp, 0xd
mov ebx, edi
rol ebx, 0xa
xor ebp, ebx
mov ebx, edi
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x38]
or ebx, edi
and ebx, dword [esp + 0x28]
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x38]
and edi, dword [esp + 0x40]
or ebx, edi
mov edi, dword [esp + 0x70]
add ebp, edi
add ebx, ebp
add esi, edi
mov edi, esi
ror edi, 0xb
mov ebp, esi
rol ebp, 7
xor edi, ebp
mov ebp, esi
ror ebp, 6
xor edi, ebp
add edi, dword [esp + 0xb8]
mov ebp, ecx
xor ebp, edx
and ebp, esi
xor ebp, ecx
add ebp, edi
lea eax, [eax + ebp - 0x27f85568]
mov ebp, ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x70], eax
ror ebp, 0xd
mov eax, ebx
rol eax, 0xa
xor ebp, eax
mov eax, ebx
ror eax, 2
xor ebp, eax
mov eax, dword [esp + 0x40]
mov edi, eax
and eax, ebx
or edi, ebx
and edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x70]
add ebp, ebx
or edi, eax
mov eax, dword [esp + 0x28]
add eax, ebx
add edi, ebp
mov ebx, eax
ror ebx, 0xb
mov ebp, eax
rol ebp, 7
xor ebx, ebp
mov ebp, eax
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xbc]
mov ebp, edx
xor ebp, esi
and ebp, eax
xor ebp, edx
add ebp, ebx
lea ecx, [ecx + ebp + 0x12835b01]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x28], eax
mov ebp, edi
ror ebp, 0xd
mov eax, edi
rol eax, 0xa
xor ebp, eax
mov ecx, edi
ror ecx, 2
xor ebp, ecx
mov ecx, dword [esp + 0x50]
mov eax, edi
or eax, ecx
and eax, dword [esp + 0x40]
mov ebx, edi
and ebx, ecx
mov ecx, dword [esp + 0x38]
or eax, ebx
mov ebx, dword [esp + 0x70]
add ecx, ebx
add ebp, ebx
mov ebx, ecx
add eax, ebp
mov ebp, ecx
ror ebx, 0xb
mov dword [esp + 0x38], ecx
rol ebp, 7
xor ebx, ebp
ror ecx, 6
xor ebx, ecx
add ebx, dword [esp + 0xc0]
mov ecx, esi
xor ecx, dword [esp + 0x28]
mov ebp, edi
and ecx, dword [esp + 0x38]
xor ecx, esi
add ecx, ebx
lea edx, [ecx + edx + 0x243185be]
mov ebx, eax
ror ebx, 0xd
mov ecx, eax
rol ecx, 0xa
xor ebx, ecx
mov ecx, eax
ror ecx, 2
xor ebx, ecx
mov ecx, edi
or ecx, eax
and ecx, dword [esp + 0x50]
add ebx, edx
and ebp, eax
or ecx, ebp
add ecx, ebx
mov ebx, dword [esp + 0x40]
add ebx, edx
mov edx, ebx
mov ebp, ebx
ror edx, 0xb
mov dword [esp + 0x40], ebx
rol ebp, 7
xor edx, ebp
ror ebx, 6
xor edx, ebx
add edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x28]
xor ebx, dword [esp + 0x38]
mov ebp, eax
and ebx, dword [esp + 0x40]
and ebp, ecx
xor ebx, dword [esp + 0x28]
add ebx, edx
lea esi, [ebx + esi + 0x550c7dc3]
mov ebx, ecx
ror ebx, 0xd
mov edx, ecx
rol edx, 0xa
xor ebx, edx
mov edx, ecx
ror edx, 2
xor ebx, edx
add ebx, esi
mov edx, eax
or edx, ecx
and edx, edi
or edx, ebp
add edx, ebx
mov ebx, dword [esp + 0x50]
add ebx, esi
mov esi, ebx
ror esi, 0xb
mov ebp, ebx
rol ebp, 7
xor esi, ebp
mov dword [esp + 0x50], ebx
ror ebx, 6
xor esi, ebx
add esi, dword [esp + 0xc8]
mov ebx, dword [esp + 0x38]
xor ebx, dword [esp + 0x40]
mov ebp, edx
and ebx, dword [esp + 0x50]
xor ebx, dword [esp + 0x38]
add ebx, esi
mov esi, dword [esp + 0x28]
lea esi, [ebx + esi + 0x72be5d74]
mov dword [esp + 0x70], esi
ror ebp, 0xd
mov esi, edx
rol esi, 0xa
xor ebp, esi
mov esi, edx
ror esi, 2
xor ebp, esi
mov esi, ecx
or esi, edx
and esi, eax
mov ebx, ecx
and ebx, edx
or esi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add esi, ebp
add edi, ebx
mov dword [esp + 0x28], esi
mov esi, edi
ror esi, 0xb
mov ebx, edi
rol ebx, 7
xor esi, ebx
mov ebx, edi
ror ebx, 6
xor esi, ebx
add esi, dword [esp + 0xcc]
mov ebx, dword [esp + 0x40]
xor ebx, dword [esp + 0x50]
and ebx, edi
xor ebx, dword [esp + 0x40]
add ebx, esi
mov esi, dword [esp + 0x38]
lea esi, [ebx + esi - 0x7f214e02]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x28]
mov ebp, esi
ror ebp, 0xd
mov ebx, esi
rol ebx, 0xa
xor ebp, ebx
mov ebx, esi
ror ebx, 2
xor ebp, ebx
mov ebx, edx
or ebx, esi
and ebx, ecx
mov dword [esp + 0x20], ebx
mov ebx, edx
and ebx, esi
mov esi, dword [esp + 0x20]
or esi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add esi, ebp
add eax, ebx
mov dword [esp + 0x38], esi
mov ebx, eax
ror ebx, 0xb
mov esi, eax
rol esi, 7
xor ebx, esi
mov esi, eax
ror esi, 6
xor ebx, esi
add ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0x50]
mov ebp, edi
xor ebp, esi
and ebp, eax
xor ebp, esi
mov esi, dword [esp + 0x40]
add ebp, ebx
lea esi, [esi + ebp - 0x6423f959]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x38]
mov ebp, esi
ror ebp, 0xd
mov ebx, esi
rol ebx, 0xa
xor ebp, ebx
mov ebx, esi
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x28]
or ebx, esi
and ebx, edx
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x28]
and ebx, esi
mov esi, dword [esp + 0x20]
or esi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add ecx, ebx
add esi, ebp
mov ebx, ecx
ror ebx, 0xb
mov ebp, ecx
rol ebp, 7
xor ebx, ebp
mov ebp, ecx
ror ebp, 6
mov dword [esp + 0x40], esi
xor ebx, ebp
add ebx, dword [esp + 0xd4]
mov ebp, edi
xor ebp, eax
and ebp, ecx
xor ebp, edi
add ebp, ebx
mov ebx, dword [esp + 0x50]
lea ebx, [ebx + ebp - 0x3e640e8c]
mov dword [esp + 0x70], ebx
mov ebp, esi
ror ebp, 0xd
mov ebx, esi
rol ebx, 0xa
xor ebp, ebx
mov ebx, esi
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x38]
or ebx, esi
and ebx, dword [esp + 0x28]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x38]
and ebx, esi
mov esi, dword [esp + 0x20]
or esi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add esi, ebp
add edx, ebx
mov ebx, edx
ror ebx, 0xb
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xd8]
mov ebp, eax
xor ebp, ecx
and ebp, edx
xor ebp, eax
add ebp, ebx
lea edi, [edi + ebp - 0x1b64963f]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x70], edi
mov ebx, esi
ror ebx, 0xd
mov edi, esi
rol edi, 0xa
xor ebx, edi
and ebp, esi
mov edi, esi
ror edi, 2
xor ebx, edi
mov edi, dword [esp + 0x40]
or edi, esi
and edi, dword [esp + 0x38]
or edi, ebp
mov ebp, dword [esp + 0x70]
add ebx, ebp
add edi, ebx
mov ebx, dword [esp + 0x28]
add ebx, ebp
mov dword [esp + 0x60], edi
mov edi, ebx
ror edi, 0xb
mov ebp, ebx
rol ebp, 7
xor edi, ebp
mov ebp, ebx
ror ebp, 6
xor edi, ebp
add edi, dword [esp + 0xdc]
mov ebp, ecx
xor ebp, edx
and ebp, ebx
xor ebp, ecx
add ebp, edi
mov dword [esp + 0x28], ebx
lea eax, [eax + ebp - 0x1041b87a]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x60]
mov edi, eax
mov ebp, eax
ror edi, 0xd
rol ebp, 0xa
xor edi, ebp
mov ebp, eax
ror ebp, 2
xor edi, ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x20], edi
mov edi, eax
and eax, esi
or edi, esi
and edi, dword [esp + 0x40]
or edi, eax
mov eax, dword [esp + 0x20]
add eax, ebp
add edi, eax
mov eax, dword [esp + 0x38]
add eax, ebp
mov ebp, eax
ror ebp, 0xb
mov dword [esp + 0x38], eax
rol eax, 7
xor ebp, eax
mov eax, dword [esp + 0x38]
ror eax, 6
xor ebp, eax
add ebp, dword [esp + 0xe0]
mov eax, edx
xor eax, ebx
and eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x60]
xor eax, edx
add eax, ebp
lea ecx, [eax + ecx + 0xfc19dc6]
mov ebp, edi
ror ebp, 0xd
mov eax, edi
rol eax, 0xa
xor ebp, eax
mov eax, edi
ror eax, 2
xor ebp, eax
mov eax, ebx
and ebx, edi
or eax, edi
add ebp, ecx
and eax, esi
or eax, ebx
mov ebx, dword [esp + 0x40]
add ebx, ecx
add eax, ebp
mov ecx, ebx
ror ecx, 0xb
mov ebp, ebx
mov dword [esp + 0x40], ebx
rol ebp, 7
xor ecx, ebp
ror ebx, 6
xor ecx, ebx
mov ebx, dword [esp + 0x28]
xor ebx, dword [esp + 0x38]
add ecx, dword [esp + 0xe4]
and ebx, dword [esp + 0x40]
xor ebx, dword [esp + 0x28]
add ebx, ecx
lea edx, [ebx + edx + 0x240ca1cc]
mov ebx, eax
ror ebx, 0xd
mov ecx, eax
rol ecx, 0xa
xor ebx, ecx
mov ecx, eax
ror ecx, 2
xor ebx, ecx
mov ecx, edi
or ecx, eax
and ecx, dword [esp + 0x60]
add ebx, edx
add esi, edx
mov ebp, edi
and ebp, eax
or ecx, ebp
add ecx, ebx
mov edx, esi
ror edx, 0xb
mov ebx, esi
rol ebx, 7
xor edx, ebx
mov ebx, esi
ror ebx, 6
xor edx, ebx
add edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x38]
xor ebx, dword [esp + 0x40]
mov ebp, ecx
and ebx, esi
xor ebx, dword [esp + 0x38]
add ebx, edx
mov edx, dword [esp + 0x28]
lea edx, [ebx + edx + 0x2de92c6f]
ror ebp, 0xd
mov dword [esp + 0x70], edx
mov edx, ecx
rol edx, 0xa
xor ebp, edx
mov edx, ecx
ror edx, 2
xor ebp, edx
mov edx, eax
or edx, ecx
and edx, edi
mov ebx, eax
and ebx, ecx
or edx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edx, ebp
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x60]
add edx, ebx
mov ebx, edx
ror ebx, 0xb
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0x40]
xor ebp, esi
and ebp, edx
xor ebp, dword [esp + 0x40]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x38]
add ebp, ebx
lea edx, [edx + ebp + 0x4a7484aa]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x28]
mov ebp, edx
ror ebp, 0xd
mov ebx, edx
rol ebx, 0xa
xor ebp, ebx
mov ebx, edx
ror ebx, 2
xor ebp, ebx
mov ebx, ecx
or ebx, edx
and ebx, eax
mov dword [esp + 0x20], ebx
mov ebx, ecx
and ebx, edx
mov edx, dword [esp + 0x20]
or edx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edx, ebp
add edi, ebx
mov ebx, edi
ror ebx, 0xb
mov ebp, edi
rol ebp, 7
xor ebx, ebp
mov ebp, edi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0x60]
xor ebp, esi
and ebp, edi
xor ebp, esi
add ebp, ebx
mov ebx, dword [esp + 0x40]
lea ebx, [ebx + ebp + 0x5cb0a9dc]
mov dword [esp + 0x70], ebx
mov ebp, edx
ror ebp, 0xd
mov ebx, edx
rol ebx, 0xa
xor ebp, ebx
mov ebx, edx
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x28]
or ebx, edx
and ebx, ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x28]
and ebx, edx
mov edx, dword [esp + 0x20]
or edx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edx, ebp
add eax, ebx
mov dword [esp + 0x40], edx
mov ebx, eax
ror ebx, 0xb
mov edx, eax
rol edx, 7
xor ebx, edx
mov edx, eax
ror edx, 6
xor ebx, edx
add ebx, dword [esp + 0xf4]
mov edx, dword [esp + 0x60]
mov ebp, edx
xor ebp, edi
and ebp, eax
xor ebp, edx
add ebp, ebx
mov ebx, dword [esp + 0x38]
lea edx, [esi + ebp + 0x76f988da]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x70], edx
mov ebp, esi
ror ebp, 0xd
mov edx, esi
rol edx, 0xa
xor ebp, edx
mov edx, esi
ror edx, 2
xor ebp, edx
mov edx, ebx
or edx, esi
and edx, dword [esp + 0x28]
and ebx, esi
or edx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add ecx, ebx
add edx, ebp
mov ebx, ecx
ror ebx, 0xb
mov ebp, ecx
rol ebp, 7
xor ebx, ebp
mov ebp, ecx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0xf8]
mov ebp, edi
xor ebp, eax
and ebp, ecx
xor ebp, edi
add ebp, ebx
mov ebx, dword [esp + 0x60]
lea ebx, [ebx + ebp - 0x67c1aeae]
or esi, edx
and esi, dword [esp + 0x38]
mov dword [esp + 0x70], ebx
mov ebx, edx
ror ebx, 0xd
mov ebp, edx
rol ebp, 0xa
xor ebx, ebp
mov ebp, edx
ror ebp, 2
xor ebx, ebp
mov ebp, dword [esp + 0x40]
and ebp, edx
or esi, ebp
mov ebp, dword [esp + 0x70]
add ebx, ebp
add esi, ebx
mov ebx, dword [esp + 0x28]
add ebx, ebp
mov dword [esp + 0x60], esi
mov esi, ebx
ror esi, 0xb
mov ebp, ebx
rol ebp, 7
xor esi, ebp
mov ebp, ebx
ror ebp, 6
xor esi, ebp
add esi, dword [esp + 0xfc]
mov ebp, eax
xor ebp, ecx
and ebp, ebx
xor ebp, eax
add ebp, esi
lea esi, [edi + ebp - 0x57ce3993]
mov edi, dword [esp + 0x60]
mov ebp, edi
mov dword [esp + 0x70], esi
mov esi, edi
ror esi, 0xd
rol ebp, 0xa
xor esi, ebp
mov ebp, edi
ror ebp, 2
xor esi, ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x20], esi
mov esi, edi
and edi, edx
or esi, edx
and esi, dword [esp + 0x40]
mov dword [esp + 0x28], ebx
or esi, edi
mov edi, dword [esp + 0x20]
add edi, ebp
add esi, edi
mov edi, dword [esp + 0x38]
add edi, ebp
mov ebp, edi
mov dword [esp + 0x38], edi
ror ebp, 0xb
rol edi, 7
xor ebp, edi
mov edi, dword [esp + 0x38]
ror edi, 6
xor ebp, edi
mov edi, ecx
xor edi, ebx
and edi, dword [esp + 0x38]
xor edi, ecx
add ebp, dword [esp + 0x100]
mov ebx, dword [esp + 0x60]
add edi, ebp
lea eax, [edi + eax - 0x4ffcd838]
mov ebp, esi
ror ebp, 0xd
mov edi, esi
rol edi, 0xa
xor ebp, edi
mov edi, esi
ror edi, 2
xor ebp, edi
mov edi, ebx
and ebx, esi
add ebp, eax
or edi, esi
and edi, edx
or edi, ebx
mov ebx, dword [esp + 0x40]
add ebx, eax
add edi, ebp
mov eax, ebx
ror eax, 0xb
mov ebp, ebx
mov dword [esp + 0x40], ebx
rol ebp, 7
xor eax, ebp
ror ebx, 6
xor eax, ebx
add eax, dword [esp + 0x104]
mov ebx, dword [esp + 0x28]
xor ebx, dword [esp + 0x38]
mov ebp, esi
and ebx, dword [esp + 0x40]
and ebp, edi
xor ebx, dword [esp + 0x28]
add ebx, eax
lea ecx, [ebx + ecx - 0x40a68039]
add edx, ecx
mov ebx, edi
ror ebx, 0xd
mov eax, edi
rol eax, 0xa
xor ebx, eax
mov eax, edi
ror eax, 2
xor ebx, eax
add ebx, ecx
mov eax, esi
or eax, edi
and eax, dword [esp + 0x60]
mov ecx, edx
or eax, ebp
add eax, ebx
ror ecx, 0xb
mov ebx, edx
rol ebx, 7
xor ecx, ebx
mov ebx, edx
ror ebx, 6
xor ecx, ebx
add ecx, dword [esp + 0x108]
mov ebx, dword [esp + 0x38]
xor ebx, dword [esp + 0x40]
mov ebp, eax
and ebx, edx
xor ebx, dword [esp + 0x38]
add ebx, ecx
mov ecx, dword [esp + 0x28]
lea ecx, [ebx + ecx - 0x391ff40d]
mov dword [esp + 0x70], ecx
ror ebp, 0xd
mov ecx, eax
rol ecx, 0xa
xor ebp, ecx
mov ecx, eax
ror ecx, 2
xor ebp, ecx
mov ecx, edi
or ecx, eax
and ecx, esi
mov ebx, edi
and ebx, eax
or ecx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add ecx, ebp
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x60]
add ecx, ebx
mov ebx, ecx
ror ebx, 0xb
mov ebp, ecx
rol ebp, 7
xor ebx, ebp
mov ebp, ecx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x10c]
mov ebp, dword [esp + 0x40]
xor ebp, edx
and ebp, ecx
xor ebp, dword [esp + 0x40]
mov dword [esp + 0x60], ecx
add ebp, ebx
mov ecx, dword [esp + 0x38]
lea ecx, [ecx + ebp - 0x2a586eb9]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x28]
mov ebp, ecx
ror ebp, 0xd
mov ebx, ecx
rol ebx, 0xa
xor ebp, ebx
mov ebx, ecx
ror ebx, 2
xor ebp, ebx
mov ebx, eax
or ebx, ecx
and ebx, edi
mov dword [esp + 0x20], ebx
mov ebx, eax
and ebx, ecx
mov ecx, dword [esp + 0x20]
or ecx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add esi, ebx
add ecx, ebp
mov ebx, esi
ror ebx, 0xb
mov ebp, esi
rol ebp, 7
xor ebx, ebp
mov ebp, esi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x110]
mov ebp, dword [esp + 0x60]
xor ebp, edx
and ebp, esi
xor ebp, edx
add ebp, ebx
mov ebx, dword [esp + 0x40]
lea ebx, [ebx + ebp + 0x6ca6351]
mov dword [esp + 0x70], ebx
mov ebp, ecx
ror ebp, 0xd
mov ebx, ecx
rol ebx, 0xa
xor ebp, ebx
mov ebx, ecx
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x28]
or ebx, ecx
and ebx, eax
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x38], ecx
and ebx, ecx
mov ecx, dword [esp + 0x20]
or ecx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add ecx, ebp
add edi, ebx
mov dword [esp + 0x40], ecx
mov ebx, edi
ror ebx, 0xb
mov ecx, edi
rol ecx, 7
xor ebx, ecx
mov ecx, edi
ror ecx, 6
xor ebx, ecx
add ebx, dword [esp + 0x114]
mov ecx, dword [esp + 0x60]
mov ebp, ecx
xor ebp, esi
and ebp, edi
xor ebp, ecx
add ebp, ebx
mov ecx, dword [esp + 0x40]
lea edx, [edx + ebp + 0x14292967]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x70], edx
and ebx, ecx
mov ebp, ecx
ror ebp, 0xd
mov edx, ecx
rol edx, 0xa
xor ebp, edx
mov edx, ecx
ror edx, 2
xor ebp, edx
mov edx, dword [esp + 0x38]
or edx, ecx
and edx, dword [esp + 0x28]
or edx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edx, ebp
add eax, ebx
mov ebx, eax
ror ebx, 0xb
mov ebp, eax
rol ebp, 7
xor ebx, ebp
mov ebp, eax
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x118]
mov ebp, esi
xor ebp, edi
and ebp, eax
xor ebp, esi
add ebp, ebx
mov ebx, dword [esp + 0x60]
lea ebx, [ebx + ebp + 0x27b70a85]
mov dword [esp + 0x70], ebx
mov ebp, edx
ror ebp, 0xd
mov ebx, edx
rol ebx, 0xa
xor ebp, ebx
mov ebx, edx
ror ebx, 2
xor ebp, ebx
mov ebx, ecx
or ebx, edx
and ebx, dword [esp + 0x38]
mov dword [esp + 0x50], edx
mov dword [esp + 0x20], ebx
mov ebx, ecx
and ebx, edx
mov edx, dword [esp + 0x20]
or edx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edx, ebp
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x28]
add edx, ebx
mov ebx, edx
ror ebx, 0xb
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x11c]
mov ebp, edi
xor ebp, eax
and ebp, edx
xor ebp, edi
add ebp, ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x28], edx
lea edx, [esi + ebp + 0x2e1b2138]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x60]
mov ebp, edx
ror ebp, 0xd
mov esi, edx
rol esi, 0xa
xor ebp, esi
mov esi, edx
ror esi, 2
xor ebp, esi
mov esi, edx
or esi, ebx
and esi, ecx
mov dword [esp + 0x20], esi
mov esi, edx
and esi, ebx
mov ebx, esi
mov esi, dword [esp + 0x20]
or esi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add esi, ebp
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x38]
add esi, ebx
mov ebx, esi
ror ebx, 0xb
mov ebp, esi
rol ebp, 7
xor ebx, ebp
mov dword [esp + 0x38], esi
ror esi, 6
xor ebx, esi
add ebx, dword [esp + 0x120]
mov esi, eax
xor esi, dword [esp + 0x28]
and esi, dword [esp + 0x38]
xor esi, eax
add esi, ebx
lea esi, [esi + edi + 0x4d2c6dfc]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x20]
mov ebp, esi
ror ebp, 0xd
mov edi, esi
rol edi, 0xa
xor ebp, edi
mov edi, esi
ror edi, 2
xor ebp, edi
mov edi, edx
or edi, esi
and edi, dword [esp + 0x50]
mov ebx, edx
and ebx, esi
or edi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edi, ebp
add ecx, ebx
mov dword [esp + 0x58], edi
mov edi, ecx
ror edi, 0xb
mov ebx, ecx
rol ebx, 7
xor edi, ebx
mov ebx, ecx
ror ebx, 6
xor edi, ebx
add edi, dword [esp + 0x124]
mov ebx, dword [esp + 0x28]
xor ebx, dword [esp + 0x38]
and ebx, ecx
xor ebx, dword [esp + 0x28]
add ebx, edi
lea eax, [ebx + eax + 0x53380d13]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x70], eax
mov ebp, edi
ror ebp, 0xd
mov eax, edi
rol eax, 0xa
xor ebp, eax
mov eax, edi
ror eax, 2
xor ebp, eax
mov eax, esi
or eax, edi
and eax, edx
mov ebx, esi
and ebx, edi
or eax, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add eax, ebp
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x50]
add eax, ebx
mov ebx, eax
ror ebx, 0xb
mov ebp, eax
rol ebp, 7
xor ebx, ebp
mov ebp, eax
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x128]
mov ebp, dword [esp + 0x38]
xor ebp, ecx
and ebp, eax
xor ebp, dword [esp + 0x38]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x28]
add ebp, ebx
lea eax, [eax + ebp + 0x650a7354]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x30]
mov ebp, eax
ror ebp, 0xd
mov ebx, eax
rol ebx, 0xa
xor ebp, ebx
mov ebx, eax
ror ebx, 2
xor ebp, ebx
mov ebx, edi
or ebx, eax
and ebx, esi
mov dword [esp + 0x20], ebx
mov ebx, edi
and ebx, eax
mov eax, dword [esp + 0x20]
or eax, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add eax, ebp
add edx, ebx
mov dword [esp + 0x28], eax
mov eax, edx
ror eax, 0xb
mov ebx, edx
rol ebx, 7
xor eax, ebx
mov ebx, edx
ror ebx, 6
xor eax, ebx
add eax, dword [esp + 0x12c]
mov ebx, ecx
xor ebx, dword [esp + 0x50]
and ebx, edx
xor ebx, ecx
add ebx, eax
mov eax, dword [esp + 0x38]
lea eax, [ebx + eax + 0x766a0abb]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28]
mov ebp, eax
ror ebp, 0xd
mov ebx, eax
rol ebx, 0xa
xor ebp, ebx
mov ebx, eax
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x30]
or ebx, eax
and ebx, edi
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x30]
and ebx, eax
mov eax, dword [esp + 0x20]
or eax, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add eax, ebp
add esi, ebx
mov dword [esp + 0x38], eax
mov ebx, esi
ror ebx, 0xb
mov eax, esi
rol eax, 7
xor ebx, eax
mov eax, esi
ror eax, 6
xor ebx, eax
add ebx, dword [esp + 0x130]
mov eax, dword [esp + 0x50]
mov ebp, edx
xor ebp, eax
and ebp, esi
xor ebp, eax
mov eax, dword [esp + 0x38]
add ebp, ebx
lea ecx, [ecx + ebp - 0x7e3d36d2]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov ebp, eax
ror ebp, 0xd
mov ecx, eax
rol ecx, 0xa
xor ebp, ecx
mov ecx, eax
ror ecx, 2
xor ebp, ecx
mov ecx, dword [esp + 0x28]
or ecx, eax
and ecx, dword [esp + 0x30]
and ebx, eax
or ecx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edi, ebx
add ecx, ebp
mov ebx, edi
ror ebx, 0xb
mov ebp, edi
rol ebp, 7
xor ebx, ebp
mov ebp, edi
ror ebp, 6
xor ebx, ebp
mov ebp, edx
mov dword [esp + 0x40], ecx
xor ebp, esi
add ebx, dword [esp + 0x134]
and ebp, edi
xor ebp, edx
add ebp, ebx
mov ebx, dword [esp + 0x50]
lea ebx, [ebx + ebp - 0x6d8dd37b]
mov dword [esp + 0x70], ebx
mov ebp, ecx
ror ebp, 0xd
mov ebx, ecx
rol ebx, 0xa
xor ebp, ebx
mov ebx, ecx
ror ebx, 2
xor ebp, ebx
mov ebx, eax
or ebx, ecx
and ebx, dword [esp + 0x28]
mov dword [esp + 0x20], ebx
mov ebx, eax
and ebx, ecx
mov ecx, dword [esp + 0x20]
or ecx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add ecx, ebp
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x30]
add ecx, ebx
mov ebx, ecx
ror ebx, 0xb
mov ebp, ecx
rol ebp, 7
xor ebx, ebp
mov ebp, ecx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x138]
mov ebp, esi
xor ebp, edi
and ebp, ecx
xor ebp, esi
add ebp, ebx
lea edx, [edx + ebp - 0x5d40175f]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x70], edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x50]
mov ebp, ecx
ror ebp, 0xd
mov edx, ecx
rol edx, 0xa
xor ebp, edx
mov edx, ecx
ror edx, 2
xor ebp, edx
mov edx, ebx
or edx, ecx
and edx, eax
and ebx, ecx
or edx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edx, ebp
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x28]
add edx, ebx
mov ebx, edx
mov ebp, edx
ror ebx, 0xb
mov dword [esp + 0x28], edx
rol ebp, 7
xor ebx, ebp
ror edx, 6
xor ebx, edx
add ebx, dword [esp + 0x13c]
mov edx, edi
xor edx, dword [esp + 0x30]
and edx, dword [esp + 0x28]
xor edx, edi
add edx, ebx
lea edx, [edx + esi - 0x57e599b5]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x60]
mov ebp, edx
ror ebp, 0xd
mov esi, edx
rol esi, 0xa
xor ebp, esi
mov esi, edx
ror esi, 2
xor ebp, esi
mov esi, edx
or esi, ecx
and esi, dword [esp + 0x40]
mov ebx, edx
and ebx, ecx
or esi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add esi, ebp
add eax, ebx
mov dword [esp + 0x20], esi
mov esi, eax
ror esi, 0xb
mov ebx, eax
rol ebx, 7
xor esi, ebx
mov ebx, eax
ror ebx, 6
xor esi, ebx
add esi, dword [esp + 0x140]
mov ebx, dword [esp + 0x30]
xor ebx, dword [esp + 0x28]
and ebx, eax
xor ebx, dword [esp + 0x30]
add ebx, esi
lea esi, [ebx + edi - 0x3db47490]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x20]
mov ebp, esi
ror ebp, 0xd
mov edi, esi
rol edi, 0xa
xor ebp, edi
mov edi, esi
ror edi, 2
xor ebp, edi
mov edi, edx
or edi, esi
and edi, ecx
mov ebx, edx
and ebx, esi
or edi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edi, ebp
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x40]
add edi, ebx
mov ebx, edi
ror ebx, 0xb
mov ebp, edi
rol ebp, 7
xor ebx, ebp
mov ebp, edi
ror ebp, 6
xor ebx, ebp
mov ebp, dword [esp + 0x28]
add ebx, dword [esp + 0x144]
xor ebp, eax
and ebp, edi
xor ebp, dword [esp + 0x28]
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x30]
add ebp, ebx
lea edi, [edi + ebp - 0x3893ae5d]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x58]
mov ebp, edi
ror ebp, 0xd
mov ebx, edi
rol ebx, 0xa
xor ebp, ebx
mov ebx, edi
ror ebx, 2
xor ebp, ebx
mov ebx, esi
or ebx, edi
and ebx, edx
mov dword [esp + 0x20], ebx
mov ebx, esi
and ebx, edi
mov edi, dword [esp + 0x20]
or edi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edi, ebp
add ecx, ebx
mov dword [esp + 0x30], edi
mov edi, ecx
ror edi, 0xb
mov ebx, ecx
rol ebx, 7
xor edi, ebx
mov ebx, ecx
ror ebx, 6
xor edi, ebx
add edi, dword [esp + 0x148]
mov ebx, eax
xor ebx, dword [esp + 0x40]
and ebx, ecx
xor ebx, eax
add ebx, edi
mov edi, dword [esp + 0x28]
lea edi, [ebx + edi - 0x2e6d17e7]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x30]
mov ebp, edi
ror ebp, 0xd
mov ebx, edi
rol ebx, 0xa
xor ebp, ebx
mov ebx, edi
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x58]
or ebx, edi
and ebx, esi
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x58]
and ebx, edi
mov edi, dword [esp + 0x20]
or edi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edi, ebp
add edx, ebx
mov dword [esp + 0x28], edi
mov ebx, edx
ror ebx, 0xb
mov edi, edx
rol edi, 7
xor ebx, edi
mov edi, edx
ror edi, 6
xor ebx, edi
mov edi, dword [esp + 0x40]
add ebx, dword [esp + 0x14c]
mov ebp, edi
xor ebp, ecx
and ebp, edx
xor ebp, edi
mov edi, dword [esp + 0x28]
add ebp, ebx
lea eax, [eax + ebp - 0x2966f9dc]
mov dword [esp + 0x70], eax
mov ebp, edi
ror ebp, 0xd
mov eax, edi
rol eax, 0xa
xor ebp, eax
mov eax, edi
mov ebx, dword [esp + 0x30]
and ebx, edi
ror eax, 2
xor ebp, eax
mov eax, dword [esp + 0x30]
or eax, edi
and eax, dword [esp + 0x58]
or eax, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add eax, ebp
add esi, ebx
mov ebx, esi
ror ebx, 0xb
mov ebp, esi
rol ebp, 7
xor ebx, ebp
mov ebp, esi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x150]
mov ebp, edx
xor ebp, ecx
and ebp, esi
xor ebp, ecx
add ebp, ebx
mov ebx, dword [esp + 0x40]
lea ebx, [ebx + ebp - 0xbf1ca7b]
mov dword [esp + 0x70], ebx
mov ebp, eax
ror ebp, 0xd
mov ebx, eax
rol ebx, 0xa
xor ebp, ebx
mov ebx, eax
ror ebx, 2
xor ebp, ebx
mov ebx, edi
or ebx, eax
and ebx, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov dword [esp + 0x20], ebx
mov ebx, edi
and ebx, eax
mov eax, dword [esp + 0x20]
or eax, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add eax, ebp
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x58]
add eax, ebx
mov ebx, eax
ror ebx, 0xb
mov ebp, eax
rol ebp, 7
xor ebx, ebp
mov ebp, eax
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x154]
mov ebp, edx
xor ebp, esi
and ebp, eax
xor ebp, edx
add ebp, ebx
mov ebx, dword [esp + 0x38]
lea ecx, [ecx + ebp + 0x106aa070]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
mov ebp, eax
ror ebp, 0xd
mov ecx, eax
rol ecx, 0xa
xor ebp, ecx
mov ecx, eax
ror ecx, 2
xor ebp, ecx
mov ecx, ebx
or ecx, eax
and ebx, eax
and ecx, edi
or ecx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add ecx, ebp
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x30]
add ecx, ebx
mov ebx, ecx
ror ebx, 0xb
mov ebp, ecx
rol ebp, 7
xor ebx, ebp
mov dword [esp + 0x30], ecx
ror ecx, 6
xor ebx, ecx
add ebx, dword [esp + 0x158]
mov ecx, esi
xor ecx, dword [esp + 0x58]
and ecx, dword [esp + 0x30]
xor ecx, esi
add ecx, ebx
lea edx, [ecx + edx + 0x19a4c116]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x70], edx
mov ebp, ecx
ror ebp, 0xd
mov edx, ecx
rol edx, 0xa
xor ebp, edx
mov edx, ecx
ror edx, 2
xor ebp, edx
mov edx, eax
or edx, ecx
and edx, dword [esp + 0x38]
mov ebx, eax
and ebx, ecx
or edx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edx, ebp
add edi, ebx
mov dword [esp + 0x60], edx
mov edx, edi
ror edx, 0xb
mov ebx, edi
rol ebx, 7
xor edx, ebx
mov ebx, edi
ror ebx, 6
xor edx, ebx
mov ebx, dword [esp + 0x58]
xor ebx, dword [esp + 0x30]
add edx, dword [esp + 0x15c]
and ebx, edi
xor ebx, dword [esp + 0x58]
add ebx, edx
lea edx, [ebx + esi + 0x1e376c08]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x60]
mov ebp, edx
ror ebp, 0xd
mov esi, edx
rol esi, 0xa
xor ebp, esi
mov esi, edx
ror esi, 2
xor ebp, esi
mov esi, edx
or esi, ecx
and esi, eax
mov ebx, edx
and ebx, ecx
or esi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add esi, ebp
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x38]
add esi, ebx
mov ebx, esi
ror ebx, 0xb
mov ebp, esi
rol ebp, 7
xor ebx, ebp
mov ebp, esi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x160]
mov ebp, dword [esp + 0x30]
xor ebp, edi
and ebp, esi
xor ebp, dword [esp + 0x30]
mov dword [esp + 0x38], esi
add ebp, ebx
mov esi, dword [esp + 0x58]
lea esi, [esi + ebp + 0x2748774c]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x20]
mov ebp, esi
ror ebp, 0xd
mov ebx, esi
rol ebx, 0xa
xor ebp, ebx
mov ebx, esi
ror ebx, 2
xor ebp, ebx
mov ebx, edx
or ebx, esi
and ebx, ecx
mov dword [esp + 0x50], ebx
mov ebx, edx
and ebx, esi
mov esi, dword [esp + 0x50]
or esi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add eax, ebx
add esi, ebp
mov dword [esp + 0x58], esi
mov esi, eax
ror esi, 0xb
mov ebx, eax
rol ebx, 7
xor esi, ebx
mov ebx, eax
ror ebx, 6
xor esi, ebx
add esi, dword [esp + 0x164]
mov ebx, edi
xor ebx, dword [esp + 0x38]
and ebx, eax
xor ebx, edi
add ebx, esi
mov esi, dword [esp + 0x30]
lea esi, [ebx + esi + 0x34b0bcb5]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x58]
mov ebp, esi
ror ebp, 0xd
mov ebx, esi
rol ebx, 0xa
xor ebp, ebx
mov ebx, esi
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x20]
or ebx, esi
and ebx, edx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x20]
and ebx, esi
mov esi, dword [esp + 0x50]
or esi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add esi, ebp
add ecx, ebx
mov dword [esp + 0x30], esi
mov ebx, ecx
ror ebx, 0xb
mov esi, ecx
rol esi, 7
xor ebx, esi
mov esi, ecx
ror esi, 6
xor ebx, esi
add ebx, dword [esp + 0x168]
mov esi, dword [esp + 0x38]
mov ebp, esi
xor ebp, eax
and ebp, ecx
xor ebp, esi
add ebp, ebx
lea esi, [edi + ebp + 0x391c0cb3]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x30]
and ebx, esi
mov ebp, esi
ror ebp, 0xd
mov edi, esi
rol edi, 0xa
xor ebp, edi
mov edi, esi
ror edi, 2
xor ebp, edi
mov edi, dword [esp + 0x58]
or edi, esi
and edi, dword [esp + 0x20]
or edi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edi, ebp
add edx, ebx
mov ebx, edx
ror ebx, 0xb
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x16c]
mov ebp, eax
xor ebp, ecx
and ebp, edx
xor ebp, eax
add ebp, ebx
mov ebx, dword [esp + 0x38]
lea ebx, [ebx + ebp + 0x4ed8aa4a]
mov dword [esp + 0x70], ebx
mov ebp, edi
ror ebp, 0xd
mov ebx, edi
rol ebx, 0xa
xor ebp, ebx
mov ebx, edi
ror ebx, 2
xor ebp, ebx
mov ebx, esi
or ebx, edi
and ebx, dword [esp + 0x58]
mov dword [esp + 0x28], edi
mov dword [esp + 0x50], ebx
mov ebx, esi
and ebx, edi
mov edi, dword [esp + 0x50]
or edi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edi, ebp
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x20]
add edi, ebx
mov ebx, edi
ror ebx, 0xb
mov ebp, edi
rol ebp, 7
mov dword [esp + 0x20], edi
xor ebx, ebp
mov ebp, edi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x170]
mov ebp, edx
xor ebp, ecx
and ebp, edi
mov edi, dword [esp + 0x38]
xor ebp, ecx
add ebp, ebx
lea eax, [eax + ebp + 0x5b9cca4f]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x70], eax
mov ebp, edi
ror ebp, 0xd
mov eax, edi
rol eax, 0xa
xor ebp, eax
mov eax, edi
ror eax, 2
xor ebp, eax
mov eax, ebx
and ebx, edi
or eax, edi
and eax, esi
or eax, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add eax, ebp
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x58]
add eax, ebx
mov ebx, eax
ror ebx, 0xb
mov ebp, eax
rol ebp, 7
xor ebx, ebp
mov dword [esp + 0x58], eax
ror eax, 6
xor ebx, eax
add ebx, dword [esp + 0x174]
mov eax, edx
xor eax, dword [esp + 0x20]
and eax, dword [esp + 0x58]
xor eax, edx
add eax, ebx
lea ecx, [eax + ecx + 0x682e6ff3]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x70], ecx
mov ebp, eax
ror ebp, 0xd
mov ecx, eax
rol ecx, 0xa
xor ebp, ecx
mov ecx, eax
ror ecx, 2
xor ebp, ecx
mov ecx, edi
or ecx, eax
and ecx, dword [esp + 0x28]
mov ebx, edi
and ebx, eax
or ecx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add esi, ebx
add ecx, ebp
mov dword [esp + 0x50], ecx
mov ecx, esi
ror ecx, 0xb
mov ebx, esi
rol ebx, 7
xor ecx, ebx
mov ebx, esi
ror ebx, 6
xor ecx, ebx
mov ebx, dword [esp + 0x20]
xor ebx, dword [esp + 0x58]
and ebx, esi
xor ebx, dword [esp + 0x20]
add ecx, dword [esp + 0x178]
add ebx, ecx
lea edx, [ebx + edx + 0x748f82ee]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x70], edx
mov ebp, ecx
ror ebp, 0xd
mov edx, ecx
rol edx, 0xa
xor ebp, edx
mov edx, ecx
ror edx, 2
xor ebp, edx
mov edx, eax
or edx, ecx
and edx, edi
mov ebx, eax
and ebx, ecx
or edx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edx, ebp
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x28]
add edx, ebx
mov ebx, edx
ror ebx, 0xb
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, edx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x17c]
mov ebp, dword [esp + 0x58]
xor ebp, esi
and ebp, edx
xor ebp, dword [esp + 0x58]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x20]
add ebp, ebx
mov ebx, dword [esp + 0x60]
lea edx, [edx + ebp + 0x78a5636f]
mov dword [esp + 0x70], edx
mov ebp, ebx
mov edx, ebx
ror ebp, 0xd
rol edx, 0xa
xor ebp, edx
mov edx, ebx
ror edx, 2
xor ebp, edx
mov edx, ebx
or edx, ecx
and edx, eax
and ebx, ecx
or edx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edx, ebp
add edi, ebx
mov dword [esp + 0x20], edx
mov edx, edi
ror edx, 0xb
mov ebx, edi
rol ebx, 7
xor edx, ebx
mov ebx, edi
ror ebx, 6
xor edx, ebx
add edx, dword [esp + 0x180]
mov ebx, esi
xor ebx, dword [esp + 0x28]
and ebx, edi
xor ebx, esi
add ebx, edx
mov edx, dword [esp + 0x58]
lea edx, [ebx + edx - 0x7b3787ec]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x20]
mov ebp, edx
ror ebp, 0xd
mov ebx, edx
rol ebx, 0xa
xor ebp, ebx
mov ebx, edx
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x60]
or ebx, edx
and ebx, ecx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x60]
and ebx, edx
mov edx, dword [esp + 0x50]
or edx, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edx, ebp
add eax, ebx
mov dword [esp + 0x58], edx
mov ebx, eax
ror ebx, 0xb
mov edx, eax
rol edx, 7
xor ebx, edx
mov edx, eax
ror edx, 6
xor ebx, edx
add ebx, dword [esp + 0x184]
mov edx, dword [esp + 0x28]
mov ebp, edx
xor ebp, edi
and ebp, eax
xor ebp, edx
add ebp, ebx
lea edx, [esi + ebp - 0x7338fdf8]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x58]
mov ebp, edx
ror ebp, 0xd
and ebx, edx
mov esi, edx
rol esi, 0xa
xor ebp, esi
mov esi, edx
ror esi, 2
xor ebp, esi
mov esi, dword [esp + 0x20]
or esi, edx
and esi, dword [esp + 0x60]
or esi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add ecx, ebx
add esi, ebp
mov ebx, ecx
ror ebx, 0xb
mov ebp, ecx
rol ebp, 7
xor ebx, ebp
mov ebp, ecx
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x188]
mov ebp, edi
xor ebp, eax
and ebp, ecx
xor ebp, edi
add ebp, ebx
mov ebx, dword [esp + 0x28]
lea ebx, [ebx + ebp - 0x6f410006]
mov dword [esp + 0x70], ebx
mov ebp, esi
ror ebp, 0xd
mov ebx, esi
rol ebx, 0xa
xor ebp, ebx
mov ebx, esi
ror ebx, 2
mov dword [esp + 0x30], esi
xor ebp, ebx
mov ebx, edx
or ebx, esi
and ebx, dword [esp + 0x20]
mov dword [esp + 0x50], ebx
mov ebx, edx
and ebx, esi
mov esi, dword [esp + 0x50]
or esi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add esi, ebp
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x60]
add esi, ebx
mov ebx, esi
ror ebx, 0xb
mov ebp, esi
rol ebp, 7
xor ebx, ebp
mov ebp, esi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x18c]
mov ebp, eax
xor ebp, ecx
and ebp, esi
xor ebp, eax
add ebp, ebx
lea edi, [edi + ebp - 0x5baf9315]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x28]
mov ebp, edi
ror ebp, 0xd
mov ebx, edi
rol ebx, 0xa
xor ebp, ebx
mov ebx, edi
ror ebx, 2
xor ebp, ebx
mov ebx, dword [esp + 0x30]
or ebx, edi
and ebx, edx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x30]
and ebx, edi
mov edi, dword [esp + 0x50]
or edi, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add edi, ebp
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x20]
add edi, ebx
mov ebx, edi
ror ebx, 0xb
mov ebp, edi
rol ebp, 7
xor ebx, ebp
mov ebp, edi
ror ebp, 6
xor ebx, ebp
add ebx, dword [esp + 0x190]
mov ebp, esi
xor ebp, ecx
and ebp, edi
xor ebp, ecx
add ebp, ebx
lea eax, [eax + ebp - 0x41065c09]
mov dword [esp + 0x70], eax
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x38]
mov ebp, edi
ror ebp, 0xd
mov eax, edi
rol eax, 0xa
xor ebp, eax
mov eax, edi
ror eax, 2
xor ebp, eax
mov eax, dword [esp + 0x28]
or eax, edi
and eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
and ebx, edi
or eax, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
add eax, ebp
add edx, ebx
mov dword [esp + 0x40], eax
mov eax, edx
ror eax, 0xb
mov ebx, edx
rol ebx, 7
xor eax, ebx
mov ebx, edx
ror ebx, 6
xor eax, ebx
add eax, dword [esp + 0x194]
mov ebx, esi
xor ebx, dword [esp + 0x20]
mov ebp, edi
and ebx, edx
xor ebx, esi
add ebx, eax
lea ecx, [ebx + ecx - 0x398e870e]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x40]
mov ebx, ecx
ror ebx, 0xd
mov eax, ecx
rol eax, 0xa
xor ebx, eax
mov eax, ecx
ror eax, 2
xor ebx, eax
or ebp, ecx
and ebp, dword [esp + 0x28]
mov eax, edi
and eax, ecx
or ebp, eax
mov eax, dword [esp + 0x31c]
add ebx, dword [eax + 8]
add ebp, ebx
mov ebx, dword [esp + 0x70]
add ebp, ebx
mov dword [eax + 8], ebp
add dword [eax + 0xc], ecx
add dword [eax + 0x10], edi
mov ecx, dword [esp + 0x28]
add dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x30]
add ebx, ecx
add dword [eax + 0x18], ebx
add dword [eax + 0x1c], edx
mov edx, dword [esp + 0x20]
add dword [eax + 0x20], edx
add dword [eax + 0x24], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x308
ret 4
lea edx, [edi + 0x30]
lea eax, [edx + 6]
lea ecx, [esp + 0xa4]
mov esi, 4
movzx ebx, byte [eax - 2]
shl ebx, 8
movzx ebp, byte [eax - 1]
or ebx, ebp
shl ebx, 8
movzx ebp, byte [eax]
or ebx, ebp
shl ebx, 8
movzx ebp, byte [eax + 1]
or ebx, ebp
mov dword [ecx - 8], ebx
movzx ebx, byte [edx]
shl ebx, 8
movzx ebp, byte [eax - 5]
or ebx, ebp
movzx ebp, byte [eax - 4]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax - 3]
shl ebx, 8
or ebx, ebp
mov dword [ecx - 0xc], ebx
movzx ebx, byte [eax + 6]
movzx ebp, byte [eax + 7]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax + 8]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax + 9]
shl ebx, 8
or ebx, ebp
mov dword [ecx], ebx
movzx ebx, byte [eax + 2]
movzx ebp, byte [eax + 3]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax + 4]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax + 5]
shl ebx, 8
or ebx, ebp
mov dword [ecx - 4], ebx
movzx ebx, byte [eax + 0xe]
movzx ebp, byte [eax + 0xf]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax + 0x10]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax + 0x11]
shl ebx, 8
or ebx, ebp
mov dword [ecx + 8], ebx
movzx ebx, byte [eax + 0xa]
movzx ebp, byte [eax + 0xb]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax + 0xc]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax + 0xd]
shl ebx, 8
or ebx, ebp
mov dword [ecx + 4], ebx
movzx ebx, byte [eax + 0x16]
movzx ebp, byte [eax + 0x17]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax + 0x18]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax + 0x19]
shl ebx, 8
or ebx, ebp
mov dword [ecx + 0x10], ebx
movzx ebx, byte [eax + 0x12]
movzx ebp, byte [eax + 0x13]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax + 0x14]
shl ebx, 8
or ebx, ebp
movzx ebp, byte [eax + 0x15]
shl ebx, 8
or ebx, ebp
mov dword [ecx + 0xc], ebx
add ecx, 0x20
add edx, 0x20
add eax, 0x20
sub esi, 1
jne 0x406423
lea esi, [esp + 0x9c]
mov dword [esp + 0x20], 0x40
lea eax, [esi + 4]
call fcn.00403900
mov dword [esp + 0x18], eax
lea eax, [esi + 0x6c]
mov ebp, edx
call fcn.00403990
mov ebx, dword [esi + 0x48]
lea ecx, [ebx + edx]
mov dword [esp + 0x6c], edx
cmp ecx, ebx
jae 0x406576
inc eax
add eax, dword [esi + 0x44]
mov dword [esp + 0x6c], ecx
add ecx, ebp
cmp ecx, ebp
jae 0x406584
inc eax
mov edx, dword [esi]
add eax, dword [esp + 0x18]
mov dword [esp + 0x6c], ecx
add ecx, edx
cmp ecx, edx
jae 0x406595
inc eax
add eax, dword [esi - 4]
add esi, 8
sub dword [esp + 0x20], 1
mov dword [esi + 0x74], eax
mov dword [esi + 0x78], ecx
jne 0x406551
mov edx, dword [edi + 0xb8]
mov eax, dword [edi + 0xb0]
mov ecx, dword [edi + 0xb4]
mov ebx, dword [edi + 0xdc]
mov esi, dword [edi + 0xd8]
mov ebp, dword [edi + 0xd0]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0xc4]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0xbc]
mov dword [esp + 0x64], edx
mov edx, dword [edi + 0xd0]
mov dword [esp + 0x54], ecx
mov ecx, dword [edi + 0xc0]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0xc8]
mov dword [esp + 0x40], edx
mov edx, dword [edi + 0xdc]
mov dword [esp + 0x60], ecx
mov ecx, dword [edi + 0xcc]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0xd4]
mov dword [esp + 0x5c], edx
mov edx, dword [edi + 0xe4]
mov dword [esp + 0x34], ecx
mov ecx, dword [edi + 0xd8]
mov dword [esp + 0x44], eax
xor ebx, edx
and eax, ebx
mov dword [esp + 0x58], ecx
mov ecx, dword [edi + 0xe0]
mov dword [esp + 0x1c], eax
xor eax, edx
xor esi, ecx
mov ebx, eax
and ebp, esi
lea eax, [esp + 0x40]
xor ebp, ecx
call fcn.00403860
mov ecx, dword [edi + 0xec]
mov esi, dword [edi + 0xe8]
add ecx, edx
cmp ecx, edx
jae 0x40666c
inc esi
mov dword [esp + 0x1c], ecx
add ecx, ebx
add esi, eax
cmp ecx, ebx
jae 0x406679
inc esi
lea eax, [ecx - 0x28d751de]
add esi, ebp
mov dword [esp + 0x1c], ecx
cmp eax, 0xd728ae22
jae 0x40668d
inc esi
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x14], eax
add eax, ecx
add esi, 0x428a2f98
mov dword [esp + 0x14], eax
cmp eax, ecx
jae 0x4066a9
inc esi
mov eax, dword [edi + 0xb0]
or eax, dword [esp + 0x20]
mov ecx, dword [edi + 0xb4]
or ecx, dword [esp + 0x24]
mov ebp, dword [edi + 0xb4]
and ebp, dword [esp + 0x24]
mov edx, dword [edi + 0xb0]
and edx, dword [esp + 0x20]
add esi, dword [esp + 0x98]
mov ebx, eax
mov eax, dword [esp + 0x64]
and ebx, dword [esp + 0x60]
and eax, ecx
mov dword [esp + 0x4c], eax
or eax, ebp
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x1c], ecx
or ebx, edx
call fcn.004037c0
mov ecx, dword [esp + 0x14]
lea ebp, [edx + ecx]
mov dword [esp + 0x18], eax
mov eax, esi
mov dword [esp + 0x6c], ecx
cmp ebp, edx
jae 0x406713
inc eax
mov edx, dword [esp + 0x4c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x74], ebp
add ebp, edx
mov dword [esp + 0x74], ebp
cmp ebp, edx
jae 0x40672a
inc eax
add eax, ebx
mov ebx, dword [esp + 0x34]
add ebx, ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], ebx
cmp ebx, ecx
jae 0x40674a
inc dword [esp + 0x30]
mov eax, dword [edi + 0xd4]
xor eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x30]
mov ecx, dword [edi + 0xd0]
and eax, ebx
add edx, esi
mov esi, dword [esp + 0x58]
mov dword [esp + 0x14], eax
xor eax, dword [esp + 0x5c]
xor ecx, esi
mov dword [esp + 0x30], edx
and edx, ecx
mov dword [esp + 0x1c], ebx
mov ebx, edx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x30]
xor ebx, esi
call fcn.00403860
mov ecx, dword [edi + 0xe4]
mov esi, dword [edi + 0xe0]
add ecx, edx
cmp ecx, edx
jae 0x40679e
inc esi
add esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
add ecx, eax
cmp ecx, eax
jae 0x4067af
inc esi
lea eax, [ecx + 0x23ef65cd]
add esi, ebx
mov dword [esp + 0x1c], ecx
cmp eax, 0x23ef65cd
jae 0x4067c3
inc esi
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x4c], eax
add eax, ecx
add esi, 0x71374491
mov dword [esp + 0x4c], eax
cmp eax, ecx
jae 0x4067df
inc esi
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x54]
add esi, dword [esp + 0xa0]
and edx, ebx
mov ecx, eax
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x70]
or eax, ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x1c], eax
and eax, dword [esp + 0x24]
or edx, ebx
and edx, dword [esp + 0x20]
mov dword [esp + 0x14], eax
or edx, dword [esp + 0x78]
and ecx, ebp
or eax, ecx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x10], edx
call fcn.004037c0
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x1c], ebx
add ebx, edx
mov ecx, esi
cmp ebx, edx
jae 0x406844
inc ecx
add ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x8c], ebx
add ebx, eax
mov dword [esp + 0x8c], ebx
cmp ebx, eax
jae 0x40685f
inc ecx
add ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x4c]
add eax, ecx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x64], eax
cmp eax, ecx
jae 0x406888
inc dword [esp + 0x60]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x40]
add edx, esi
mov esi, dword [esp + 0x34]
xor eax, esi
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x64]
and eax, esi
mov dword [esp + 0x14], eax
xor eax, dword [esp + 0x44]
mov dword [esp + 0x60], edx
and edx, ecx
mov dword [esp + 0x1c], esi
mov esi, edx
xor esi, dword [esp + 0x40]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x60]
call fcn.00403860
mov ecx, dword [edi + 0xdc]
add ecx, edx
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0xd8]
cmp ecx, edx
jae 0x4068e6
inc eax
mov edx, dword [esp + 0x14]
add eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x4068f9
inc eax
add eax, esi
mov esi, eax
lea eax, [ecx - 0x13b2c4d1]
mov dword [esp + 0x1c], ecx
cmp eax, 0xec4d3b2f
jae 0x40690f
inc esi
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x4c], eax
add eax, ecx
sub esi, 0x4a3f0431
mov dword [esp + 0x4c], eax
cmp eax, ecx
jae 0x40692b
inc esi
mov eax, dword [esp + 0x88]
and eax, dword [esp + 0x70]
mov edx, dword [esp + 0x88]
or edx, dword [esp + 0x70]
add esi, dword [esp + 0xa8]
and edx, dword [esp + 0x50]
mov dword [esp + 0x78], eax
or edx, dword [esp + 0x78]
mov eax, ebx
or eax, ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], eax
and eax, dword [esp + 0x54]
mov ecx, ebx
mov dword [esp + 0x14], eax
and ecx, ebp
or eax, ecx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x10], edx
call fcn.004037c0
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x1c], ebp
add ebp, edx
mov ecx, esi
cmp ebp, edx
jae 0x406994
inc ecx
add ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x94], ebp
add ebp, eax
mov dword [esp + 0x94], ebp
cmp ebp, eax
jae 0x4069af
inc ecx
add ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x4c]
add eax, ecx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x24], eax
cmp eax, ecx
jae 0x4069d8
inc dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x60]
xor ecx, dword [esp + 0x30]
add edx, esi
mov esi, dword [esp + 0x64]
xor eax, esi
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x24]
and eax, esi
mov dword [esp + 0x14], eax
xor eax, dword [esp + 0x34]
mov dword [esp + 0x20], edx
and edx, ecx
mov dword [esp + 0x1c], esi
mov esi, edx
xor esi, dword [esp + 0x30]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20]
call fcn.00403860
mov ecx, dword [edi + 0xd0]
mov edi, dword [edi + 0xd4]
add edi, edx
cmp edi, edx
jae 0x406a32
inc ecx
add ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], edi
add edi, eax
cmp edi, eax
jae 0x406a43
inc ecx
lea eax, [edi - 0x7e762444]
add ecx, esi
mov dword [esp + 0x1c], edi
cmp eax, 0x8189dbbc
jae 0x406a57
inc ecx
sub ecx, 0x164a245b
mov esi, ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x14], eax
add eax, ecx
mov dword [esp + 0x14], eax
cmp eax, ecx
jae 0x406a75
inc esi
mov edi, dword [esp + 0x90]
add esi, dword [esp + 0xb0]
mov eax, ebp
or eax, ebx
mov dword [esp + 0x1c], ebp
mov edx, edi
or edi, dword [esp + 0x88]
and edx, dword [esp + 0x88]
and edi, dword [esp + 0x70]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x1c], eax
and eax, dword [esp + 0x74]
mov ecx, ebp
mov dword [esp + 0x4c], eax
and ecx, ebx
or eax, ecx
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x58]
or edi, edx
call fcn.004037c0
mov ecx, dword [esp + 0x14]
lea ebx, [edx + ecx]
mov dword [esp + 0x18], eax
mov eax, esi
mov dword [esp + 0x6c], ecx
cmp ebx, edx
jae 0x406ada
inc eax
mov edx, dword [esp + 0x4c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x14], ebx
add ebx, edx
mov dword [esp + 0x14], ebx
cmp ebx, edx
jae 0x406af1
inc eax
add eax, edi
mov edi, dword [esp + 0x54]
add edi, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x54], edi
cmp edi, ecx
jae 0x406b11
inc dword [esp + 0x50]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x64]
add dword [esp + 0x50], esi
mov esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x20]
xor eax, edx
and eax, edi
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
xor eax, dword [esp + 0x64]
xor ecx, esi
and edx, ecx
mov dword [esp + 0x1c], edi
mov edi, edx
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x50]
xor edi, esi
call fcn.00403860
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x406b65
inc esi
add esi, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], ecx
add ecx, eax
cmp ecx, eax
jae 0x406b76
inc esi
lea eax, [ecx - 0xcb74ac8]
add esi, edi
mov dword [esp + 0x1c], ecx
cmp eax, 0xf348b538
jae 0x406b8a
inc esi
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x4c], eax
add eax, ecx
add esi, 0x3956c25b
mov dword [esp + 0x4c], eax
cmp eax, ecx
jae 0x406ba6
inc esi
mov edi, dword [esp + 0x10]
add esi, dword [esp + 0xb8]
mov eax, ebx
or eax, ebp
mov edx, edi
or edi, dword [esp + 0x90]
and edx, dword [esp + 0x90]
and edi, dword [esp + 0x88]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], eax
and eax, dword [esp + 0x8c]
mov ecx, ebx
and ecx, ebp
mov dword [esp + 0x7c], eax
or eax, ecx
mov dword [esp + 0x7c], eax
mov ebp, edi
lea eax, [esp + 0x40]
or ebp, edx
call fcn.004037c0
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x1c], edi
add edi, edx
mov ecx, esi
cmp edi, edx
jae 0x406c0b
inc ecx
add ecx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x84], edi
add edi, eax
mov dword [esp + 0x84], edi
cmp edi, eax
jae 0x406c26
inc ecx
mov eax, dword [esp + 0x4c]
add ecx, ebp
mov dword [esp + 0x80], ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x74]
lea ebp, [eax + ecx]
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], ebp
cmp ebp, eax
jae 0x406c4e
inc dword [esp + 0x28]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
xor eax, dword [esp + 0x24]
add edx, esi
mov esi, dword [esp + 0x20]
and eax, ebp
mov dword [esp + 0x4c], eax
xor eax, dword [esp + 0x24]
xor ecx, esi
mov dword [esp + 0x28], edx
and edx, ecx
mov dword [esp + 0x1c], ebp
mov ebp, edx
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x28]
xor ebp, esi
call fcn.00403860
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x406ca2
inc esi
add esi, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], ecx
add ecx, eax
cmp ecx, eax
jae 0x406cb3
inc esi
lea eax, [ecx - 0x49fa2fe7]
add esi, ebp
mov dword [esp + 0x1c], ecx
cmp eax, 0xb605d019
jae 0x406cc7
inc esi
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x7c], eax
add eax, ecx
add esi, 0x59f111f1
mov dword [esp + 0x7c], eax
cmp eax, ecx
jae 0x406ce3
inc esi
mov edx, dword [esp + 0x80]
mov ebp, dword [esp + 0x10]
add esi, dword [esp + 0xc0]
mov eax, edx
and eax, ebp
mov dword [esp + 0x70], eax
mov eax, edi
or eax, ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], eax
and eax, dword [esp + 0x94]
or edx, ebp
and edx, dword [esp + 0x90]
mov ecx, edi
or edx, dword [esp + 0x70]
mov dword [esp + 0x4c], eax
and ecx, ebx
or eax, ecx
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x74], edi
mov dword [esp + 0x48], edx
call fcn.004037c0
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x1c], ebp
add ebp, edx
mov ecx, esi
cmp ebp, edx
jae 0x406d4d
inc ecx
add ecx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x74], ebp
add ebp, eax
mov dword [esp + 0x74], ebp
cmp ebp, eax
jae 0x406d62
inc ecx
add ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x7c]
lea eax, [ecx + edx]
mov dword [esp + 0x64], ebp
mov dword [esp + 0x3c], eax
cmp eax, ecx
jae 0x406d8c
inc dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
xor eax, dword [esp + 0x54]
add edx, esi
mov esi, dword [esp + 0x3c]
and eax, esi
mov dword [esp + 0x4c], eax
xor eax, dword [esp + 0x54]
mov dword [esp + 0x38], edx
and edx, ecx
mov dword [esp + 0x1c], esi
mov esi, edx
xor esi, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x38]
call fcn.00403860
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x6c], ecx
add ecx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
cmp ecx, edx
jae 0x406de8
inc eax
mov edx, dword [esp + 0x4c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x406dfb
inc eax
add eax, esi
mov esi, eax
lea eax, [ecx - 0x50e6b065]
mov dword [esp + 0x1c], ecx
cmp eax, 0xaf194f9b
jae 0x406e11
inc esi
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x4c], eax
add eax, ecx
sub esi, 0x6dc07d5c
mov dword [esp + 0x4c], eax
cmp eax, ecx
jae 0x406e2d
inc esi
mov eax, dword [esp + 0x70]
and eax, dword [esp + 0x80]
mov edx, dword [esp + 0x70]
or edx, dword [esp + 0x80]
add esi, dword [esp + 0xc8]
and edx, dword [esp + 0x10]
mov dword [esp + 0x78], eax
mov eax, ebp
or eax, edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x1c], eax
and eax, ebx
mov ecx, ebp
mov dword [esp + 0x6c], eax
and ecx, edi
or eax, ecx
mov ebx, edx
or ebx, dword [esp + 0x78]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x7c], ebp
call fcn.004037c0
mov ecx, dword [esp + 0x4c]
lea edi, [edx + ecx]
mov dword [esp + 0x18], eax
mov eax, esi
mov dword [esp + 0x7c], ecx
cmp edi, edx
jae 0x406e97
inc eax
mov ecx, dword [esp + 0x6c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x8c], edi
add edi, ecx
mov dword [esp + 0x8c], edi
cmp edi, ecx
jae 0x406eb4
inc eax
mov ecx, dword [esp + 0x94]
add eax, ebx
mov dword [esp + 0x88], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
lea ebx, [eax + ecx]
mov dword [esp + 0x24], edi
mov dword [esp + 0x5c], ebx
cmp ebx, eax
jae 0x406edf
inc dword [esp + 0x58]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x58], esi
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
xor eax, edx
and eax, ebx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x6c], eax
xor eax, dword [esp + 0x2c]
xor ecx, esi
and edx, ecx
mov dword [esp + 0x1c], ebx
mov ebx, edx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x58]
xor ebx, esi
call fcn.00403860
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x406f33
inc esi
add esi, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], ecx
add ecx, eax
cmp ecx, eax
jae 0x406f44
inc esi
lea eax, [ecx - 0x25927ee8]
add esi, ebx
mov dword [esp + 0x1c], ecx
cmp eax, 0xda6d8118
jae 0x406f58
inc esi
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x94], eax
add eax, ecx
sub esi, 0x54e3a12b
mov dword [esp + 0x94], eax
cmp eax, ecx
jae 0x406f7a
inc esi
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x70]
add esi, dword [esp + 0xd0]
mov eax, edx
and eax, ebx
mov dword [esp + 0x68], eax
mov eax, edi
or eax, ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], eax
and eax, dword [esp + 0x84]
or edx, ebx
and edx, dword [esp + 0x80]
mov ecx, edi
or edx, dword [esp + 0x68]
mov dword [esp + 0x4c], eax
and ecx, ebp
or eax, ecx
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x48], edx
call fcn.004037c0
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x1c], ebx
add ebx, edx
mov ecx, esi
cmp ebx, edx
jae 0x406fe7
inc ecx
add ecx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x7c], ebx
add ebx, eax
mov dword [esp + 0x7c], ebx
cmp ebx, eax
jae 0x406ffc
inc ecx
add ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x94]
lea eax, [ecx + edx]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x44], eax
cmp eax, ecx
jae 0x407026
inc dword [esp + 0x40]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
xor eax, dword [esp + 0x3c]
add edx, esi
mov esi, dword [esp + 0x44]
and eax, esi
mov dword [esp + 0x6c], eax
xor eax, dword [esp + 0x3c]
mov dword [esp + 0x40], edx
and edx, ecx
mov dword [esp + 0x1c], esi
mov esi, edx
xor esi, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x40]
call fcn.00403860
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
add ecx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
cmp ecx, edx
jae 0x407082
inc eax
mov edx, dword [esp + 0x6c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x407095
inc eax
add eax, esi
mov esi, eax
lea eax, [ecx - 0x5cfcfdbe]
mov dword [esp + 0x1c], ecx
cmp eax, 0xa3030242
jae 0x4070ab
inc esi
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x14], eax
add eax, ecx
sub esi, 0x27f85568
mov dword [esp + 0x14], eax
cmp eax, ecx
jae 0x4070c7
inc esi
mov eax, dword [esp + 0x78]
and eax, dword [esp + 0x88]
mov edx, dword [esp + 0x78]
or edx, dword [esp + 0x88]
add esi, dword [esp + 0xd8]
and edx, dword [esp + 0x70]
mov dword [esp + 0x68], eax
mov eax, ebx
or eax, edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], eax
and eax, ebp
mov ecx, ebx
mov dword [esp + 0x4c], eax
and ecx, edi
or eax, ecx
mov ebp, edx
or ebp, dword [esp + 0x68]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x6c], ebx
call fcn.004037c0
mov ecx, dword [esp + 0x14]
lea edi, [edx + ecx]
mov dword [esp + 0x18], eax
mov eax, esi
mov dword [esp + 0x6c], ecx
cmp edi, edx
jae 0x407131
inc eax
mov ecx, dword [esp + 0x4c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x94], edi
add edi, ecx
mov dword [esp + 0x94], edi
cmp edi, ecx
jae 0x40714e
inc eax
mov ecx, dword [esp + 0x84]
add eax, ebp
mov dword [esp + 0x90], eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
lea ebp, [eax + ecx]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebp
cmp ebp, eax
jae 0x407179
inc dword [esp + 0x30]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
xor eax, dword [esp + 0x5c]
add edx, esi
mov esi, dword [esp + 0x58]
and eax, ebp
mov dword [esp + 0x6c], eax
xor eax, dword [esp + 0x5c]
xor ecx, esi
mov dword [esp + 0x30], edx
and edx, ecx
mov dword [esp + 0x1c], ebp
mov ebp, edx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x30]
xor ebp, esi
call fcn.00403860
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x4071cd
inc esi
add esi, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], ecx
add ecx, eax
cmp ecx, eax
jae 0x4071de
inc esi
lea eax, [ecx + 0x45706fbe]
add esi, ebp
mov dword [esp + 0x1c], ecx
cmp eax, 0x45706fbe
jae 0x4071f2
inc esi
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x84], eax
add eax, ecx
add esi, 0x12835b01
mov dword [esp + 0x84], eax
cmp eax, ecx
jae 0x407214
inc esi
mov edx, dword [esp + 0x90]
mov ebp, dword [esp + 0x78]
add esi, dword [esp + 0xe0]
mov eax, edx
and eax, ebp
mov dword [esp + 0x68], eax
mov eax, edi
or eax, ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], eax
and eax, dword [esp + 0x8c]
or edx, ebp
and edx, dword [esp + 0x88]
mov ecx, edi
or edx, dword [esp + 0x68]
mov dword [esp + 0x14], eax
and ecx, ebx
or eax, ecx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x10], edx
call fcn.004037c0
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x1c], ebp
add ebp, edx
mov ecx, esi
cmp ebp, edx
jae 0x407281
inc ecx
add ecx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], ebp
add ebp, eax
mov dword [esp + 0x4c], ebp
cmp ebp, eax
jae 0x407296
inc ecx
add ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x84]
lea eax, [ecx + edx]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x64], eax
cmp eax, ecx
jae 0x4072c0
inc dword [esp + 0x60]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x30]
xor ecx, dword [esp + 0x40]
add edx, esi
mov esi, dword [esp + 0x34]
xor eax, esi
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x64]
and eax, esi
mov dword [esp + 0x6c], eax
xor eax, dword [esp + 0x44]
mov dword [esp + 0x60], edx
and edx, ecx
mov dword [esp + 0x1c], esi
mov esi, edx
xor esi, dword [esp + 0x40]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
call fcn.00403860
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], ecx
add ecx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
cmp ecx, edx
jae 0x40731e
inc eax
mov edx, dword [esp + 0x6c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x407331
inc eax
add eax, esi
mov esi, eax
lea eax, [ecx + 0x4ee4b28c]
mov dword [esp + 0x1c], ecx
cmp eax, 0x4ee4b28c
jae 0x407347
inc esi
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x14], eax
add eax, ecx
add esi, 0x243185be
mov dword [esp + 0x14], eax
cmp eax, ecx
jae 0x407363
inc esi
mov eax, dword [esp + 0x48]
and eax, dword [esp + 0x90]
mov edx, dword [esp + 0x48]
or edx, dword [esp + 0x90]
add esi, dword [esp + 0xe8]
and edx, dword [esp + 0x78]
mov dword [esp + 0x68], eax
mov eax, ebp
or eax, edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x1c], eax
and eax, ebx
mov ecx, ebp
mov dword [esp + 0x74], eax
and ecx, edi
or eax, ecx
mov ebx, edx
or ebx, dword [esp + 0x68]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x6c], ebp
call fcn.004037c0
mov ecx, dword [esp + 0x14]
lea edi, [edx + ecx]
mov dword [esp + 0x18], eax
mov eax, esi
mov dword [esp + 0x6c], ecx
cmp edi, edx
jae 0x4073cd
inc eax
mov ecx, dword [esp + 0x74]
add eax, dword [esp + 0x18]
mov dword [esp + 0x84], edi
add edi, ecx
mov dword [esp + 0x84], edi
cmp edi, ecx
jae 0x4073ea
inc eax
mov ecx, dword [esp + 0x8c]
add eax, ebx
mov dword [esp + 0x80], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x14]
lea ebx, [eax + ecx]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x24], ebx
cmp ebx, eax
jae 0x407415
inc dword [esp + 0x20]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x34]
add dword [esp + 0x20], esi
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x60]
xor eax, edx
and eax, ebx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x6c], eax
xor eax, dword [esp + 0x34]
xor ecx, esi
and edx, ecx
mov dword [esp + 0x1c], ebx
mov ebx, edx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x20]
xor ebx, esi
call fcn.00403860
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x407469
inc esi
add esi, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], ecx
add ecx, eax
cmp ecx, eax
jae 0x40747a
inc esi
lea eax, [ecx - 0x2a004b1e]
add esi, ebx
mov dword [esp + 0x1c], ecx
cmp eax, 0xd5ffb4e2
jae 0x40748e
inc esi
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x74], eax
add eax, ecx
add esi, 0x550c7dc3
mov dword [esp + 0x74], eax
cmp eax, ecx
jae 0x4074aa
inc esi
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x48]
add esi, dword [esp + 0xf0]
mov eax, edx
and eax, ebx
mov dword [esp + 0x68], eax
mov eax, edi
or eax, ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], eax
and eax, dword [esp + 0x94]
or edx, ebx
and edx, dword [esp + 0x90]
mov ecx, edi
or edx, dword [esp + 0x68]
mov dword [esp + 0x8c], eax
and ecx, ebp
or eax, ecx
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x88], edx
call fcn.004037c0
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x1c], ebx
add ebx, edx
mov ecx, esi
cmp ebx, edx
jae 0x40751d
inc ecx
add ecx, eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x14], ebx
add ebx, eax
mov dword [esp + 0x14], ebx
cmp ebx, eax
jae 0x407535
inc ecx
add ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x74]
lea eax, [ecx + edx]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x54], eax
cmp eax, ecx
jae 0x40755f
inc dword [esp + 0x50]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x20]
xor ecx, dword [esp + 0x60]
add edx, esi
mov esi, dword [esp + 0x24]
xor eax, esi
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x54]
and eax, esi
mov dword [esp + 0x6c], eax
xor eax, dword [esp + 0x64]
mov dword [esp + 0x50], edx
and edx, ecx
mov dword [esp + 0x1c], esi
mov esi, edx
xor esi, dword [esp + 0x60]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x50]
call fcn.00403860
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x7c], ecx
add ecx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
cmp ecx, edx
jae 0x4075bd
inc eax
mov edx, dword [esp + 0x6c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x4075d0
inc eax
add eax, esi
mov esi, eax
lea eax, [ecx - 0xd847691]
mov dword [esp + 0x1c], ecx
cmp eax, 0xf27b896f
jae 0x4075e6
inc esi
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x7c], eax
add eax, ecx
add esi, 0x72be5d74
mov dword [esp + 0x7c], eax
cmp eax, ecx
jae 0x407602
inc esi
mov eax, dword [esp + 0x10]
and eax, dword [esp + 0x80]
mov edx, dword [esp + 0x10]
or edx, dword [esp + 0x80]
add esi, dword [esp + 0xf8]
and edx, dword [esp + 0x48]
mov dword [esp + 0x68], eax
mov eax, ebx
or eax, edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x1c], eax
and eax, ebp
mov ecx, ebx
mov dword [esp + 0x8c], eax
and ecx, edi
or eax, ecx
mov ebp, edx
or ebp, dword [esp + 0x68]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x6c], ebx
call fcn.004037c0
mov ecx, dword [esp + 0x7c]
lea edi, [edx + ecx]
mov dword [esp + 0x18], eax
mov eax, esi
mov dword [esp + 0x6c], ecx
cmp edi, edx
jae 0x407672
inc eax
mov ecx, dword [esp + 0x8c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x74], edi
add edi, ecx
mov dword [esp + 0x74], edi
cmp edi, ecx
jae 0x40768c
inc eax
mov ecx, dword [esp + 0x94]
add eax, ebp
mov dword [esp + 0x70], eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x7c]
lea ebp, [eax + ecx]
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], ebp
cmp ebp, eax
jae 0x4076b4
inc dword [esp + 0x28]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
xor eax, dword [esp + 0x24]
add edx, esi
mov esi, dword [esp + 0x20]
and eax, ebp
mov dword [esp + 0x6c], eax
xor eax, dword [esp + 0x24]
xor ecx, esi
mov dword [esp + 0x28], edx
and edx, ecx
mov dword [esp + 0x1c], ebp
mov ebp, edx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x28]
xor ebp, esi
call fcn.00403860
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x407708
inc esi
add esi, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], ecx
add ecx, eax
cmp ecx, eax
jae 0x407719
inc esi
lea eax, [ecx + 0x3b1696b1]
add esi, ebp
mov dword [esp + 0x1c], ecx
cmp eax, 0x3b1696b1
jae 0x40772d
inc esi
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x8c], eax
add eax, ecx
sub esi, 0x7f214e02
mov dword [esp + 0x8c], eax
cmp eax, ecx
jae 0x40774f
inc esi
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x10]
add esi, dword [esp + 0x100]
mov eax, edx
and eax, ebp
mov dword [esp + 0x68], eax
mov eax, edi
or eax, ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], eax
and eax, dword [esp + 0x84]
or edx, ebp
and edx, dword [esp + 0x80]
mov ecx, edi
or edx, dword [esp + 0x68]
mov dword [esp + 0x94], eax
and ecx, ebx
or eax, ecx
mov dword [esp + 0x94], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x90], edx
call fcn.004037c0
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x1c], ebp
add ebp, edx
mov ecx, esi
cmp ebp, edx
jae 0x4077c2
inc ecx
add ecx, eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x7c], ebp
add ebp, eax
mov dword [esp + 0x7c], ebp
cmp ebp, eax
jae 0x4077da
inc ecx
add ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x8c]
lea eax, [ecx + edx]
mov dword [esp + 0x64], ebp
mov dword [esp + 0x3c], eax
cmp eax, ecx
jae 0x407807
inc dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
xor ecx, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
xor eax, dword [esp + 0x54]
add edx, esi
mov esi, dword [esp + 0x3c]
and eax, esi
mov dword [esp + 0x6c], eax
xor eax, dword [esp + 0x54]
mov dword [esp + 0x38], edx
and edx, ecx
mov dword [esp + 0x1c], esi
mov esi, edx
xor esi, dword [esp + 0x50]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x38]
call fcn.00403860
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x4c], ecx
add ecx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
cmp ecx, edx
jae 0x407863
inc eax
mov edx, dword [esp + 0x6c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x407876
inc eax
add eax, esi
mov esi, eax
lea eax, [ecx + 0x25c71235]
mov dword [esp + 0x1c], ecx
cmp eax, 0x25c71235
jae 0x40788c
inc esi
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x4c], eax
add eax, ecx
sub esi, 0x6423f959
mov dword [esp + 0x4c], eax
cmp eax, ecx
jae 0x4078a8
inc esi
mov eax, dword [esp + 0x78]
and eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
or edx, dword [esp + 0x70]
add esi, dword [esp + 0x108]
and edx, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov eax, ebp
or eax, edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x1c], eax
and eax, ebx
mov ecx, ebp
mov dword [esp + 0x8c], eax
and ecx, edi
or eax, ecx
mov ebx, edx
or ebx, dword [esp + 0x68]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x6c], ebp
call fcn.004037c0
mov ecx, dword [esp + 0x4c]
lea edi, [edx + ecx]
mov dword [esp + 0x18], eax
mov eax, esi
mov dword [esp + 0x6c], ecx
cmp edi, edx
jae 0x407912
inc eax
mov ecx, dword [esp + 0x8c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x94], edi
add edi, ecx
mov dword [esp + 0x94], edi
cmp edi, ecx
jae 0x407932
inc eax
mov ecx, dword [esp + 0x84]
add eax, ebx
mov dword [esp + 0x90], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
lea ebx, [eax + ecx]
mov dword [esp + 0x24], edi
mov dword [esp + 0x5c], ebx
cmp ebx, eax
jae 0x40795d
inc dword [esp + 0x58]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x58], esi
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
xor eax, edx
and eax, ebx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x6c], eax
xor eax, dword [esp + 0x2c]
xor ecx, esi
and edx, ecx
mov dword [esp + 0x1c], ebx
mov ebx, edx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x58]
xor ebx, esi
call fcn.00403860
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x4079b1
inc esi
add esi, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], ecx
add ecx, eax
cmp ecx, eax
jae 0x4079c2
inc esi
lea eax, [ecx - 0x3096d96c]
add esi, ebx
mov dword [esp + 0x1c], ecx
cmp eax, 0xcf692694
jae 0x4079d6
inc esi
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x84], eax
add eax, ecx
sub esi, 0x3e640e8c
mov ebx, esi
mov dword [esp + 0x84], eax
cmp eax, ecx
jae 0x4079fa
inc ebx
mov edx, dword [esp + 0x90]
mov esi, dword [esp + 0x78]
add ebx, dword [esp + 0x110]
mov eax, edx
and eax, esi
mov dword [esp + 0x68], eax
mov eax, edi
or eax, ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x1c], eax
and eax, dword [esp + 0x74]
or edx, esi
and edx, dword [esp + 0x70]
mov ecx, edi
or edx, dword [esp + 0x68]
mov dword [esp + 0x4c], eax
and ecx, ebp
or eax, ecx
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x48], edx
call fcn.004037c0
mov esi, dword [esp + 0x84]
mov dword [esp + 0x1c], esi
add esi, edx
mov ecx, ebx
cmp esi, edx
jae 0x407a61
inc ecx
add ecx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x8c], esi
add esi, eax
mov dword [esp + 0x8c], esi
cmp esi, eax
jae 0x407a7c
inc ecx
mov eax, dword [esp + 0x84]
add ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x14]
add edx, eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], esi
mov dword [esp + 0x44], edx
cmp edx, eax
jae 0x407aa8
inc dword [esp + 0x40]
mov eax, dword [esp + 0x5c]
add dword [esp + 0x40], ebx
mov ecx, dword [esp + 0x58]
xor ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
xor eax, dword [esp + 0x3c]
and ebx, ecx
xor ebx, dword [esp + 0x38]
and eax, edx
mov dword [esp + 0x6c], eax
xor eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x40]
call fcn.00403860
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
add ecx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
cmp ecx, edx
jae 0x407afc
inc eax
mov edx, dword [esp + 0x6c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x407b0f
inc eax
add eax, ebx
mov ebx, eax
lea eax, [ecx - 0x610eb52e]
mov dword [esp + 0x1c], ecx
cmp eax, 0x9ef14ad2
jae 0x407b25
inc ebx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x4c], eax
add eax, ecx
sub ebx, 0x1b64963f
mov dword [esp + 0x4c], eax
cmp eax, ecx
jae 0x407b41
inc ebx
mov eax, dword [esp + 0x88]
and eax, dword [esp + 0x90]
mov edx, dword [esp + 0x88]
or edx, dword [esp + 0x90]
add ebx, dword [esp + 0x118]
and edx, dword [esp + 0x78]
mov dword [esp + 0x68], eax
mov eax, esi
or eax, edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x1c], eax
and eax, ebp
mov ecx, esi
and ecx, edi
mov dword [esp + 0x84], eax
or eax, ecx
mov edi, edx
or edi, dword [esp + 0x68]
mov dword [esp + 0x84], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x6c], esi
call fcn.004037c0
mov ecx, dword [esp + 0x4c]
lea ebp, [edx + ecx]
mov dword [esp + 0x18], eax
mov eax, ebx
mov dword [esp + 0x6c], ecx
cmp ebp, edx
jae 0x407bb7
inc eax
mov ecx, dword [esp + 0x84]
add eax, dword [esp + 0x18]
mov dword [esp + 0x14], ebp
add ebp, ecx
mov dword [esp + 0x14], ebp
cmp ebp, ecx
jae 0x407bd1
inc eax
mov ecx, dword [esp + 0x74]
add eax, edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x4c]
lea edi, [eax + ecx]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], edi
cmp edi, eax
jae 0x407bf6
inc dword [esp + 0x30]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
xor ecx, dword [esp + 0x58]
mov dword [esp + 0x1c], eax
xor eax, dword [esp + 0x5c]
add edx, ebx
and eax, edi
mov dword [esp + 0x6c], eax
xor eax, dword [esp + 0x5c]
mov dword [esp + 0x30], edx
and edx, ecx
mov ebx, edx
xor ebx, dword [esp + 0x58]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x30]
mov dword [esp + 0x1c], edi
call fcn.00403860
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x4c], ecx
add ecx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
cmp ecx, edx
jae 0x407c4e
inc eax
mov edx, dword [esp + 0x6c]
add eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ecx
add ecx, edx
cmp ecx, edx
jae 0x407c61
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x308
ret 4