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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xd8
mov edi, dword [esp + 0xf0]
mov eax, dword [esp + 0xec]
mov dword [esp + 0x20], eax
movdqu xmm0, xmmword [ecx + 0x118]
movd xmm1, dword [esp + 0xf0]
pshufd xmm1, xmm1, 0x44
paddq xmm1, xmm0
movdqu xmmword [ecx + 0x118], xmm1
mov al, byte [ecx + 0x110]
mov dh, byte [ecx + 0x111]
test al, al
mov ebx, ecx
mov dword [esp + 0x28], ecx
je 0x469d12
mov dl, dh
sub dl, al
add dl, 0x40
movzx esi, dl
cmp esi, edi
jbe 0x469d2f
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x64], ecx
jmp 0x46b302
mov eax, edi
movzx esi, dh
lea ecx, [esi + 0x40]
cmp eax, ecx
mov dword [esp + 0x64], eax
jae 0x46b32d
mov ecx, dword [esp + 0x20]
jmp 0x46c964
mov ecx, ebx
lea esi, [ebx + 0x10]
mov dword [esp + 0xd4], esi
lea esi, [ebx + 0x50]
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0xf0]
mov dword [esp + 0x64], esi
movzx esi, dh
mov ah, 0x40
sub ah, al
cmp al, dh
movzx ecx, ah
movzx edx, dl
cmovbe edx, ecx
mov edi, ebx
lea esi, [ebx + esi + 0x10]
mov ecx, dword [esp + 0x20]
cmovbe esi, ecx
movzx eax, al
lea eax, [ebx + eax + 0x10]
movzx edx, dl
mov dword [esp + 0x24], edx
push edx
push ecx
push eax
call fcn.004c4690
add esp, 0xc
mov dword [esp + 0xc], esi
movdqu xmm1, xmmword [esi]
movdqu xmm2, xmmword [esi + 0x10]
movdqu xmm3, xmmword [esi + 0x20]
movdqu xmm0, xmmword [esi + 0x30]
movdqa xmm4, xmmword [ebx + 0xd0]
movdqa xmm5, xmm4
movdqa xmm6, xmmword [0x4ea540]
pclmulqdq xmm5, xmm6, 0x10
pxor xmm5, xmm1
movdqa xmm7, xmmword [0x4ea550]
pclmulqdq xmm4, xmm7, 1
pxor xmm4, xmm5
movdqa xmmword [ebx + 0xd0], xmm4
movdqa xmm1, xmmword [ebx + 0xe0]
movdqa xmm4, xmm1
pclmulqdq xmm4, xmm6, 0x10
pxor xmm4, xmm2
pclmulqdq xmm1, xmm7, 1
pxor xmm1, xmm4
movdqa xmmword [ebx + 0xe0], xmm1
movdqa xmm1, xmmword [ebx + 0xf0]
movdqa xmm2, xmm1
pclmulqdq xmm2, xmm6, 0x10
pxor xmm2, xmm3
pclmulqdq xmm1, xmm7, 1
pxor xmm1, xmm2
movdqa xmmword [ebx + 0xf0], xmm1
movdqa xmm1, xmmword [ebx + 0x100]
movdqa xmm2, xmm1
pclmulqdq xmm2, xmm6, 0x10
pxor xmm2, xmm0
pclmulqdq xmm1, xmm7, 1
pxor xmm1, xmm2
movdqa xmmword [ebx + 0x100], xmm1
mov edx, dword [ebx + 0xa0]
mov dword [esp + 0x34], edx
mov esi, dword [ebx + 0xa4]
mov dword [esp + 0x10], esi
mov ebx, dword [ebx + 0xa8]
mov dword [esp + 0x60], ebx
mov ecx, dword [edi + 0xac]
mov dword [esp + 0xc0], ecx
mov eax, ecx
xor eax, ebx
and eax, esi
xor eax, ecx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0xa4], ecx
add ecx, edx
lea ebx, [eax + ecx - 0x28955b88]
mov esi, dword [edi + 0x98]
mov ebp, dword [edi + 0x9c]
mov eax, ebp
xor eax, esi
mov edx, dword [edi + 0x94]
and eax, edx
xor eax, ebp
mov dword [esp + 0xcc], ebp
mov ecx, dword [edi + 0x90]
mov dword [esp + 0xc8], ecx
add eax, ecx
mov edi, dword [esp + 0xc]
mov ecx, dword [edi]
mov dword [esp + 0x54], ecx
add ecx, eax
add ecx, 0xd76aa478
rol ecx, 7
mov dword [esp + 0x68], edx
add ecx, edx
mov dword [esp + 0xbc], esi
mov eax, esi
xor eax, edx
and eax, ecx
xor eax, esi
mov edx, dword [edi + 4]
mov dword [esp + 0xb0], edx
lea esi, [edx + ebp]
lea ebp, [eax + esi]
add ebp, 0xe8c7b756
rol ebx, 7
mov esi, dword [esp + 0x10]
add ebx, esi
rol ebp, 0xc
mov edx, dword [esp + 0x60]
mov eax, edx
xor eax, esi
and eax, ebx
xor eax, edx
mov esi, dword [esp + 0x28]
mov esi, dword [esi + 0x14]
mov dword [esp + 0xb4], esi
mov edx, dword [esp + 0xc0]
add esi, edx
add eax, esi
add eax, 0xe8c7b756
mov dword [esp], eax
add ebp, ecx
mov eax, ecx
mov esi, dword [esp + 0x68]
xor eax, esi
and eax, ebp
xor eax, esi
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 8]
mov dword [esp + 0x5c], edx
mov esi, dword [esp + 0xbc]
add esi, edx
lea edi, [eax + esi]
add edi, 0x242070db
mov edx, dword [esp]
rol edx, 0xc
add edx, ebx
mov dword [esp], edx
mov eax, ebx
mov esi, dword [esp + 0x10]
xor eax, esi
and eax, edx
xor eax, esi
mov esi, dword [esp + 0x28]
mov edx, dword [esi + 0x18]
mov dword [esp + 0x30], edx
mov esi, dword [esp + 0x60]
add esi, edx
add eax, esi
add eax, 0x242070db
mov dword [esp + 0x14], eax
rol edi, 0x11
add edi, ebp
mov dword [esp + 4], edi
mov eax, ebp
xor eax, ecx
and eax, edi
xor eax, ecx
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0xc]
mov dword [esp + 0xac], edx
mov esi, dword [esp + 0x68]
add esi, edx
lea edi, [eax + esi]
add edi, 0xc1bdceee
mov eax, dword [esp + 0x14]
rol eax, 0x11
mov esi, dword [esp]
add eax, esi
mov dword [esp + 0x14], eax
rol edi, 0x16
xor esi, ebx
and esi, eax
xor esi, ebx
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0x10]
add eax, edx
add esi, eax
add esi, 0xc1bdceee
mov eax, dword [esp + 4]
add edi, eax
xor eax, ebp
and eax, edi
xor eax, ebp
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x10]
mov dword [esp + 0x18], edx
add ecx, edx
add ecx, eax
add ecx, 0xf57c0faf
rol esi, 0x16
mov eax, dword [esp + 0x14]
add esi, eax
mov dword [esp + 8], esi
mov edx, dword [esp]
xor eax, edx
and eax, esi
xor eax, edx
mov esi, dword [esp + 0x28]
mov edx, dword [esi + 0x20]
mov dword [esp + 0xb8], edx
add ebx, edx
lea esi, [eax + ebx]
add esi, 0xf57c0faf
rol ecx, 7
mov dword [esp + 0x58], edi
add ecx, edi
mov edx, dword [esp + 4]
xor edi, edx
and edi, ecx
xor edi, edx
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x14]
mov dword [esp + 0x9c], edx
add ebp, edx
add edi, ebp
add edi, 0x4787c62a
rol esi, 7
mov eax, dword [esp + 8]
add esi, eax
mov dword [esp + 0x1c], esi
rol edi, 0xc
mov edx, dword [esp + 0x14]
xor eax, edx
and eax, esi
xor eax, edx
mov esi, dword [esp + 0x28]
mov edx, dword [esi + 0x24]
mov dword [esp + 0x98], edx
mov esi, dword [esp]
add esi, edx
lea ebx, [eax + esi]
add ebx, 0x4787c62a
mov dword [esp + 0x50], ecx
add edi, ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 4]
add edx, eax
mov eax, ecx
mov esi, dword [esp + 0x58]
xor eax, esi
and eax, edi
xor eax, esi
lea ebp, [eax + edx]
add ebp, 0xa8304613
rol ebx, 0xc
mov ecx, dword [esp + 0x1c]
add ebx, ecx
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x4c], eax
mov edx, dword [esp + 0x14]
add edx, eax
mov eax, ecx
mov ecx, dword [esp + 8]
xor eax, ecx
and eax, ebx
xor eax, ecx
add eax, edx
add eax, 0xa8304613
mov dword [esp + 4], eax
rol ebp, 0x11
add ebp, edi
mov dword [esp + 0x38], ebp
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x88], eax
mov edx, esi
add edx, eax
mov eax, edi
mov ecx, dword [esp + 0x50]
xor eax, ecx
and eax, ebp
xor eax, ecx
lea esi, [eax + edx]
add esi, 0xfd469501
mov ebp, dword [esp + 4]
rol ebp, 0x11
add ebp, ebx
mov dword [esp + 4], ebp
rol esi, 0x16
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 8]
add ecx, eax
mov eax, ebx
mov edx, dword [esp + 0x1c]
xor eax, edx
and eax, ebp
xor eax, edx
add eax, ecx
add eax, 0xfd469501
mov dword [esp], eax
mov ebp, dword [esp + 0x38]
add esi, ebp
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x20]
mov dword [esp + 0xa0], edx
mov ecx, dword [esp + 0x50]
add ecx, edx
xor ebp, edi
and ebp, esi
xor ebp, edi
lea eax, [ecx + ebp]
add eax, 0x698098d8
mov dword [esp + 8], eax
mov eax, dword [esp]
rol eax, 0x16
mov ecx, dword [esp + 4]
add eax, ecx
mov dword [esp], eax
mov ebp, dword [esp + 0x28]
mov ebp, dword [ebp + 0x30]
mov dword [esp + 0x44], ebp
mov edx, dword [esp + 0x1c]
add edx, ebp
mov ebp, ecx
xor ebp, ebx
and ebp, eax
xor ebp, ebx
lea eax, [edx + ebp]
add eax, 0x698098d8
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 8]
rol ecx, 7
mov dword [esp + 0x48], esi
add ecx, esi
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x50], edx
add edi, edx
mov eax, dword [esp + 0x38]
xor esi, eax
and esi, ecx
xor esi, eax
add edi, esi
add edi, 0x8b44f7af
mov edx, dword [esp + 0x14]
rol edx, 7
mov ebp, dword [esp]
add edx, ebp
mov esi, edx
mov dword [esp + 0x14], edx
rol edi, 0xc
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 0x34]
mov dword [esp + 0x58], edx
add ebx, edx
mov eax, dword [esp + 4]
xor ebp, eax
and ebp, esi
xor ebp, eax
mov esi, eax
add ebx, ebp
add ebx, 0x8b44f7af
add edi, ecx
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x28]
mov dword [esp + 0x8c], edx
mov eax, dword [esp + 0x38]
add eax, edx
mov ebp, ecx
mov edx, dword [esp + 0x48]
xor ebp, edx
and ebp, edi
xor ebp, edx
add eax, ebp
add eax, 0xffff5bb1
rol ebx, 0xc
mov ebp, dword [esp + 0x14]
add ebx, ebp
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 0x38]
mov dword [esp + 0x40], edx
add esi, edx
mov edx, ebp
mov ebp, dword [esp]
xor edx, ebp
and edx, ebx
xor edx, ebp
add esi, edx
add esi, 0xffff5bb1
mov ebp, eax
rol ebp, 0x11
add ebp, edi
mov dword [esp + 4], ebp
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x48]
add eax, edx
mov edx, edi
xor edx, ecx
and edx, ebp
mov dword [esp + 8], ecx
xor edx, ecx
lea ecx, [edx + eax]
add ecx, 0x895cd7be
rol esi, 0x11
add esi, ebx
rol ecx, 0x16
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x48], edx
mov ebp, dword [esp]
add ebp, edx
mov edx, ebx
mov eax, dword [esp + 0x14]
xor edx, eax
and edx, esi
xor edx, eax
lea eax, [edx + ebp]
add eax, 0x895cd7be
mov dword [esp], eax
mov edx, ecx
mov ebp, dword [esp + 4]
add edx, ebp
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 8]
add ecx, eax
mov eax, ebp
xor eax, edi
and eax, edx
xor eax, edi
lea ebp, [eax + ecx]
add ebp, 0x6b901122
mov ecx, dword [esp]
rol ecx, 0x16
add ecx, esi
mov eax, ecx
mov dword [esp], ecx
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x40]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x14]
add edx, ecx
mov ecx, esi
xor ecx, ebx
and ecx, eax
xor ecx, ebx
add ecx, edx
add ecx, 0x6b901122
rol ebp, 7
mov eax, dword [esp + 0x1c]
add ebp, eax
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x34]
mov dword [esp + 0x94], edx
add edi, edx
mov edx, eax
mov eax, dword [esp + 4]
xor edx, eax
and edx, ebp
xor edx, eax
add edx, edi
add edx, 0xfd987193
rol ecx, 7
mov eax, dword [esp]
add ecx, eax
rol edx, 0xc
mov edi, dword [esp + 0x28]
mov edi, dword [edi + 0x44]
mov dword [esp + 0x90], edi
add ebx, edi
xor eax, esi
and eax, ecx
xor eax, esi
add eax, ebx
add eax, 0xfd987193
mov dword [esp + 8], eax
add edx, ebp
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x70], edi
mov eax, dword [esp + 4]
add eax, edi
mov edi, ebp
mov ebx, dword [esp + 0x1c]
xor edi, ebx
and edi, edx
xor edi, ebx
add eax, edi
add eax, 0xa679438e
mov dword [esp + 4], eax
mov edi, dword [esp + 8]
rol edi, 0xc
mov eax, ecx
mov dword [esp + 0x14], ecx
add edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x28]
mov edi, dword [edi + 0x48]
mov dword [esp + 0x6c], edi
add esi, edi
mov edi, eax
mov eax, dword [esp]
xor edi, eax
and edi, ecx
xor edi, eax
add edi, esi
add edi, 0xa679438e
mov eax, dword [esp + 4]
rol eax, 0x11
add eax, edx
mov dword [esp + 4], eax
mov esi, dword [esp + 0xc]
mov esi, dword [esi + 0x3c]
mov dword [esp + 0x80], esi
add ebx, esi
mov esi, edx
xor esi, ebp
and esi, eax
xor esi, ebp
add esi, ebx
add esi, 0x49b40821
rol edi, 0x11
mov dword [esp + 8], ecx
add edi, ecx
rol esi, 0x16
mov ebx, dword [esp + 0x28]
mov ebx, dword [ebx + 0x4c]
mov dword [esp + 0x7c], ebx
mov eax, dword [esp]
add eax, ebx
mov edx, dword [esp + 0x14]
xor ecx, edx
and ecx, edi
xor ecx, edx
add eax, ecx
add eax, 0x49b40821
mov dword [esp + 0xc], eax
add ebp, dword [esp + 0xb0]
mov ecx, dword [esp + 0x2c]
mov ebx, ecx
not ebx
mov eax, dword [esp + 4]
and ebx, eax
add ebx, ebp
add esi, eax
mov ebp, eax
mov eax, esi
and eax, ecx
add eax, ebx
add eax, 0xf61e2562
mov dword [esp], eax
add edx, dword [esp + 0xb4]
mov ebx, dword [esp + 8]
mov eax, ebx
not eax
and eax, edi
add eax, edx
mov ecx, dword [esp + 0xc]
rol ecx, 0x16
add ecx, edi
mov dword [esp + 0xc], ecx
and ecx, ebx
add eax, ecx
add eax, 0xf61e2562
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x2c]
add ecx, dword [esp + 0x3c]
mov eax, ebp
not eax
and eax, esi
add eax, ecx
mov ecx, dword [esp]
rol ecx, 5
add ecx, esi
mov dword [esp], ecx
and ecx, ebp
lea edx, [ecx + eax]
add edx, 0xc040b340
add ebx, dword [esp + 0x4c]
mov eax, edi
not eax
mov ecx, dword [esp + 0xc]
and eax, ecx
add eax, ebx
mov ebx, dword [esp + 0x14]
rol ebx, 5
add ebx, ecx
mov ecx, ebx
mov dword [esp + 0x14], ebx
rol edx, 9
and ecx, edi
lea ebx, [ecx + eax]
add ebx, 0xc040b340
add ebp, dword [esp + 0x38]
mov eax, esi
not eax
mov ecx, dword [esp]
and eax, ecx
add eax, ebp
add edx, ecx
mov dword [esp + 0x2c], edx
and edx, esi
lea ebp, [edx + eax]
add ebp, 0x265e5a51
add edi, dword [esp + 0x48]
mov edx, dword [esp + 0xc]
mov eax, edx
not eax
mov ecx, dword [esp + 0x14]
and eax, ecx
add eax, edi
rol ebx, 9
add ebx, ecx
mov ecx, ebx
and ecx, edx
lea edi, [ecx + eax]
add edi, 0x265e5a51
mov ecx, esi
add ecx, dword [esp + 0x54]
mov esi, dword [esp]
mov eax, esi
not eax
mov edx, dword [esp + 0x2c]
and eax, edx
add eax, ecx
rol ebp, 0xe
add ebp, edx
mov ecx, ebp
and ecx, esi
lea esi, [ecx + eax]
add esi, 0xe9b6c7aa
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x14]
mov eax, edx
not eax
and eax, ebx
add eax, ecx
rol edi, 0xe
add edi, ebx
rol esi, 0x14
mov ecx, edi
and ecx, edx
add eax, ecx
add eax, 0xe9b6c7aa
mov dword [esp + 0xc], eax
mov ecx, dword [esp]
add ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x2c]
mov eax, edx
not eax
and eax, ebp
add eax, ecx
add esi, ebp
mov dword [esp + 0x1c], esi
mov ecx, esi
and ecx, edx
add eax, ecx
add eax, 0xd62f105d
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x98]
mov ecx, ebx
not ecx
and ecx, edi
add ecx, eax
mov esi, dword [esp + 0xc]
rol esi, 0x14
add esi, edi
mov dword [esp + 0xc], esi
and esi, ebx
lea eax, [esi + ecx]
add eax, 0xd62f105d
mov dword [esp + 8], eax
add edx, dword [esp + 0x8c]
mov esi, ebp
not esi
mov eax, dword [esp + 0x1c]
and esi, eax
add esi, edx
mov ecx, dword [esp + 4]
rol ecx, 5
add ecx, eax
mov dword [esp + 4], ecx
mov edx, ecx
and edx, ebp
add edx, esi
add edx, 0x2441453
add ebx, dword [esp + 0x40]
mov esi, edi
not esi
mov eax, dword [esp + 0xc]
and esi, eax
add esi, ebx
mov ebx, dword [esp + 8]
rol ebx, 5
add ebx, eax
mov dword [esp + 8], ebx
rol edx, 9
and ebx, edi
add ebx, esi
add ebx, 0x2441453
add ebp, dword [esp + 0x80]
mov eax, dword [esp + 0x1c]
mov esi, eax
not esi
and esi, ecx
add esi, ebp
add edx, ecx
mov ebp, edx
and ebp, eax
lea ecx, [esi + ebp]
add ecx, 0xd8a1e681
mov dword [esp], ecx
add edi, dword [esp + 0x7c]
mov ebp, dword [esp + 0xc]
mov esi, ebp
not esi
mov ecx, dword [esp + 8]
and esi, ecx
add esi, edi
rol ebx, 9
add ebx, ecx
mov edi, ebx
and edi, ebp
add edi, esi
add edi, 0xd8a1e681
mov ebp, eax
add ebp, dword [esp + 0x18]
mov eax, dword [esp + 4]
mov esi, eax
not esi
and esi, edx
add esi, ebp
mov ebp, dword [esp]
rol ebp, 0xe
add ebp, edx
mov dword [esp], ebp
and ebp, eax
lea eax, [esi + ebp]
add eax, 0xe7d3fbc8
mov ebp, dword [esp + 0xc]
add ebp, dword [esp + 0xb8]
mov esi, ecx
not esi
and esi, ebx
add esi, ebp
rol edi, 0xe
add edi, ebx
rol eax, 0x14
mov dword [esp + 0x1c], eax
mov ebp, edi
and ebp, ecx
add esi, ebp
add esi, 0xe7d3fbc8
mov ecx, dword [esp + 4]
add ecx, dword [esp + 0x50]
mov ebp, edx
not ebp
mov eax, dword [esp]
and ebp, eax
add ebp, ecx
mov ecx, dword [esp + 0x1c]
add ecx, eax
mov dword [esp + 0x1c], ecx
and ecx, edx
lea eax, [ecx + ebp]
add eax, 0x21e1cde6
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
add eax, dword [esp + 0x58]
mov ebp, ebx
not ebp
and ebp, edi
add ebp, eax
mov ecx, esi
rol ecx, 0x14
add ecx, edi
mov dword [esp + 8], ecx
and ecx, ebx
lea eax, [ecx + ebp]
add eax, 0x21e1cde6
mov dword [esp + 4], eax
add edx, dword [esp + 0x70]
mov esi, dword [esp]
mov ecx, esi
not ecx
mov ebp, dword [esp + 0x1c]
and ecx, ebp
add ecx, edx
mov edx, dword [esp + 0x14]
rol edx, 5
add edx, ebp
mov dword [esp + 0x14], edx
and edx, esi
add edx, ecx
add edx, 0xc33707d6
add ebx, dword [esp + 0x6c]
mov ecx, edi
not ecx
mov eax, dword [esp + 8]
and ecx, eax
add ecx, ebx
mov ebx, dword [esp + 4]
rol ebx, 5
add ebx, eax
mov dword [esp + 4], ebx
rol edx, 9
mov eax, edx
mov edx, ebx
and edx, edi
lea ebx, [edx + ecx]
add ebx, 0xc33707d6
add esi, dword [esp + 0xac]
mov ecx, ebp
not ecx
mov edx, dword [esp + 0x14]
and ecx, edx
add ecx, esi
add eax, edx
mov dword [esp + 0x2c], eax
and eax, ebp
add eax, ecx
add eax, 0xf4d50d87
mov dword [esp + 0xc], eax
add edi, dword [esp + 0xa8]
mov esi, dword [esp + 8]
mov ecx, esi
not ecx
mov eax, dword [esp + 4]
and ecx, eax
add ecx, edi
rol ebx, 9
add ebx, eax
mov edx, ebx
and edx, esi
lea ebp, [edx + ecx]
add ebp, 0xf4d50d87
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0xa0]
mov esi, dword [esp + 0x14]
mov ecx, esi
not ecx
mov edi, dword [esp + 0x2c]
and ecx, edi
add ecx, edx
mov edx, dword [esp + 0xc]
rol edx, 0xe
add edx, edi
mov dword [esp + 0xc], edx
and edx, esi
add edx, ecx
add edx, 0x455a14ed
mov esi, dword [esp + 8]
add esi, dword [esp + 0x44]
mov eax, dword [esp + 4]
mov ecx, eax
not ecx
and ecx, ebx
add ecx, esi
rol ebp, 0xe
add ebp, ebx
rol edx, 0x14
mov esi, edx
mov edx, ebp
and edx, eax
lea eax, [edx + ecx]
add eax, 0x455a14ed
mov dword [esp], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x94]
mov ecx, edi
not ecx
mov edx, dword [esp + 0xc]
and ecx, edx
add ecx, eax
mov eax, esi
add eax, edx
mov dword [esp + 0x1c], eax
and eax, edi
add eax, ecx
add eax, 0xa9e3e905
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 4]
add ecx, dword [esp + 0x90]
mov eax, ebx
not eax
and eax, ebp
add eax, ecx
mov edx, dword [esp]
rol edx, 0x14
add edx, ebp
mov dword [esp], edx
and edx, ebx
lea ecx, [edx + eax]
add ecx, 0xa9e3e905
mov edx, edi
add edx, dword [esp + 0x5c]
mov edi, dword [esp + 0xc]
mov eax, edi
not eax
mov esi, dword [esp + 0x1c]
and eax, esi
add eax, edx
mov edx, dword [esp + 0x14]
rol edx, 5
add edx, esi
mov esi, edx
and edx, edi
lea edi, [edx + eax]
add edi, 0xfcefa3f8
add ebx, dword [esp + 0x30]
mov eax, ebp
not eax
mov edx, dword [esp]
and eax, edx
add eax, ebx
rol ecx, 5
add ecx, edx
mov dword [esp + 0x2c], ecx
rol edi, 9
mov edx, ecx
and edx, ebp
add edx, eax
add edx, 0xfcefa3f8
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x1c]
mov eax, ebx
not eax
mov dword [esp + 0x14], esi
and eax, esi
add eax, ecx
add edi, esi
mov esi, edi
and esi, ebx
add eax, esi
add eax, 0x676f02d9
mov dword [esp + 4], eax
add ebp, dword [esp + 0x84]
mov ecx, dword [esp]
mov eax, ecx
not eax
mov esi, dword [esp + 0x2c]
and eax, esi
add eax, ebp
rol edx, 9
add edx, esi
mov esi, edx
and esi, ecx
add eax, esi
add eax, 0x676f02d9
mov dword [esp + 0xc], eax
add ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x14]
mov eax, ecx
not eax
mov dword [esp + 8], edi
and eax, edi
add eax, ebx
mov ebp, dword [esp + 4]
rol ebp, 0xe
add ebp, edi
mov esi, ebp
and esi, ecx
lea ebx, [esi + eax]
add ebx, 0x8d2a4c8a
mov esi, dword [esp]
add esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x2c]
mov eax, ecx
not eax
and eax, edx
add eax, esi
mov esi, dword [esp + 0xc]
rol esi, 0xe
add esi, edx
mov dword [esp + 0xc], esi
rol ebx, 0x14
and esi, ecx
lea edi, [esi + eax]
add edi, 0x8d2a4c8a
mov dword [esp + 4], ebp
add ebx, ebp
mov dword [esp], ebx
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x9c]
xor ebx, ebp
mov esi, ebx
xor esi, dword [esp + 8]
add esi, eax
add esi, 0xfffa3942
rol edi, 0x14
mov ebp, dword [esp + 0xc]
add edi, ebp
add ecx, dword [esp + 0x98]
mov eax, edi
xor eax, ebp
mov ebp, eax
xor ebp, edx
add ebp, ecx
add ebp, 0xfffa3942
rol esi, 4
add esi, dword [esp]
mov dword [esp + 0x1c], esi
rol ebp, 4
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0xa0]
xor ebx, esi
add ecx, ebx
add ecx, 0x8771f681
add ebp, edi
add edx, dword [esp + 0x44]
xor eax, ebp
lea esi, [eax + edx]
add esi, 0x8771f681
mov eax, ecx
rol eax, 0xb
mov ecx, dword [esp + 0x1c]
add eax, ecx
mov dword [esp + 8], eax
mov edx, dword [esp + 4]
add edx, dword [esp + 0x38]
xor eax, ecx
mov ebx, eax
xor ebx, dword [esp]
lea ecx, [ebx + edx]
add ecx, 0x6d9d6122
rol esi, 0xb
rol ecx, 0x10
mov dword [esp + 0xc4], ebp
add esi, ebp
mov edx, dword [esp + 0xc]
add edx, dword [esp + 0x48]
mov dword [esp + 0xc], edx
mov edx, esi
mov dword [esp + 0x14], esi
xor edx, ebp
mov ebx, edx
xor ebx, edi
mov ebp, dword [esp + 0xc]
add ebp, ebx
add ebp, 0x6d9d6122
add ecx, dword [esp + 8]
mov ebx, dword [esp]
add ebx, dword [esp + 0x70]
xor eax, ecx
add ebx, eax
add ebx, 0xfde5380c
mov eax, ebp
rol eax, 0x10
add eax, esi
mov dword [esp + 4], eax
rol ebx, 0x17
add edi, dword [esp + 0x6c]
xor edx, eax
add edi, edx
add edi, 0xfde5380c
mov dword [esp + 0x2c], ecx
add ebx, ecx
mov dword [esp], ebx
mov ebp, dword [esp + 0x1c]
add ebp, dword [esp + 0xb0]
mov eax, ebx
xor eax, ecx
mov edx, eax
mov esi, dword [esp + 8]
xor edx, esi
lea ebx, [edx + ebp]
add ebx, 0xa4beea44
rol edi, 0x17
mov ecx, dword [esp + 4]
add edi, ecx
mov edx, edi
mov dword [esp + 0xc], edi
mov ebp, dword [esp + 0xc4]
add ebp, dword [esp + 0xb4]
xor edx, ecx
mov edi, edx
xor edi, dword [esp + 0x14]
add ebp, edi
add ebp, 0xa4beea44
rol ebx, 4
add ebx, dword [esp]
rol ebp, 4
add esi, dword [esp + 0x18]
xor eax, ebx
lea edi, [eax + esi]
add edi, 0x4bdecfa9
add ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0xb8]
xor edx, ebp
add edx, ecx
add edx, 0x4bdecfa9
rol edi, 0xb
add edi, ebx
mov dword [esp + 0xc4], edi
mov eax, dword [esp + 0x2c]
add eax, dword [esp + 0x88]
mov ecx, ebx
xor ecx, dword [esp]
xor ecx, edi
lea esi, [ecx + eax]
add esi, 0xf6bb4b60
mov ecx, edx
rol ecx, 0xb
rol esi, 0x10
add ecx, ebp
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 4]
add eax, dword [esp + 0x84]
mov edx, ebp
xor edx, dword [esp + 0xc]
xor edx, ecx
add eax, edx
add eax, 0xf6bb4b60
mov ecx, esi
add ecx, edi
mov dword [esp + 0x1c], ecx
mov edx, dword [esp]
add edx, dword [esp + 0x8c]
xor edi, ebx
xor edi, ecx
lea esi, [edi + edx]
add esi, 0xbebfbc70
rol eax, 0x10
mov edi, dword [esp + 0x14]
add eax, edi
mov edx, eax
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0x40]
xor edi, ebp
xor edi, eax
add edi, ecx
add edi, 0xbebfbc70
rol esi, 0x17
mov ecx, dword [esp + 0x1c]
add esi, ecx
add ebx, dword [esp + 0x94]
mov eax, dword [esp + 0xc4]
xor ecx, eax
xor ecx, esi
add ebx, ecx
add ebx, 0x289b7ec6
rol edi, 0x17
rol ebx, 4
mov ecx, edx
mov dword [esp + 8], edx
add edi, edx
add ebp, dword [esp + 0x90]
xor ecx, dword [esp + 0x14]
xor ecx, edi
add ebp, ecx
add ebp, 0x289b7ec6
add ebx, esi
add eax, dword [esp + 0x54]
mov ecx, esi
mov edx, dword [esp + 0x1c]
xor ecx, edx
xor ecx, ebx
add eax, ecx
add eax, 0xeaa127fa
mov dword [esp + 4], eax
rol ebp, 4
add ebp, edi
mov dword [esp], ebp
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0xa4]
mov eax, edi
xor eax, dword [esp + 8]
xor eax, ebp
add eax, ecx
add eax, 0xeaa127fa
mov ecx, dword [esp + 4]
rol ecx, 0xb
add ecx, ebx
mov ebp, ecx
mov dword [esp + 4], ecx
add edx, dword [esp + 0xac]
mov ecx, ebx
xor ecx, esi
xor ecx, ebp
add edx, ecx
add edx, 0xd4ef3085
rol eax, 0xb
rol edx, 0x10
mov ebp, dword [esp]
add eax, ebp
mov ecx, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 8]
add eax, dword [esp + 0xa8]
xor ebp, edi
xor ebp, ecx
add eax, ebp
add eax, 0xd4ef3085
mov dword [esp + 0xc], eax
mov eax, dword [esp + 4]
mov ecx, edx
add ecx, eax
mov dword [esp + 8], ecx
add esi, dword [esp + 0x3c]
mov ebp, eax
xor ebp, ebx
xor ebp, ecx
add esi, ebp
add esi, 0x4881d05
mov edx, dword [esp + 0xc]
rol edx, 0x10
mov ebp, dword [esp + 0x1c]
add edx, ebp
mov dword [esp + 0xc], edx
add edi, dword [esp + 0x4c]
xor ebp, dword [esp]
xor ebp, edx
add edi, ebp
add edi, 0x4881d05
rol esi, 0x17
add esi, ecx
add ebx, dword [esp + 0x50]
mov ebp, ecx
mov ecx, eax
xor ebp, eax
xor ebp, esi
mov eax, esi
mov dword [esp + 0x14], esi
add ebx, ebp
add ebx, 0xd9d4d039
rol edi, 0x17
rol ebx, 4
add edi, edx
mov esi, dword [esp]
add esi, dword [esp + 0x58]
mov ebp, edx
mov edx, dword [esp + 0x1c]
xor ebp, edx
xor ebp, edi
add ebp, esi
add ebp, 0xd9d4d039
add ebx, eax
add ecx, dword [esp + 0x78]
xor eax, dword [esp + 8]
xor eax, ebx
add eax, ecx
add eax, 0xe6db99e5
rol ebp, 4
add ebp, edi
add edx, dword [esp + 0x74]
mov esi, edi
xor esi, dword [esp + 0xc]
xor esi, ebp
add edx, esi
add edx, 0xe6db99e5
rol eax, 0xb
add eax, ebx
mov dword [esp], eax
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0x80]
mov esi, ebx
xor esi, dword [esp + 0x14]
xor esi, eax
add ecx, esi
add ecx, 0x1fa27cf8
mov eax, edx
rol eax, 0xb
rol ecx, 0x10
mov edx, ecx
add eax, ebp
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xc]
add ecx, dword [esp + 0x7c]
mov esi, ebp
xor esi, edi
xor esi, eax
lea eax, [esi + ecx]
add eax, 0x1fa27cf8
mov dword [esp + 0xc], eax
mov esi, dword [esp]
add edx, esi
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x5c]
xor esi, ebx
xor esi, edx
mov ecx, edx
mov dword [esp + 8], edx
add esi, eax
add esi, 0xc4ac5665
mov edx, dword [esp + 0xc]
rol edx, 0x10
mov eax, dword [esp + 4]
add edx, eax
add edi, dword [esp + 0x30]
xor eax, ebp
xor eax, edx
add edi, eax
add edi, 0xc4ac5665
add ebx, dword [esp + 0x54]
rol esi, 0x17
add esi, ecx
mov eax, dword [esp]
not eax
or eax, esi
xor eax, ecx
add ebx, eax
add ebx, 0xf4292244
add ebp, dword [esp + 0xa4]
rol edi, 0x17
mov dword [esp + 0xc], edx
add edi, edx
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 4]
mov eax, ecx
not eax
or eax, edi
xor eax, edx
lea edi, [eax + ebp]
add edi, 0xf4292244
mov edx, dword [esp]
add edx, dword [esp + 0x88]
rol ebx, 6
add ebx, esi
mov dword [esp + 0x1c], ebx
mov eax, dword [esp + 8]
not eax
or eax, ebx
xor eax, esi
lea ebx, [eax + edx]
add ebx, 0x432aff97
mov ebp, ecx
add ebp, dword [esp + 0x84]
rol edi, 6
mov ecx, dword [esp + 0x14]
add edi, ecx
mov dword [esp + 4], edi
mov eax, dword [esp + 0xc]
not eax
or eax, edi
xor eax, ecx
lea edi, [eax + ebp]
add edi, 0x432aff97
mov edx, dword [esp + 8]
add edx, dword [esp + 0x70]
mov ebp, ebx
rol ebp, 0xa
mov ecx, dword [esp + 0x1c]
add ebp, ecx
mov eax, esi
not eax
or eax, ebp
xor eax, ecx
lea ebx, [eax + edx]
add ebx, 0xab9423a7
mov edx, dword [esp + 0xc]
add edx, dword [esp + 0x6c]
rol edi, 0xa
mov ecx, dword [esp + 4]
add edi, ecx
mov eax, dword [esp + 0x14]
not eax
or eax, edi
xor eax, ecx
lea ecx, [eax + edx]
add ecx, 0xab9423a7
add esi, dword [esp + 0x9c]
rol ebx, 0xf
add ebx, ebp
mov edx, dword [esp + 0x1c]
mov eax, edx
not eax
or eax, ebx
xor eax, ebp
add eax, esi
add eax, 0xfc93a039
mov dword [esp], eax
mov esi, dword [esp + 0x14]
add esi, dword [esp + 0x98]
rol ecx, 0xf
mov dword [esp + 8], edi
add ecx, edi
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 4]
not eax
or eax, ecx
xor eax, edi
add eax, esi
add eax, 0xfc93a039
mov esi, edx
add esi, dword [esp + 0x78]
mov edx, dword [esp]
rol edx, 0x15
add edx, ebx
mov dword [esp], edx
mov ecx, ebp
not ecx
or ecx, edx
xor ecx, ebx
add ecx, esi
add ecx, 0x655b59c3
mov edi, dword [esp + 4]
add edi, dword [esp + 0x74]
rol eax, 0x15
mov esi, dword [esp + 0xc]
add eax, esi
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 8]
not edx
or edx, eax
xor edx, esi
add edx, edi
add edx, 0x655b59c3
add ebp, dword [esp + 0xac]
rol ecx, 6
mov eax, dword [esp]
add ecx, eax
mov dword [esp + 0x14], ecx
mov esi, ebx
not esi
or esi, ecx
xor esi, eax
add esi, ebp
add esi, 0x8f0ccc92
mov ecx, dword [esp + 8]
add ecx, dword [esp + 0xa8]
rol edx, 6
mov eax, dword [esp + 0x1c]
add edx, eax
mov ebp, dword [esp + 0xc]
not ebp
or ebp, edx
xor ebp, eax
mov edi, eax
add ecx, ebp
add ecx, 0x8f0ccc92
add ebx, dword [esp + 0x8c]
rol esi, 0xa
mov eax, dword [esp + 0x14]
add esi, eax
mov ebp, dword [esp]
not ebp
or ebp, esi
xor ebp, eax
add ebx, ebp
add ebx, 0xffeff47d
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x40]
rol ecx, 0xa
mov dword [esp + 4], edx
add ecx, edx
mov dword [esp + 0xc], ecx
mov ebp, edi
not ebp
or ebp, ecx
xor ebp, edx
add ebp, eax
add ebp, 0xffeff47d
mov edi, dword [esp]
add edi, dword [esp + 0xb0]
rol ebx, 0xf
add ebx, esi
mov ecx, dword [esp + 0x14]
not ecx
or ecx, ebx
xor ecx, esi
add edi, ecx
add edi, 0x85845dd1
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 0xb4]
rol ebp, 0xf
mov eax, dword [esp + 0xc]
add ebp, eax
mov ecx, dword [esp + 4]
not ecx
or ecx, ebp
xor ecx, eax
lea eax, [ecx + edx]
add eax, 0x85845dd1
mov dword [esp], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0xa0]
rol edi, 0x15
add edi, ebx
mov dword [esp + 0x14], edi
mov ecx, esi
not ecx
or ecx, edi
xor ecx, ebx
add ecx, eax
add ecx, 0x6fa87e4f
mov edx, dword [esp + 4]
add edx, dword [esp + 0x44]
mov eax, dword [esp]
rol eax, 0x15
add eax, ebp
mov dword [esp], eax
mov edi, dword [esp + 0xc]
not edi
or edi, eax
xor edi, ebp
add edi, edx
add edi, 0x6fa87e4f
add esi, dword [esp + 0x80]
rol ecx, 6
mov eax, dword [esp + 0x14]
add ecx, eax
mov edx, ebx
not edx
or edx, ecx
xor edx, eax
add esi, edx
add esi, 0xfe2ce6e0
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
rol edi, 6
mov eax, dword [esp]
add edi, eax
mov dword [esp + 4], edi
mov edx, ebp
not edx
or edx, edi
xor edx, eax
mov eax, dword [esp + 0xc]
lea edi, [edx + eax]
add edi, 0xfe2ce6e0
add ebx, dword [esp + 0x3c]
rol esi, 0xa
mov dword [esp + 0x1c], ecx
add esi, ecx
mov edx, dword [esp + 0x14]
not edx
or edx, esi
xor edx, ecx
add ebx, edx
add ebx, 0xa3014314
add ebp, dword [esp + 0x4c]
rol edi, 0xa
mov eax, dword [esp + 4]
add edi, eax
mov dword [esp + 8], edi
mov ecx, dword [esp]
mov edx, ecx
not edx
or edx, edi
xor edx, eax
add ebp, edx
add ebp, 0xa3014314
mov edi, dword [esp + 0x14]
add edi, dword [esp + 0x94]
rol ebx, 0xf
add ebx, esi
mov edx, dword [esp + 0x1c]
not edx
or edx, ebx
xor edx, esi
add edi, edx
add edi, 0x4e0811a1
add ecx, dword [esp + 0x90]
rol ebp, 0xf
mov eax, dword [esp + 8]
add ebp, eax
mov edx, dword [esp + 4]
not edx
or edx, ebp
xor edx, eax
add edx, ecx
add edx, 0x4e0811a1
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x18]
rol edi, 0x15
add edi, ebx
mov dword [esp], edi
mov eax, esi
not eax
or eax, edi
xor eax, ebx
lea edi, [eax + ecx]
add edi, 0xf7537e82
mov ecx, dword [esp + 4]
add ecx, dword [esp + 0xb8]
rol edx, 0x15
add edx, ebp
mov dword [esp + 4], edx
mov eax, dword [esp + 8]
not eax
or eax, edx
xor eax, ebp
lea edx, [eax + ecx]
add edx, 0xf7537e82
add esi, dword [esp + 0x38]
rol edi, 6
mov ecx, dword [esp]
add edi, ecx
mov eax, ebx
not eax
or eax, edi
xor eax, ecx
add eax, esi
add eax, 0xbd3af235
mov dword [esp + 0xc], eax
mov esi, dword [esp + 8]
add esi, dword [esp + 0x48]
rol edx, 6
mov ecx, dword [esp + 4]
add edx, ecx
mov dword [esp + 0x14], edx
mov eax, ebp
not eax
or eax, edx
mov edx, ecx
xor eax, ecx
add esi, eax
add esi, 0xbd3af235
add ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0xc]
rol ecx, 0xa
add ecx, edi
mov dword [esp + 0xc], ecx
mov eax, dword [esp]
not eax
or eax, ecx
xor eax, edi
add eax, ebx
add eax, 0x2ad7d2bb
add ebp, dword [esp + 0x30]
rol esi, 0xa
mov ecx, dword [esp + 0x14]
add esi, ecx
mov ebx, edx
not ebx
or ebx, esi
xor ebx, ecx
add ebx, ebp
add ebx, 0x2ad7d2bb
mov ebp, dword [esp]
add ebp, dword [esp + 0x50]
rol eax, 0xf
mov ecx, dword [esp + 0xc]
add eax, ecx
mov edx, edi
not edx
or edx, eax
xor edx, ecx
add edx, ebp
add edx, 0xeb86d391
mov ecx, dword [esp + 4]
add ecx, dword [esp + 0x58]
rol ebx, 0xf
add ebx, esi
mov ebp, dword [esp + 0x14]
not ebp
or ebp, ebx
xor ebp, esi
add ecx, ebp
add ecx, 0xeb86d391
add edi, dword [esp + 0xc8]
rol edx, 0x15
mov ebp, dword [esp + 0x28]
mov dword [ebp + 0x90], edi
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x68]
add ebp, eax
add ebp, edx
mov dword [edi + 0x94], ebp
add eax, dword [esp + 0xbc]
mov dword [edi + 0x98], eax
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0xcc]
mov dword [edi + 0x9c], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x34]
mov dword [edi + 0xa0], eax
rol ecx, 0x15
mov eax, dword [esp + 0x10]
add eax, ebx
add eax, ecx
mov dword [edi + 0xa4], eax
add ebx, dword [esp + 0x60]
mov dword [edi + 0xa8], ebx
add esi, dword [esp + 0xc0]
mov dword [edi + 0xac], esi
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x64]
sub eax, ecx
add dword [esp + 0x20], ecx
mov dh, byte [edi + 0x111]
mov ebx, edi
cmp byte [edi + 0x110], dh
jbe 0x469d14
mov esi, eax
movzx eax, dh
push eax
push dword [esp + 0xd4]
push dword [esp + 0xdc]
call fcn.004c4690
add esp, 0xc
mov ecx, ebx
movzx eax, byte [ebx + 0x111]
mov byte [ebx + 0x110], al
mov dl, 0x40
mov dh, al
mov dword [esp + 0x64], esi
cmp esi, 0x40
jae 0x469d50
movzx eax, al
mov esi, ebx
add eax, ebx
add eax, 0x10
mov ecx, dword [esp + 0x64]
push ecx
mov edi, ecx
push dword [esp + 0x24]
push eax
call fcn.004c4690
add esp, 0xc
mov eax, edi
add al, byte [ebx + 0x110]
jmp 0x46c978
mov edx, ecx
mov edi, ebx
mov dword [esp + 0xc], esi
mov esi, dword [ebx + 0x90]
mov dword [esp + 0xcc], esi
mov ecx, dword [ebx + 0x94]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebx + 0x98]
mov dword [esp + 0x5c], ecx
mov ebp, dword [ebx + 0x9c]
mov ecx, dword [ebx + 0xa0]
mov dword [esp + 0xc8], ecx
mov ecx, dword [ebx + 0xa4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx + 0xa8]
mov dword [esp + 0x60], ecx
movdqa xmm0, xmmword [0x4ea540]
movdqa xmm1, xmmword [0x4ea550]
mov ecx, dword [ebx + 0xac]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc4], edx
nop word cs:[eax + eax]
nop dword [eax]
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0xc]
movdqu xmm2, xmmword [ecx + eax]
movdqu xmm3, xmmword [ecx + eax + 0x10]
movdqu xmm4, xmmword [ecx + eax + 0x20]
mov edx, eax
movdqa xmm5, xmmword [ebx + 0xd0]
movdqa xmm6, xmm5
pclmulqdq xmm6, xmm0, 0x10
pxor xmm6, xmm2
movdqa xmm2, xmmword [ebx + 0xe0]
pclmulqdq xmm5, xmm1, 1
pxor xmm5, xmm6
movdqa xmm6, xmm2
pclmulqdq xmm6, xmm0, 0x10
pxor xmm6, xmm3
movdqu xmm3, xmmword [ecx + eax + 0x30]
movdqa xmmword [ebx + 0xd0], xmm5
pclmulqdq xmm2, xmm1, 1
pxor xmm2, xmm6
movdqa xmmword [ebx + 0xe0], xmm2
movdqa xmm2, xmmword [ebx + 0xf0]
movdqa xmm5, xmm2
pclmulqdq xmm5, xmm0, 0x10
pxor xmm5, xmm4
pclmulqdq xmm2, xmm1, 1
pxor xmm2, xmm5
movdqa xmmword [ebx + 0xf0], xmm2
movdqa xmm2, xmmword [ebx + 0x100]
movdqa xmm4, xmm2
pclmulqdq xmm4, xmm0, 0x10
pxor xmm4, xmm3
pclmulqdq xmm2, xmm1, 1
pxor xmm2, xmm4
movdqa xmmword [ebx + 0x100], xmm2
mov esi, ebp
mov dword [esp + 0xb8], ebp
mov eax, ebp
mov ebp, dword [esp + 0x5c]
xor eax, ebp
mov ebx, dword [esp + 0x14]
and eax, ebx
xor eax, esi
add eax, dword [esp + 0xcc]
mov edi, dword [ecx + edx]
mov dword [esp + 0x94], edi
mov ecx, dword [ecx + edx + 4]
mov dword [esp + 0x30], ecx
mov esi, dword [esp + 0x68]
mov edx, esi
xor edx, dword [esp + 0x60]
and edx, dword [esp + 0x1c]
lea ecx, [edi + eax]
add ecx, 0xd76aa478
xor edx, esi
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
mov dword [esp + 0x54], esi
rol ecx, 7
mov eax, dword [esp + 0xc8]
add eax, esi
add eax, edx
add eax, 0xd76aa478
rol eax, 7
mov edx, eax
add ecx, ebx
mov dword [esp + 0x5c], ebp
mov eax, ebp
xor eax, ebx
and eax, ecx
xor eax, ebp
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0x30]
add esi, edi
lea esi, [eax + esi - 0x173848aa]
mov edi, dword [esp + 0x60]
mov eax, edi
mov ebp, dword [esp + 0x1c]
xor eax, ebp
add edx, ebp
mov dword [esp + 0x18], edx
and eax, edx
xor eax, edi
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 4]
mov dword [esp + 0x4c], edx
mov edi, dword [esp + 0x68]
add edi, edx
add edi, eax
add edi, 0xe8c7b756
rol esi, 0xc
mov edx, ecx
add esi, ecx
mov eax, ecx
mov dword [esp + 0x14], ebx
xor eax, ebx
and eax, esi
xor eax, ebx
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ebx + ecx + 8]
mov dword [esp + 0xb4], ecx
mov ebx, dword [esp + 0x5c]
add ebx, ecx
add ebx, eax
add ebx, 0x242070db
rol edi, 0xc
mov eax, dword [esp + 0x18]
add edi, eax
xor eax, ebp
rol ebx, 0x11
and eax, edi
xor eax, ebp
mov ebp, dword [esp + 0x20]
mov ecx, dword [ebp + 8]
mov dword [esp + 0xb0], ecx
mov ebp, dword [esp + 0x60]
add ebp, ecx
add eax, ebp
add eax, 0x242070db
mov dword [esp + 8], eax
add ebx, esi
mov eax, esi
xor eax, edx
and eax, ebx
xor eax, edx
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ebp + ecx + 0xc]
mov dword [esp + 0x48], ecx
mov ebp, dword [esp + 0x14]
add ebp, ecx
add eax, ebp
add eax, 0xc1bdceee
mov dword [esp], eax
mov eax, dword [esp + 8]
rol eax, 0x11
mov ebp, edi
mov ecx, dword [esp + 0x18]
xor ebp, ecx
add eax, edi
mov dword [esp + 8], eax
and ebp, eax
xor ebp, ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa4], ecx
mov eax, dword [esp + 0x1c]
add eax, ecx
add eax, ebp
add eax, 0xc1bdceee
mov dword [esp + 0x10], eax
mov ecx, dword [esp]
rol ecx, 0x16
add ecx, ebx
mov dword [esp], ecx
mov eax, ebx
xor eax, esi
and eax, ecx
xor eax, esi
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ebp + ecx + 0x10]
mov dword [esp + 0x50], ecx
add edx, ecx
add eax, edx
add eax, 0xf57c0faf
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x10]
rol ecx, 0x16
mov eax, dword [esp + 8]
add ecx, eax
mov dword [esp + 0x10], ecx
xor eax, edi
and eax, ecx
xor eax, edi
mov ebp, dword [esp + 0x20]
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x58], ebp
mov edx, dword [esp + 0x18]
add edx, ebp
mov ecx, dword [esp + 4]
rol ecx, 7
add edx, eax
add edx, 0xf57c0faf
mov eax, dword [esp]
add ecx, eax
mov dword [esp + 4], ecx
xor eax, ebx
and eax, ecx
xor eax, ebx
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov ebp, dword [ebp + ecx + 0x14]
mov dword [esp + 0x90], ebp
add esi, ebp
add esi, eax
add esi, 0x4787c62a
mov ebp, edx
rol ebp, 7
mov ecx, dword [esp + 0x10]
mov eax, ecx
mov edx, dword [esp + 8]
xor eax, edx
add ebp, ecx
mov dword [esp + 0x3c], ebp
and eax, ebp
mov ebp, dword [esp + 0x20]
mov ebp, dword [ebp + 0x14]
mov dword [esp + 0x8c], ebp
add edi, ebp
xor eax, edx
add edi, eax
add edi, 0x4787c62a
rol esi, 0xc
mov ecx, dword [esp + 4]
add esi, ecx
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0xc]
mov eax, dword [eax + ebp + 0x18]
mov dword [esp + 0xa8], eax
add ebx, eax
mov eax, ecx
mov ecx, dword [esp]
xor eax, ecx
and eax, esi
xor eax, ecx
lea edx, [eax + ebx]
add edx, 0xa8304613
rol edi, 0xc
mov eax, dword [esp + 0x3c]
add edi, eax
mov ecx, dword [esp + 0x10]
xor eax, ecx
mov ebx, dword [esp + 0x20]
mov ebx, dword [ebx + 0x18]
mov dword [esp + 0x38], ebx
mov ebp, dword [esp + 8]
add ebp, ebx
and eax, edi
xor eax, ecx
mov ecx, edx
rol ecx, 0x11
add ebp, eax
add ebp, 0xa8304613
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xc]
mov eax, dword [eax + ebx + 0x1c]
mov dword [esp + 0x7c], eax
mov edx, dword [esp]
add edx, eax
mov ebx, ecx
add ebx, esi
mov dword [esp + 0x18], ebx
mov eax, esi
mov ecx, dword [esp + 4]
xor eax, ecx
and eax, ebx
xor eax, ecx
add edx, eax
add edx, 0xfd469501
rol ebp, 0x11
add ebp, edi
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x78], eax
mov ebx, dword [esp + 0x10]
add ebx, eax
mov eax, edi
mov ecx, dword [esp + 0x3c]
xor eax, ecx
and eax, ebp
xor eax, ecx
add eax, ebx
add eax, 0xfd469501
mov dword [esp + 0x10], eax
rol edx, 0x16
mov ecx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov ebx, dword [ebx + eax + 0x20]
mov dword [esp + 0x9c], ebx
mov eax, dword [esp + 4]
add eax, ebx
xor ecx, esi
and ecx, edx
xor ecx, esi
add ecx, eax
add ecx, 0x698098d8
mov eax, dword [esp + 0x10]
rol eax, 0x16
add eax, ebp
mov dword [esp + 0x10], eax
mov ebx, ebp
xor ebx, edi
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0x3c]
add edx, eax
and ebx, dword [esp + 0x10]
xor ebx, edi
rol ecx, 7
lea eax, [ebx + edx]
add eax, 0x698098d8
mov dword [esp], eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov eax, dword [edx + eax + 0x24]
mov dword [esp + 0xac], eax
add esi, eax
mov ebx, dword [esp + 0x44]
add ecx, ebx
mov eax, dword [esp + 0x18]
xor ebx, eax
and ebx, ecx
xor ebx, eax
lea eax, [ebx + esi]
add eax, 0x8b44f7af
mov dword [esp + 8], eax
mov esi, dword [esp]
rol esi, 7
mov ebx, dword [esp + 0x10]
add esi, ebx
mov dword [esp], esi
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x24]
mov dword [esp + 0x3c], eax
add edi, eax
xor ebx, ebp
and ebx, esi
xor ebx, ebp
add edi, ebx
add edi, 0x8b44f7af
mov eax, dword [esp + 8]
rol eax, 0xc
mov ebx, ecx
mov dword [esp + 0x40], ecx
add eax, ecx
mov ecx, eax
mov dword [esp + 8], eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov eax, dword [edx + eax + 0x28]
mov dword [esp + 0x84], eax
mov edx, dword [esp + 0x18]
add edx, eax
mov esi, dword [esp + 0x44]
xor ebx, esi
and ebx, ecx
xor ebx, esi
add ebx, edx
add ebx, 0xffff5bb1
rol edi, 0xc
mov edx, dword [esp]
add edi, edx
mov ecx, dword [esp + 0x10]
xor edx, ecx
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x80], eax
add ebp, eax
and edx, edi
xor edx, ecx
rol ebx, 0x11
add ebp, edx
add ebp, 0xffff5bb1
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0xc]
mov eax, dword [edx + eax + 0x2c]
mov dword [esp + 0xa0], eax
add esi, eax
mov edx, dword [esp + 8]
add ebx, edx
mov eax, dword [esp + 0x40]
xor edx, eax
and edx, ebx
xor edx, eax
add esi, edx
add esi, 0x895cd7be
rol ebp, 0x11
add ebp, edi
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x44], eax
add ecx, eax
mov edx, edi
mov eax, dword [esp]
xor edx, eax
and edx, ebp
xor edx, eax
lea eax, [edx + ecx]
add eax, 0x895cd7be
mov dword [esp + 4], eax
rol esi, 0x16
add esi, ebx
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
mov eax, dword [eax + edx + 0x30]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x40]
add ecx, eax
mov eax, ebx
mov edx, dword [esp + 8]
xor eax, edx
and eax, esi
xor eax, edx
add eax, ecx
add eax, 0x6b901122
mov ecx, dword [esp + 4]
rol ecx, 0x16
add ecx, ebp
mov dword [esp + 4], ecx
mov ecx, ebp
xor ecx, edi
mov edx, dword [esp + 0x20]
mov edx, dword [edx + 0x30]
mov dword [esp + 0xc0], edx
mov esi, dword [esp]
add esi, edx
and ecx, dword [esp + 4]
xor ecx, edi
rol eax, 7
add ecx, esi
add ecx, 0x6b901122
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0xc]
mov edx, dword [edx + esi + 0x34]
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 8]
add ecx, edx
mov edx, dword [esp + 0x18]
add eax, edx
mov dword [esp], eax
xor edx, ebx
and edx, eax
xor edx, ebx
add edx, ecx
add edx, 0xfd987193
mov ecx, dword [esp + 0x10]
rol ecx, 7
mov eax, dword [esp + 4]
add ecx, eax
mov esi, dword [esp + 0x20]
mov esi, dword [esi + 0x34]
mov dword [esp + 0x88], esi
add edi, esi
xor eax, ebp
and eax, ecx
xor eax, ebp
add eax, edi
add eax, 0xfd987193
mov dword [esp + 8], eax
rol edx, 0xc
mov eax, dword [esp]
add edx, eax
mov dword [esp + 0x24], edx
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0xc]
mov esi, dword [esi + edi + 0x38]
mov dword [esp + 0xbc], esi
add ebx, esi
mov edi, eax
mov eax, dword [esp + 0x18]
xor edi, eax
and edi, edx
xor edi, eax
add edi, ebx
add edi, 0xa679438e
mov eax, dword [esp + 8]
rol eax, 0xc
mov ebx, ecx
mov dword [esp + 0x10], ecx
add eax, ecx
mov dword [esp + 8], eax
mov edx, dword [esp + 4]
xor ebx, edx
mov esi, dword [esp + 0x20]
mov esi, dword [esi + 0x38]
mov dword [esp + 0x2c], esi
add ebp, esi
and ebx, eax
xor ebx, edx
rol edi, 0x11
add ebx, ebp
add ebx, 0xa679438e
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0xc]
mov esi, dword [esi + ebp + 0x3c]
mov dword [esp + 0x74], esi
mov ecx, dword [esp + 0x18]
add ecx, esi
mov ebp, dword [esp + 0x24]
add edi, ebp
mov eax, dword [esp]
xor ebp, eax
and ebp, edi
xor ebp, eax
add ebp, ecx
add ebp, 0x49b40821
rol ebx, 0x11
mov eax, dword [esp + 8]
add ebx, eax
mov esi, dword [esp + 0x20]
mov esi, dword [esi + 0x3c]
mov dword [esp + 0x70], esi
add edx, esi
mov esi, eax
mov eax, dword [esp + 0x10]
xor esi, eax
and esi, ebx
xor esi, eax
mov ecx, eax
lea eax, [esi + edx]
add eax, 0x49b40821
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x24]
mov esi, edx
not esi
and esi, edi
mov eax, dword [esp]
add eax, dword [esp + 0x30]
add esi, eax
rol ebp, 0x16
add ebp, edi
mov dword [esp + 0x34], edi
mov eax, ebp
and eax, edx
add eax, esi
add eax, 0xf61e2562
mov dword [esp], eax
mov edx, dword [esp + 8]
mov eax, edx
not eax
add ecx, dword [esp + 0x4c]
and eax, ebx
add eax, ecx
mov esi, dword [esp + 0x18]
rol esi, 0x16
add esi, ebx
mov ecx, esi
and ecx, edx
add eax, ecx
add eax, 0xf61e2562
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x24]
add ecx, dword [esp + 0xa8]
mov eax, edi
not eax
and eax, ebp
add eax, ecx
add edx, dword [esp + 0x38]
mov edi, edx
mov edx, ebx
not edx
mov dword [esp + 0x18], esi
and edx, esi
mov ecx, dword [esp]
rol ecx, 5
add edx, edi
add ecx, ebp
mov dword [esp], ecx
mov edi, dword [esp + 0x34]
and ecx, edi
add ecx, eax
add ecx, 0xc040b340
mov eax, dword [esp + 0x10]
rol eax, 5
add eax, esi
mov dword [esp + 0x10], eax
and eax, ebx
add eax, edx
add eax, 0xc040b340
mov dword [esp + 0x24], eax
mov edx, edi
add edx, dword [esp + 0xa0]
mov eax, ebp
not eax
mov edi, dword [esp]
and eax, edi
add eax, edx
mov edx, ecx
rol edx, 9
add edx, edi
mov dword [esp + 0x34], edx
and edx, ebp
add eax, edx
add eax, 0x265e5a51
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x18]
mov eax, ecx
not eax
add ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
and eax, edx
add eax, ebx
mov ebx, dword [esp + 0x24]
rol ebx, 9
add ebx, edx
mov edx, ebx
and edx, ecx
add eax, edx
add eax, 0x265e5a51
mov dword [esp + 8], eax
add ebp, dword [esp + 0x94]
mov eax, edi
not eax
mov edi, dword [esp + 0x34]
and eax, edi
add eax, ebp
mov esi, ecx
add esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
mov edx, ecx
not edx
mov ebp, ebx
mov dword [esp + 0x24], ebx
and edx, ebx
mov ebx, dword [esp + 4]
rol ebx, 0xe
add edx, esi
mov esi, edi
add ebx, edi
mov dword [esp + 4], ebx
mov edi, ebx
and edi, dword [esp]
lea esi, [edi + eax]
add esi, 0xe9b6c7aa
mov edi, dword [esp + 8]
rol edi, 0xe
add edi, ebp
mov dword [esp + 8], edi
and edi, ecx
mov eax, ecx
lea ebx, [edi + edx]
add ebx, 0xe9b6c7aa
mov ebp, dword [esp]
add ebp, dword [esp + 0x90]
mov ecx, dword [esp + 0x34]
mov edi, ecx
not edi
mov edx, dword [esp + 4]
and edi, edx
add edi, ebp
rol esi, 0x14
add esi, edx
mov ebp, esi
and ebp, ecx
lea ecx, [edi + ebp]
add ecx, 0xd62f105d
mov dword [esp], ecx
mov ecx, dword [esp + 0x24]
mov edi, ecx
not edi
add eax, dword [esp + 0x8c]
mov ebp, dword [esp + 8]
and edi, ebp
add edi, eax
rol ebx, 0x14
add ebx, ebp
mov edx, ebx
and edx, ecx
lea eax, [edx + edi]
add eax, 0xd62f105d
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x84]
mov edi, dword [esp + 4]
mov edx, edi
not edx
and edx, esi
add edx, eax
add ecx, dword [esp + 0x80]
mov eax, ebp
not eax
and eax, ebx
mov ebp, dword [esp]
rol ebp, 5
add eax, ecx
add ebp, esi
mov ecx, ebp
mov dword [esp], ebp
and ecx, edi
lea ebp, [ecx + edx]
add ebp, 0x2441453
mov edi, dword [esp + 0x10]
rol edi, 5
add edi, ebx
mov edx, edi
mov dword [esp + 0x10], edi
mov edi, dword [esp + 8]
and edx, edi
add eax, edx
add eax, 0x2441453
mov dword [esp + 0x18], eax
mov edx, dword [esp + 4]
add edx, dword [esp + 0x74]
mov eax, esi
not eax
mov ecx, dword [esp]
and eax, ecx
add eax, edx
rol ebp, 9
add ebp, ecx
mov edx, ebp
and edx, esi
add eax, edx
add eax, 0xd8a1e681
mov dword [esp + 0x24], eax
mov eax, ebx
not eax
mov ecx, edi
add ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x10]
and eax, edi
add eax, ecx
mov ecx, dword [esp + 0x18]
rol ecx, 9
add ecx, edi
mov edx, ecx
mov dword [esp + 0x18], ecx
and edx, ebx
add eax, edx
add eax, 0xd8a1e681
mov dword [esp + 4], eax
add esi, dword [esp + 0x50]
mov eax, dword [esp]
not eax
and eax, ebp
add eax, esi
add ebx, dword [esp + 0x58]
mov edx, edi
not edx
and edx, ecx
mov esi, dword [esp + 0x24]
rol esi, 0xe
add edx, ebx
add esi, ebp
mov ebx, esi
mov ecx, dword [esp]
and esi, ecx
add eax, esi
add eax, 0xe7d3fbc8
mov esi, dword [esp + 4]
rol esi, 0xe
add esi, dword [esp + 0x18]
mov dword [esp + 4], esi
and esi, edi
add edx, esi
add edx, 0xe7d3fbc8
add ecx, dword [esp + 0xac]
mov esi, ebp
not esi
mov dword [esp + 0x24], ebx
and esi, ebx
add esi, ecx
rol eax, 0x14
add eax, ebx
mov ebx, eax
mov dword [esp], eax
and ebx, ebp
lea ecx, [ebx + esi]
add ecx, 0x21e1cde6
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x18]
mov esi, ecx
not esi
add edi, dword [esp + 0x3c]
mov ebx, dword [esp + 4]
and esi, ebx
add esi, edi
rol edx, 0x14
add edx, ebx
mov ebx, edx
and ebx, ecx
add esi, ebx
add esi, 0x21e1cde6
mov dword [esp + 0x10], esi
add ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x24]
mov esi, edi
not esi
and esi, eax
add esi, ebp
add ecx, dword [esp + 0x2c]
mov eax, dword [esp + 4]
mov ebx, eax
not ebx
and ebx, edx
mov ebp, dword [esp + 8]
rol ebp, 5
add ebx, ecx
add ebp, dword [esp]
mov ecx, ebp
and ecx, edi
add ecx, esi
add ecx, 0xc33707d6
mov esi, dword [esp + 0x10]
rol esi, 5
add esi, edx
mov dword [esp + 0x10], esi
and esi, eax
add esi, ebx
add esi, 0xc33707d6
mov ebx, edi
add ebx, dword [esp + 0x48]
mov eax, dword [esp]
mov edi, eax
not edi
and edi, ebp
add edi, ebx
rol ecx, 9
add ecx, ebp
mov ebx, ecx
mov dword [esp + 8], ecx
and ebx, eax
add edi, ebx
add edi, 0xf4d50d87
mov dword [esp + 0x24], edi
mov edi, edx
not edi
mov eax, dword [esp + 4]
add eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0x10]
and edi, ebx
add edi, eax
rol esi, 9
add esi, ebx
mov ebx, esi
and ebx, edx
lea eax, [ebx + edi]
add eax, 0xf4d50d87
mov dword [esp + 4], eax
mov eax, dword [esp]
add eax, dword [esp + 0x9c]
mov edi, ebp
not edi
and edi, ecx
add edi, eax
add edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x10]
mov eax, ecx
not eax
and eax, esi
mov ebx, dword [esp + 0x24]
rol ebx, 0xe
add eax, edx
add ebx, dword [esp + 8]
mov edx, ebx
and edx, ebp
add edx, edi
add edx, 0x455a14ed
mov edi, dword [esp + 4]
rol edi, 0xe
add edi, esi
mov dword [esp + 4], edi
and edi, ecx
add eax, edi
add eax, 0x455a14ed
mov dword [esp + 0x18], eax
add ebp, dword [esp + 0x40]
mov ecx, dword [esp + 8]
mov eax, ecx
not eax
and eax, ebx
add eax, ebp
rol edx, 0x14
add edx, ebx
mov dword [esp + 0x24], ebx
mov edi, edx
mov dword [esp + 0x34], edx
and edi, ecx
add eax, edi
add eax, 0xa9e3e905
mov dword [esp], eax
mov eax, esi
not eax
mov ebp, dword [esp + 0x10]
add ebp, dword [esp + 0x88]
mov edi, dword [esp + 4]
and eax, edi
add eax, ebp
mov ebp, dword [esp + 0x18]
rol ebp, 0x14
add ebp, edi
mov dword [esp + 0x18], ebp
mov edi, ebp
and edi, esi
lea ebp, [edi + eax]
add ebp, 0xa9e3e905
add ecx, dword [esp + 0xb4]
mov eax, ebx
not eax
and eax, edx
add eax, ecx
add esi, dword [esp + 0xb0]
mov ebx, dword [esp + 4]
mov ecx, ebx
not ecx
mov edx, dword [esp + 0x18]
and ecx, edx
mov edi, dword [esp]
rol edi, 5
add ecx, esi
add edi, dword [esp + 0x34]
mov dword [esp], edi
mov esi, edi
mov edi, dword [esp + 0x24]
and esi, edi
add esi, eax
add esi, 0xfcefa3f8
rol ebp, 5
add ebp, edx
mov eax, ebp
and eax, ebx
add eax, ecx
add eax, 0xfcefa3f8
mov dword [esp + 8], eax
add edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x34]
mov eax, edx
not eax
mov ecx, dword [esp]
and eax, ecx
add eax, edi
rol esi, 9
add esi, ecx
mov dword [esp + 0x24], esi
and esi, edx
add eax, esi
add eax, 0x676f02d9
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x18]
mov eax, ebx
not eax
mov ecx, dword [esp + 4]
add ecx, dword [esp + 0x78]
and eax, ebp
add eax, ecx
mov edi, dword [esp + 8]
rol edi, 9
add edi, ebp
mov ecx, edi
and ecx, ebx
add eax, ecx
add eax, 0x676f02d9
mov dword [esp + 4], eax
mov ecx, edx
add ecx, dword [esp + 0x6c]
mov eax, dword [esp]
not eax
mov edx, dword [esp + 0x24]
and eax, edx
add eax, ecx
add ebx, dword [esp + 0xc0]
mov ecx, ebp
not ecx
mov dword [esp + 8], edi
and ecx, edi
mov esi, dword [esp + 0x10]
rol esi, 0xe
add ecx, ebx
add esi, edx
mov dword [esp + 0x10], esi
mov edx, esi
mov esi, dword [esp]
and edx, esi
lea ebx, [edx + eax]
add ebx, 0x8d2a4c8a
mov edx, dword [esp + 4]
rol edx, 0xe
add edx, edi
mov dword [esp + 4], edx
and edx, ebp
lea edi, [edx + ecx]
add edi, 0x8d2a4c8a
rol ebx, 0x14
mov ecx, dword [esp + 0x10]
add ebx, ecx
add esi, dword [esp + 0x90]
mov eax, ebx
xor eax, ecx
mov edx, eax
xor edx, dword [esp + 0x24]
add esi, edx
add esi, 0xfffa3942
rol edi, 0x14
mov edx, dword [esp + 4]
add edi, edx
add ebp, dword [esp + 0x8c]
mov ecx, edi
xor ecx, edx
mov edx, ecx
xor edx, dword [esp + 8]
rol esi, 4
add ebp, edx
add ebp, 0xfffa3942
add esi, ebx
mov edx, dword [esp + 0x24]
add edx, dword [esp + 0x9c]
xor eax, esi
mov dword [esp + 0x34], esi
add eax, edx
add eax, 0x8771f681
rol ebp, 4
add ebp, edi
mov edx, dword [esp + 8]
add edx, dword [esp + 0x98]
xor ecx, ebp
rol eax, 0xb
add ecx, edx
add ecx, 0x8771f681
mov dword [esp], ecx
mov edx, eax
add edx, esi
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0xa0]
xor edx, esi
mov eax, edx
xor eax, ebx
add eax, ecx
add eax, 0x6d9d6122
mov dword [esp + 0x10], eax
mov ecx, dword [esp]
rol ecx, 0xb
add ecx, ebp
mov dword [esp], ecx
mov esi, dword [esp + 4]
add esi, dword [esp + 0x44]
xor ecx, ebp
mov eax, ecx
xor eax, edi
add esi, eax
add esi, 0x6d9d6122
mov eax, dword [esp + 0x10]
rol eax, 0x10
add eax, dword [esp + 8]
mov dword [esp + 0x10], eax
rol esi, 0x10
add ebx, dword [esp + 0xbc]
xor edx, eax
lea eax, [edx + ebx]
add eax, 0xfde5380c
add esi, dword [esp]
add edi, dword [esp + 0x2c]
xor ecx, esi
lea edx, [ecx + edi]
add edx, 0xfde5380c
rol eax, 0x17
mov ecx, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x34]
add edi, dword [esp + 0x30]
xor eax, ecx
mov ecx, eax
xor ecx, dword [esp + 8]
lea ebx, [ecx + edi]
add ebx, 0xa4beea44
rol edx, 0x17
mov edi, esi
mov dword [esp + 0x18], esi
add edx, esi
mov esi, edx
add ebp, dword [esp + 0x4c]
mov ecx, edx
mov dword [esp + 4], edx
xor ecx, edi
mov edx, ecx
mov edi, dword [esp]
xor edx, edi
rol ebx, 4
add ebp, edx
add ebp, 0xa4beea44
add ebx, dword [esp + 0x24]
mov edx, dword [esp + 8]
add edx, dword [esp + 0x50]
xor eax, ebx
add eax, edx
add eax, 0x4bdecfa9
rol ebp, 4
add ebp, esi
add edi, dword [esp + 0x58]
xor ecx, ebp
rol eax, 0xb
lea edx, [ecx + edi]
add edx, 0x4bdecfa9
mov esi, dword [esp + 0x10]
add esi, dword [esp + 0x7c]
mov ecx, ebx
mov edi, dword [esp + 0x24]
xor ecx, edi
add eax, ebx
mov dword [esp + 0x10], eax
xor ecx, eax
add ecx, esi
add ecx, 0xf6bb4b60
rol edx, 0xb
add edx, ebp
mov dword [esp], edx
mov esi, dword [esp + 0x18]
add esi, dword [esp + 0x78]
mov edx, ebp
xor edx, dword [esp + 4]
xor edx, dword [esp]
add edx, esi
add edx, 0xf6bb4b60
rol ecx, 0x10
add ecx, eax
add edi, dword [esp + 0x84]
mov esi, eax
xor esi, ebx
xor esi, ecx
add esi, edi
add esi, 0xbebfbc70
rol edx, 0x10
mov eax, dword [esp + 4]
add eax, dword [esp + 0x80]
mov edi, dword [esp]
add edx, edi
xor edi, ebp
xor edi, edx
rol esi, 0x17
add edi, eax
add edi, 0xbebfbc70
add ebx, dword [esp + 0x40]
mov eax, ecx
mov dword [esp + 0x18], ecx
xor ecx, dword [esp + 0x10]
add esi, eax
xor ecx, esi
add ebx, ecx
add ebx, 0x289b7ec6
rol edi, 0x17
mov ecx, edx
mov dword [esp + 4], edx
add edi, edx
add ebp, dword [esp + 0x88]
mov edx, dword [esp]
xor ecx, edx
xor ecx, edi
add ebp, ecx
add ebp, 0x289b7ec6
rol ebx, 4
add ebx, esi
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x94]
mov ecx, esi
xor ecx, dword [esp + 0x18]
xor ecx, ebx
add eax, ecx
add eax, 0xeaa127fa
mov dword [esp + 8], eax
rol ebp, 4
add edx, dword [esp + 0x54]
mov ecx, edx
add ebp, edi
mov dword [esp + 0x10], ebp
mov eax, edi
mov edx, dword [esp + 4]
xor eax, edx
xor eax, ebp
mov ebp, dword [esp + 8]
rol ebp, 0xb
add eax, ecx
add eax, 0xeaa127fa
mov dword [esp], eax
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x48]
mov ecx, ebx
xor ecx, esi
add ebp, ebx
mov dword [esp + 8], ebp
xor ecx, ebp
add ecx, eax
add ecx, 0xd4ef3085
mov eax, dword [esp]
rol eax, 0xb
mov ebp, dword [esp + 0x10]
add eax, ebp
mov dword [esp], eax
add edx, dword [esp + 0xa4]
xor ebp, edi
xor ebp, eax
add edx, ebp
add edx, 0xd4ef3085
rol ecx, 0x10
mov eax, dword [esp + 8]
add ecx, eax
mov dword [esp + 4], ecx
add esi, dword [esp + 0xa8]
mov ebp, eax
xor ebp, ebx
xor ebp, ecx
add esi, ebp
add esi, 0x4881d05
rol edx, 0x10
add edi, dword [esp + 0x38]
mov ebp, dword [esp]
add edx, ebp
mov dword [esp + 0x18], edx
xor ebp, dword [esp + 0x10]
xor ebp, edx
rol esi, 0x17
add edi, ebp
add edi, 0x4881d05
add ebx, dword [esp + 0xac]
mov ebp, ecx
xor ebp, eax
add esi, ecx
xor ebp, esi
add ebp, ebx
add ebp, 0xd9d4d039
rol edi, 0x17
add edi, edx
mov ecx, dword [esp + 0x10]
add ecx, dword [esp + 0x3c]
mov ebx, edx
xor ebx, dword [esp]
xor ebx, edi
add ebx, ecx
add ebx, 0xd9d4d039
rol ebp, 4
add ebp, esi
mov edx, ebp
add eax, dword [esp + 0x6c]
mov ebp, esi
xor ebp, dword [esp + 4]
xor ebp, edx
lea ecx, [eax + ebp]
add ecx, 0xe6db99e5
rol ebx, 4
mov eax, dword [esp]
add eax, dword [esp + 0xc0]
add ebx, edi
mov ebp, edi
xor ebp, dword [esp + 0x18]
xor ebp, ebx
rol ecx, 0xb
add ebp, eax
add ebp, 0xe6db99e5
mov eax, dword [esp + 4]
add eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, edx
mov dword [esp + 0x24], edx
xor eax, esi
add ecx, edx
mov dword [esp + 0x10], ecx
xor eax, ecx
mov ecx, dword [esp + 4]
add ecx, eax
add ecx, 0x1fa27cf8
rol ebp, 0xb
add ebp, ebx
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x70]
mov eax, ebx
xor eax, edi
xor eax, ebp
add edx, eax
add edx, 0x1fa27cf8
rol ecx, 0x10
mov eax, dword [esp + 0x10]
add ecx, eax
add esi, dword [esp + 0xb4]
xor eax, dword [esp + 0x24]
xor eax, ecx
add esi, eax
add esi, 0xc4ac5665
rol edx, 0x10
add edi, dword [esp + 0xb0]
add edx, ebp
mov eax, ebp
xor eax, ebx
xor eax, edx
add eax, edi
add eax, 0xc4ac5665
mov dword [esp], eax
mov edi, dword [esp + 0x24]
add edi, dword [esp + 0x94]
add ebx, dword [esp + 0x54]
rol esi, 0x17
mov dword [esp + 4], ecx
add esi, ecx
mov dword [esp + 0x54], esi
mov eax, dword [esp + 0x10]
not eax
or eax, esi
xor eax, ecx
add edi, eax
add edi, 0xf4292244
mov ecx, dword [esp]
rol ecx, 0x17
mov eax, ebp
not eax
mov dword [esp + 8], edx
add ecx, edx
mov dword [esp], ecx
or eax, ecx
xor eax, edx
lea esi, [eax + ebx]
add esi, 0xf4292244
mov ebx, dword [esp + 0x10]
add ebx, dword [esp + 0x7c]
add ebp, dword [esp + 0x78]
mov ecx, edi
rol ecx, 6
mov edi, dword [esp + 0x54]
add ecx, edi
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 4]
mov eax, edx
not eax
or eax, ecx
xor eax, edi
add ebx, eax
add ebx, 0x432aff97
rol esi, 6
mov eax, dword [esp + 8]
not eax
mov ecx, dword [esp]
add esi, ecx
or eax, esi
xor eax, ecx
add ebp, eax
add ebp, 0x432aff97
add edx, dword [esp + 0xbc]
mov dword [esp + 4], edx
mov edx, dword [esp + 8]
add edx, dword [esp + 0x2c]
rol ebx, 0xa
mov ecx, dword [esp + 0x18]
add ebx, ecx
mov eax, edi
not eax
or eax, ebx
xor eax, ecx
mov ecx, dword [esp + 4]
add eax, ecx
add eax, 0xab9423a7
mov dword [esp + 4], eax
rol ebp, 0xa
mov ecx, dword [esp]
mov eax, ecx
not eax
add ebp, esi
or eax, ebp
xor eax, esi
add eax, edx
add eax, 0xab9423a7
mov dword [esp + 8], eax
add edi, dword [esp + 0x90]
add ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov eax, dword [esp + 4]
rol eax, 0xf
add eax, ebx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, ecx
not edx
or edx, eax
xor edx, ebx
add edx, edi
add edx, 0xfc93a039
mov eax, dword [esp + 8]
rol eax, 0xf
mov edi, esi
not edi
add eax, ebp
mov dword [esp + 8], eax
or edi, eax
xor edi, ebp
mov eax, dword [esp]
add eax, edi
add eax, 0xfc93a039
mov dword [esp + 0x10], eax
add ecx, dword [esp + 0x6c]
mov eax, ecx
add esi, dword [esp + 0xc0]
rol edx, 0x15
mov ecx, dword [esp + 4]
add edx, ecx
mov edi, ebx
not edi
or edi, edx
xor edi, ecx
add eax, edi
add eax, 0x655b59c3
mov dword [esp], eax
mov eax, dword [esp + 0x10]
rol eax, 0x15
mov edi, ebp
not edi
mov ecx, dword [esp + 8]
add eax, ecx
mov dword [esp + 0x10], eax
or edi, eax
xor edi, ecx
mov eax, ecx
add edi, esi
add edi, 0x655b59c3
add ebx, dword [esp + 0x48]
add ebp, dword [esp + 0xa4]
mov esi, dword [esp]
rol esi, 6
mov dword [esp + 0x18], edx
add esi, edx
mov dword [esp], esi
mov ecx, dword [esp + 4]
not ecx
or ecx, esi
xor ecx, edx
add ebx, ecx
add ebx, 0x8f0ccc92
rol edi, 6
mov edx, eax
mov ecx, eax
not ecx
mov eax, dword [esp + 0x10]
add edi, eax
or ecx, edi
xor ecx, eax
lea esi, [ecx + ebp]
add esi, 0x8f0ccc92
mov ebp, dword [esp + 4]
add ebp, dword [esp + 0x84]
add edx, dword [esp + 0x80]
rol ebx, 0xa
mov eax, dword [esp]
add ebx, eax
mov ecx, dword [esp + 0x18]
not ecx
or ecx, ebx
xor ecx, eax
add ebp, ecx
add ebp, 0xffeff47d
rol esi, 0xa
mov ecx, dword [esp + 0x10]
mov eax, ecx
not eax
add esi, edi
mov dword [esp + 4], esi
or eax, esi
xor eax, edi
add eax, edx
add eax, 0xffeff47d
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x30]
add ecx, dword [esp + 0x4c]
rol ebp, 0xf
add ebp, ebx
mov dword [esp + 0x30], ebp
mov esi, dword [esp]
not esi
or esi, ebp
xor esi, ebx
add edx, esi
add edx, 0x85845dd1
rol eax, 0xf
mov esi, edi
not esi
mov ebp, dword [esp + 4]
add eax, ebp
mov dword [esp + 8], eax
or esi, eax
xor esi, ebp
lea ebp, [esi + ecx]
add ebp, 0x85845dd1
mov eax, dword [esp]
add eax, dword [esp + 0x9c]
add edi, dword [esp + 0x98]
rol edx, 0x15
mov ecx, dword [esp + 0x30]
add edx, ecx
mov dword [esp + 0x4c], edx
mov esi, ebx
not esi
or esi, edx
xor esi, ecx
add esi, eax
add esi, 0x6fa87e4f
mov edx, ebp
rol edx, 0x15
mov ecx, dword [esp + 4]
mov ebp, ecx
not ebp
mov eax, dword [esp + 8]
add edx, eax
mov dword [esp + 0x18], edx
or ebp, edx
xor ebp, eax
lea edx, [edi + ebp]
add edx, 0x6fa87e4f
add ebx, dword [esp + 0x74]
add ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
rol esi, 6
mov ecx, dword [esp + 0x4c]
add esi, ecx
mov ebp, dword [esp + 0x30]
not ebp
or ebp, esi
xor ebp, ecx
add ebx, ebp
add ebx, 0xfe2ce6e0
rol edx, 6
mov ecx, dword [esp + 8]
mov ebp, ecx
not ebp
mov edi, dword [esp + 0x18]
add edx, edi
mov dword [esp + 0x10], edx
or ebp, edx
xor ebp, edi
mov eax, dword [esp + 4]
add ebp, eax
add ebp, 0xfe2ce6e0
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0xa8]
add ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
rol ebx, 0xa
add ebx, esi
mov ecx, dword [esp + 0x4c]
mov edx, ecx
not edx
or edx, ebx
xor edx, esi
add eax, edx
add eax, 0xa3014314
mov dword [esp], eax
rol ebp, 0xa
mov edx, edi
not edx
mov eax, dword [esp + 0x10]
add ebp, eax
or edx, ebp
xor edx, eax
mov eax, dword [esp + 8]
add eax, edx
add eax, 0xa3014314
mov dword [esp + 4], eax
add ecx, dword [esp + 0x40]
mov eax, ecx
add edi, dword [esp + 0x88]
mov dword [esp + 0x18], edi
mov ecx, dword [esp]
rol ecx, 0xf
add ecx, ebx
mov dword [esp], ecx
mov edx, esi
not edx
or edx, ecx
xor edx, ebx
add eax, edx
add eax, 0x4e0811a1
mov dword [esp + 8], eax
mov eax, dword [esp + 4]
rol eax, 0xf
mov ecx, dword [esp + 0x10]
mov edi, ecx
not edi
add eax, ebp
mov dword [esp + 4], eax
or edi, eax
xor edi, ebp
mov eax, dword [esp + 0x18]
lea edx, [edi + eax]
add edx, 0x4e0811a1
add esi, dword [esp + 0x50]
add ecx, dword [esp + 0x58]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 8]
rol ecx, 0x15
mov eax, dword [esp]
add ecx, eax
mov edi, ebx
not edi
or edi, ecx
xor edi, eax
add esi, edi
add esi, 0xf7537e82
rol edx, 0x15
mov edi, ebp
not edi
mov eax, dword [esp + 4]
add edx, eax
or edi, edx
xor edi, eax
mov eax, dword [esp + 0x10]
add edi, eax
add edi, 0xf7537e82
add ebx, dword [esp + 0xa0]
add ebp, dword [esp + 0x44]
rol esi, 6
mov eax, ecx
mov dword [esp + 8], ecx
add esi, ecx
mov ecx, dword [esp]
not ecx
or ecx, esi
xor ecx, eax
add ebx, ecx
add ebx, 0xbd3af235
rol edi, 6
mov eax, dword [esp + 4]
mov ecx, eax
not ecx
mov dword [esp + 0x30], edx
add edi, edx
mov dword [esp + 0x10], edi
or ecx, edi
xor ecx, edx
add ebp, ecx
add ebp, 0xbd3af235
mov edi, dword [esp]
add edi, dword [esp + 0xb4]
add eax, dword [esp + 0xb0]
rol ebx, 0xa
add ebx, esi
mov dword [esp], ebx
mov edx, dword [esp + 8]
mov ecx, edx
not ecx
or ecx, ebx
xor ecx, esi
add ecx, edi
add ecx, 0x2ad7d2bb
add edx, dword [esp + 0xac]
mov ebx, edx
rol ebp, 0xa
mov edx, dword [esp + 0x10]
add ebp, edx
mov edi, dword [esp + 0x30]
not edi
or edi, ebp
xor edi, edx
add eax, edi
add eax, 0x2ad7d2bb
mov edx, dword [esp + 0x28]
rol ecx, 0xf
add dword [esp + 0xcc], esi
mov edi, dword [esp]
add ecx, edi
not esi
or esi, ecx
xor esi, edi
add ebx, esi
add ebx, 0xeb86d391
mov edi, dword [esp + 0x30]
add edi, dword [esp + 0x3c]
rol eax, 0xf
add eax, ebp
mov esi, dword [esp + 0x10]
add dword [esp + 0xc8], esi
not esi
or esi, eax
xor esi, ebp
add esi, edi
add esi, 0xeb86d391
mov edi, dword [esp + 0x14]
add edi, ecx
rol ebx, 0x15
add edi, ebx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x5c]
add edi, ecx
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp]
add dword [esp + 0xb8], ebx
mov ebx, dword [esp + 0x1c]
add ebx, eax
add dword [esp + 0x60], eax
rol esi, 0x15
add ebx, esi
mov esi, ebx
mov ebx, dword [esp + 0x68]
add ebx, ebp
mov eax, dword [esp + 0xcc]
mov dword [edx + 0x90], eax
mov eax, dword [esp + 0x14]
mov dword [edx + 0x94], eax
mov dword [esp + 0x5c], edi
mov dword [edx + 0x98], edi
mov eax, dword [esp + 0xb8]
mov ebp, eax
mov dword [edx + 0x9c], eax
mov eax, dword [esp + 0xc8]
mov dword [edx + 0xa0], eax
mov dword [esp + 0x1c], esi
mov dword [edx + 0xa4], esi
mov eax, dword [esp + 0x60]
mov dword [edx + 0xa8], eax
mov eax, ebx
mov dword [esp + 0x68], ebx
mov ebx, edx
mov dword [edx + 0xac], eax
add ecx, 0x40
mov eax, dword [esp + 0x64]
add eax, 0xffffffc0
mov dword [esp + 0x64], eax
mov esi, dword [esp + 0xc4]
cmp eax, esi
jae 0x46b3b0
lea eax, [ebx + 0x10]
mov esi, dword [esp + 0x64]
push esi
push ecx
push eax
call fcn.004c4690
add esp, 0xc
mov eax, esi
mov byte [ebx + 0x110], al
add esp, 0xd8
pop esi
pop edi
pop ebx
pop ebp
ret 8