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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xffffff80
sub esp, 0x6d0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x4c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x30], eax
call fcn.0041a640
test eax, eax
mov dword [esp + 0x14], eax
jne 0x412535
mov eax, dword [esp + 0x10]
sub eax, 1
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x48]
mov ebx, dword [eax + 0x50]
mov ecx, dword [eax + 0x4c]
mov edi, dword [eax + 0x44]
mov dword [esp + 0xc4], esi
mov edx, dword [eax + 0x40]
mov dword [esp + 0x1d8], esi
mov esi, dword [eax + 0x58]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x1e0], ebx
mov ebx, dword [eax + 0x64]
mov dword [esp + 0x1dc], ecx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0xb8], esi
mov dword [esp + 0x1e8], esi
mov esi, dword [eax + 0x60]
mov dword [esp + 0x1f4], ebx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x1e4], ecx
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0xb4], esi
mov dword [esp + 0x1f0], esi
mov esi, ebx
mov ebx, dword [eax + 0x68]
mov dword [esp + 0x1d0], edx
add edx, esi
mov dword [esp + 0x1d4], edi
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x1f8], ebx
mov ebx, dword [eax + 0x6c]
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0xac], ebx
mov ecx, dword [eax + 0x74]
mov dword [esp + 0x1fc], ebx
mov ebx, dword [eax + 0x70]
mov dword [esp + 0xc8], esi
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x200], ebx
mov ebx, dword [eax + 0x78]
mov dword [esp + 0x204], ecx
mov ecx, ebx
mov dword [esp + 0x208], ebx
mov ebx, dword [eax + 0x7c]
mov eax, ecx
mov esi, ecx
ror eax, 0x13
ror ecx, 0x11
xor eax, ecx
mov ecx, esi
shr ecx, 0xa
xor eax, ecx
add edx, eax
mov eax, edi
mov dword [esp + 0x9c], esi
mov esi, edi
ror esi, 7
ror eax, 0x12
xor eax, esi
mov esi, edi
shr esi, 3
xor eax, esi
lea esi, [edx + eax]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x210], esi
lea edx, [edi + eax]
mov eax, ebx
mov edi, ebx
ror edi, 0x11
ror eax, 0x13
xor eax, edi
mov edi, ebx
shr edi, 0xa
xor eax, edi
mov edi, dword [esp + 0xc4]
add edx, eax
mov ecx, edi
mov eax, edi
ror ecx, 7
ror eax, 0x12
xor eax, ecx
mov ecx, edi
shr ecx, 3
xor eax, ecx
mov ecx, esi
lea edi, [edx + eax]
mov eax, esi
mov edx, dword [esp + 0xc4]
ror ecx, 0x11
ror eax, 0x13
xor eax, ecx
mov ecx, esi
shr ecx, 0xa
add edx, dword [esp + 0xac]
xor eax, ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x214], edi
add eax, edx
mov dword [esp + 0x98], eax
mov edx, ecx
mov eax, ecx
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, ecx
shr eax, 3
mov ecx, edi
xor edx, eax
mov eax, edi
ror ecx, 0x11
ror eax, 0x13
xor eax, ecx
mov ecx, edi
shr ecx, 0xa
xor eax, ecx
mov ecx, dword [esp + 0xbc]
add edx, dword [esp + 0xa8]
add edx, eax
mov eax, ecx
ror eax, 0x12
ror ecx, 7
xor eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xc0]
add edx, dword [esp + 0xa0]
shr ecx, 3
xor eax, ecx
mov ecx, dword [esp + 0xcc]
add eax, edx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xb8]
lea edx, [ebx + eax]
mov eax, ecx
ror eax, 0x12
ror ecx, 7
xor eax, ecx
mov ecx, dword [esp + 0xcc]
shr ecx, 3
xor eax, ecx
mov ecx, dword [esp + 0xb4]
add eax, edx
mov dword [esp + 0x8c], eax
mov edx, ecx
mov eax, ecx
ror edx, 7
ror eax, 0x12
xor eax, edx
mov edx, ecx
shr edx, 3
xor eax, edx
add eax, dword [esp + 0xcc]
add eax, esi
mov dword [esp + 0x88], eax
mov edx, dword [esp + 0xc8]
mov eax, edx
ror eax, 0x12
ror edx, 7
xor eax, edx
mov edx, dword [esp + 0xc8]
shr edx, 3
xor eax, edx
mov edx, ebx
add eax, ecx
mov ecx, esi
add eax, edi
mov dword [esp + 0x84], eax
mov eax, ebx
ror edx, 7
ror eax, 0x12
xor eax, edx
mov edx, ebx
shr edx, 3
xor eax, edx
mov edx, dword [ebp + 0xc]
add eax, dword [esp + 0x9c]
ror ecx, 0x12
mov dword [esp + 0x80], eax
mov eax, esi
ror eax, 7
xor ecx, eax
mov eax, esi
shr eax, 3
xor ecx, eax
lea eax, [ecx + ebx]
mov dword [esp + 0x7c], eax
mov eax, dword [0x42fd40]
mov dword [esp + 0x150], eax
mov eax, dword [0x42fd44]
mov dword [esp + 0x154], eax
mov eax, dword [0x42fd48]
mov dword [esp + 0x158], eax
mov eax, dword [0x42fd4c]
mov dword [esp + 0x15c], eax
mov eax, dword [0x42fd50]
mov dword [esp + 0x160], eax
mov eax, dword [0x42fd54]
mov dword [esp + 0x164], eax
mov eax, dword [0x42fd58]
mov dword [esp + 0x168], eax
mov eax, dword [0x42fd5c]
mov dword [esp + 0x16c], eax
lea eax, [esp + 0x150]
call fcn.004096c0
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x16c]
mov esi, dword [esp + 0x154]
mov ebx, eax
mov eax, dword [esp + 0x160]
mov edi, eax
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
ror edx, 0x19
xor eax, edx
mov edx, dword [esp + 0x158]
lea ecx, [ecx + eax + 0x428a2f98]
mov eax, dword [esp + 0x164]
xor eax, dword [esp + 0x168]
mov dword [esp + 0x54], edi
or edx, esi
and eax, edi
and edx, ebx
xor eax, dword [esp + 0x168]
mov edi, ebx
mov dword [esp + 0x58], edi
add ecx, eax
mov eax, dword [ebp + 0xc]
add ecx, dword [eax + 0x40]
mov eax, dword [esp + 0x15c]
add eax, ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x158]
and eax, esi
or edx, eax
mov eax, ebx
ror eax, 0xd
ror ebx, 2
xor eax, ebx
mov ebx, edi
ror ebx, 0x16
xor eax, ebx
mov ebx, dword [esp + 0x50]
add eax, edx
mov edx, dword [ebp + 0xc]
add ecx, eax
mov edi, ecx
mov ecx, dword [esp + 0x168]
add ecx, dword [edx + 0x44]
mov edx, ecx
mov ecx, dword [esp + 0x54]
xor ecx, dword [esp + 0x164]
mov eax, ecx
and eax, ebx
xor eax, dword [esp + 0x164]
lea ecx, [edx + eax + 0x71374491]
mov edx, ebx
ror edx, 0xb
mov eax, edx
mov edx, ebx
ror edx, 6
xor eax, edx
mov edx, ebx
mov ebx, dword [esp + 0x58]
ror edx, 0x19
xor eax, edx
mov edx, edi
add ecx, eax
mov eax, dword [esp + 0x158]
ror edx, 0xd
add eax, ecx
mov dword [esp + 0x9c], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, ebx
or eax, esi
and ebx, esi
and eax, edi
or eax, ebx
add eax, edx
add ecx, eax
mov eax, dword [ebp + 0xc]
mov ebx, ecx
mov ecx, dword [esp + 0x164]
add ecx, dword [eax + 0x48]
mov eax, dword [esp + 0x50]
mov edx, ecx
mov ecx, dword [esp + 0x54]
xor eax, ecx
and eax, dword [esp + 0x9c]
xor eax, ecx
lea ecx, [edx + eax - 0x4a3f0431]
mov edx, dword [esp + 0x9c]
mov eax, edx
ror eax, 0xb
ror edx, 6
xor eax, edx
mov edx, dword [esp + 0x9c]
ror edx, 0x19
xor eax, edx
mov edx, ebx
add ecx, eax
lea eax, [ecx + esi]
mov dword [esp + 0xac], eax
mov eax, ebx
ror eax, 2
ror edx, 0xd
mov dword [esp + 0x48], ebx
xor edx, eax
mov eax, ebx
mov ebx, dword [esp + 0x58]
ror eax, 0x16
xor edx, eax
mov eax, edi
mov dword [esp + 0x34], edi
or eax, ebx
and edi, ebx
and eax, dword [esp + 0x48]
or eax, edi
add eax, edx
mov edx, dword [esp + 0x50]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xac]
mov edi, ebx
mov eax, edi
ror eax, 2
mov ebx, ecx
ror ebx, 0xb
mov dword [esp + 0x44], ebx
mov ebx, ecx
ror ebx, 6
xor dword [esp + 0x44], ebx
mov ebx, ecx
ror ebx, 0x19
xor dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x9c]
xor ebx, edx
mov dword [esp + 0x40], ebx
mov ebx, edi
and dword [esp + 0x40], ecx
xor dword [esp + 0x40], edx
mov edx, edi
mov ecx, dword [esp + 0x48]
ror edx, 0xd
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0x34]
ror eax, 0x16
xor edx, eax
mov eax, ecx
or eax, edi
mov dword [esp + 0xa8], ebx
and eax, ebx
mov ebx, ecx
and ecx, edi
or eax, ecx
lea edi, [edx + eax]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0xac]
xor eax, dword [esp + 0x9c]
mov edi, edx
or edi, ebx
mov dword [esp + 0x24], edi
mov edi, edx
and edi, ebx
mov dword [esp + 0x20], edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x164]
shl edi, 7
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x16c]
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x168]
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], eax
lea eax, [esp + 0x2d0]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xa0], eax
mov eax, dword [0x42fd50]
mov edx, dword [0x42fd48]
or edx, dword [0x42fd44]
and edx, dword [0x42fd40]
ror eax, 0xb
mov edi, dword [esp + 0x15c]
mov dword [esp + 0x3c], eax
mov eax, dword [0x42fd50]
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x42fd40]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x158]
ror eax, 6
xor dword [esp + 0x3c], eax
mov eax, dword [0x42fd50]
ror ecx, 2
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x60], ebx
ror eax, 0x19
xor dword [esp + 0x3c], eax
mov eax, dword [0x42fd58]
xor eax, dword [0x42fd54]
mov dword [esp + 0x38], eax
mov eax, dword [0x42fd50]
and dword [esp + 0x38], eax
mov eax, dword [0x42fd58]
xor dword [esp + 0x38], eax
mov eax, dword [0x42fd48]
and eax, dword [0x42fd44]
or edx, eax
mov eax, dword [0x42fd40]
ror eax, 0xd
xor eax, ecx
mov ecx, dword [0x42fd40]
ror ecx, 0x16
xor eax, ecx
add eax, edx
mov dword [esp + 0x1c], eax
nop
add dword [esp + 0xa4], 1
mov edx, dword [esp + 0xa4]
mov eax, edx
mov edi, edx
ror eax, 7
ror edi, 0x12
xor edi, eax
mov eax, edx
shr eax, 3
xor edi, eax
add edi, dword [esp + 0x98]
mov dword [esp + 0x1dc], edx
add edx, dword [esp + 0x94]
mov eax, edi
mov ecx, edi
ror ecx, 0x11
ror eax, 0x13
xor eax, ecx
mov ecx, edi
shr ecx, 0xa
xor eax, ecx
add eax, dword [esp + 0x90]
mov dword [esp + 0x218], edi
mov dword [esp + 0x21c], edx
mov esi, eax
mov dword [esp + 0x220], eax
mov eax, edx
mov ebx, esi
ror eax, 0x13
mov dword [esp + 0xcc], eax
mov eax, edx
ror eax, 0x11
xor dword [esp + 0xcc], eax
mov eax, edx
shr eax, 0xa
xor dword [esp + 0xcc], eax
mov eax, esi
mov ecx, dword [esp + 0xcc]
ror eax, 0x11
ror ebx, 0x13
mov dword [esp + 0xc4], esi
xor ebx, eax
mov eax, esi
shr eax, 0xa
mov esi, ecx
xor ebx, eax
mov dword [esp + 0x224], ecx
ror esi, 0x13
ror ecx, 0x11
xor esi, ecx
mov ecx, dword [esp + 0xcc]
add ebx, dword [esp + 0x8c]
shr ecx, 0xa
xor esi, ecx
mov ecx, ebx
mov dword [esp + 0xc8], ebx
ror ecx, 0x13
mov dword [esp + 0x228], ebx
ror ebx, 0x11
add esi, dword [esp + 0x88]
xor ecx, ebx
mov ebx, dword [esp + 0xc8]
mov eax, esi
ror eax, 0x11
shr ebx, 0xa
xor ecx, ebx
mov ebx, esi
ror ebx, 0x13
add ecx, dword [esp + 0x84]
xor ebx, eax
mov eax, esi
shr eax, 0xa
xor ebx, eax
add ebx, edi
mov edi, ecx
ror edi, 0x13
mov eax, edi
mov edi, ecx
ror edi, 0x11
xor eax, edi
mov edi, ecx
shr edi, 0xa
xor eax, edi
lea edi, [eax + edx]
mov edx, ebx
ror edx, 0x13
mov eax, edx
mov edx, ebx
ror edx, 0x11
xor eax, edx
mov edx, edi
mov dword [esp + 0x234], ebx
shr ebx, 0xa
xor eax, ebx
mov dword [esp + 0x238], edi
ror edx, 0x13
add eax, dword [esp + 0xc4]
mov dword [esp + 0xc4], edi
ror edi, 0x11
xor edx, edi
mov edi, dword [esp + 0xc4]
mov ebx, eax
ror ebx, 0x13
mov dword [esp + 0x23c], eax
shr edi, 0xa
xor edx, edi
mov edi, eax
add edx, dword [esp + 0xcc]
ror edi, 0x11
xor ebx, edi
shr eax, 0xa
mov edi, edx
xor ebx, eax
mov eax, edx
mov dword [esp + 0x22c], esi
mov dword [esp + 0x230], ecx
mov dword [esp + 0x240], edx
add ebx, dword [esp + 0xc8]
add esi, dword [esp + 0x80]
ror edi, 0x11
ror eax, 0x13
xor eax, edi
mov edi, edx
shr edi, 0xa
xor eax, edi
mov edi, ebx
add esi, eax
mov eax, ebx
ror edi, 0x11
add ecx, dword [esp + 0x7c]
ror eax, 0x13
xor eax, edi
mov edi, esi
mov dword [esp + 0x244], ebx
shr ebx, 0xa
xor eax, ebx
mov ebx, dword [esp + 0x210]
add ecx, eax
mov dword [esp + 0xc0], edx
lea eax, [esp + 0x234]
mov edx, ecx
mov dword [esp + 0x248], esi
mov dword [esp + 0x24c], ecx
mov dword [esp + 0xc8], esi
jmp 0x40de05
mov edi, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], edi
mov edi, esi
mov dword [esp + 0xc0], ecx
mov esi, dword [eax - 0x20]
mov ecx, edi
add eax, 8
ror ecx, 0x13
mov dword [esp + 0xcc], esi
mov esi, dword [eax - 8]
add esi, ebx
mov ebx, edi
ror ebx, 0x11
xor ecx, ebx
mov ebx, edi
mov edi, dword [esp + 0xcc]
shr ebx, 0xa
xor ecx, ebx
add esi, ecx
mov ebx, edi
mov ecx, edi
ror ebx, 7
ror ecx, 0x12
xor ecx, ebx
mov ebx, edi
shr ebx, 3
mov edi, edx
xor ecx, ebx
mov ebx, dword [eax - 0x24]
add esi, ecx
mov ecx, edx
ror edi, 0x11
ror ecx, 0x13
xor ecx, edi
mov edi, ebx
shr edx, 0xa
xor ecx, edx
mov edx, ebx
ror edi, 7
ror edx, 0x12
xor edx, edi
mov edi, ebx
add ecx, dword [esp + 0xc4]
add ecx, dword [esp + 0xcc]
shr edi, 3
xor edx, edi
add edx, ecx
mov dword [eax + 0x14], esi
lea edi, [esp + 0x2b4]
mov dword [eax + 0x18], edx
cmp eax, edi
jne 0x40dde0
mov eax, dword [esp + 0x1dc]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
lea eax, [eax + esi - 0x164a245b]
mov esi, dword [esp + 0x58]
add eax, dword [esp + 0x40]
add eax, dword [esp + 0x44]
add ebx, dword [esp + 0x1e0]
lea edx, [eax + esi]
and ecx, edx
mov edi, edx
xor ecx, dword [esp + 0x9c]
ror edi, 6
add eax, dword [esp + 0x2c]
lea esi, [ebx + ecx + 0x3956c25b]
mov ecx, edx
ror ecx, 0xb
xor ecx, edi
mov edi, edx
ror edi, 0x19
mov ebx, eax
xor ecx, edi
mov edi, dword [esp + 0x34]
add esi, ecx
mov ecx, eax
ror ebx, 2
ror ecx, 0xd
xor ecx, ebx
mov ebx, eax
ror ebx, 0x16
add edi, esi
xor ecx, ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0xcc], edi
and ebx, eax
or ebx, dword [esp + 0x20]
add ecx, ebx
mov ebx, dword [esp + 0x9c]
add esi, ecx
mov edi, esi
mov esi, dword [esp + 0xac]
add ebx, dword [esp + 0x1e4]
mov dword [esp + 0xc4], edi
mov ecx, esi
xor ecx, edx
and ecx, dword [esp + 0xcc]
xor ecx, esi
lea esi, [ebx + ecx + 0x59f111f1]
mov ebx, dword [esp + 0xcc]
mov ecx, ebx
ror ecx, 0xb
ror ebx, 6
xor ecx, ebx
mov ebx, dword [esp + 0xcc]
ror ebx, 0x19
xor ecx, ebx
mov ebx, edi
add esi, ecx
mov ecx, dword [esp + 0x48]
add ecx, esi
mov dword [esp + 0xc8], ecx
mov ecx, edi
ror ebx, 0xd
ror ecx, 2
xor ebx, ecx
mov ecx, edi
ror ecx, 0x16
xor ebx, ecx
mov ecx, dword [esp + 0xa8]
or ecx, eax
and ecx, edi
mov edi, dword [esp + 0xa8]
and edi, eax
or ecx, edi
add ecx, ebx
add esi, ecx
mov ecx, dword [esp + 0xc8]
mov edi, esi
mov esi, dword [esp + 0xac]
add esi, dword [esp + 0x1e8]
mov ebx, esi
mov esi, dword [esp + 0xcc]
xor esi, edx
and ecx, esi
xor ecx, edx
lea esi, [ebx + ecx - 0x6dc07d5c]
mov ebx, dword [esp + 0xc8]
mov ecx, ebx
ror ecx, 0xb
ror ebx, 6
xor ecx, ebx
mov ebx, dword [esp + 0xc8]
ror ebx, 0x19
xor ecx, ebx
mov ebx, edi
add esi, ecx
mov ecx, dword [esp + 0xa8]
ror ebx, 0xd
add ecx, esi
mov dword [esp + 0xbc], ecx
mov ecx, edi
ror ecx, 2
xor ebx, ecx
mov ecx, edi
ror ecx, 0x16
xor ebx, ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xb0], edi
or ecx, eax
and ecx, edi
mov edi, dword [esp + 0xc4]
and edi, eax
or ecx, edi
mov edi, dword [esp + 0xbc]
add ecx, ebx
mov ebx, dword [esp + 0xcc]
add esi, ecx
mov ecx, dword [esp + 0xc8]
add edx, dword [esp + 0x1ec]
xor ecx, ebx
and ecx, edi
xor ecx, ebx
mov ebx, edi
lea ecx, [edx + ecx - 0x54e3a12b]
mov edx, edi
ror ebx, 6
ror edx, 0xb
xor edx, ebx
mov ebx, edi
mov edi, dword [esp + 0xc4]
ror ebx, 0x19
xor edx, ebx
mov ebx, dword [esp + 0xb0]
add ecx, edx
mov edx, esi
add eax, ecx
mov dword [esp + 0xb8], eax
mov eax, esi
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, esi
ror eax, 0x16
xor edx, eax
mov eax, ebx
or eax, edi
and ebx, edi
and eax, esi
or eax, ebx
mov ebx, dword [esp + 0xb8]
add eax, edx
lea edi, [eax + ecx]
mov ecx, dword [esp + 0xcc]
add ecx, dword [esp + 0x1f0]
mov eax, dword [esp + 0xbc]
mov edx, ecx
mov ecx, dword [esp + 0xc8]
xor eax, ecx
and eax, ebx
xor eax, ecx
lea ecx, [edx + eax - 0x27f85568]
mov eax, ebx
mov edx, ebx
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebx
mov ebx, dword [esp + 0xb0]
ror edx, 0x19
xor eax, edx
mov edx, dword [esp + 0xc4]
add ecx, eax
lea eax, [ecx + edx]
mov edx, edi
mov dword [esp + 0xb4], eax
mov eax, edi
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, ebx
or eax, esi
and ebx, esi
and eax, edi
or eax, ebx
mov ebx, dword [esp + 0xb4]
add eax, edx
mov edx, dword [esp + 0xc8]
add ecx, eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xbc]
add edx, dword [esp + 0x1f4]
xor eax, ecx
and eax, ebx
xor eax, ecx
lea ecx, [edx + eax + 0x12835b01]
mov eax, ebx
mov edx, ebx
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebx
mov ebx, dword [esp + 0xb0]
ror edx, 0x19
xor eax, edx
add ecx, eax
lea eax, [ecx + ebx]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0xcc], eax
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
or eax, esi
and eax, ebx
mov ebx, edi
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xbc]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0xb4]
add edx, dword [esp + 0x1f8]
xor eax, ecx
and eax, dword [esp + 0xcc]
xor eax, ecx
lea ecx, [edx + eax + 0x243185be]
mov edx, dword [esp + 0xcc]
ror edx, 0xb
mov eax, edx
mov edx, dword [esp + 0xcc]
ror edx, 6
xor eax, edx
mov edx, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, ebx
add esi, ecx
mov dword [esp + 0xc8], esi
mov esi, ebx
ror esi, 0xd
mov edx, esi
mov esi, dword [esp + 0xc0]
ror eax, 2
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, edi
and esi, edi
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xb8]
add edx, dword [esp + 0x1fc]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xb4]
mov eax, edx
mov edx, dword [esp + 0xcc]
xor edx, ecx
and edx, dword [esp + 0xc8]
xor edx, ecx
lea ecx, [eax + edx + 0x550c7dc3]
mov edx, dword [esp + 0xc8]
mov eax, edx
ror eax, 0xb
ror edx, 6
xor eax, edx
mov edx, dword [esp + 0xc8]
ror edx, 0x19
xor eax, edx
add ecx, eax
add edi, ecx
mov dword [esp + 0xbc], edi
mov edi, esi
ror edi, 0xd
mov edx, edi
mov edi, esi
ror edi, 2
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc0]
mov eax, edi
or eax, ebx
and edi, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xbc]
add eax, edx
mov edx, dword [esp + 0xb4]
add eax, ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc8]
add edx, dword [esp + 0x200]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x72be5d74]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xc4]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc0]
add eax, ecx
mov dword [esp + 0xb8], eax
mov eax, edi
ror eax, 0xd
mov edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xb8]
add eax, edx
mov edx, dword [esp + 0xcc]
add eax, ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x204]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x7f214e02]
mov eax, edi
mov edx, edi
ror eax, 0xb
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xc4]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0xc0]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xc4]
and eax, ebx
and edi, esi
or eax, edi
mov edi, dword [esp + 0xb4]
add eax, edx
mov edx, dword [esp + 0xc8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x208]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x6423f959]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb0], esi
ror edi, 0x16
mov esi, dword [esp + 0xc0]
xor edx, edi
mov edi, dword [esp + 0xc4]
mov eax, esi
or eax, edi
and eax, ebx
and esi, edi
mov edi, dword [esp + 0xb0]
or eax, esi
add eax, edx
mov edx, dword [esp + 0xbc]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0xb4]
add edx, dword [esp + 0x20c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x3e640e8c]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xc4]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc0]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xb8]
add eax, ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb0]
add edx, dword [esp + 0x210]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x1b64963f]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc0]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xb4]
add eax, ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x214]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x1041b87a]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xcc]
and eax, ebx
and edi, esi
or eax, edi
mov edi, dword [esp + 0xbc]
add eax, edx
mov edx, dword [esp + 0xb0]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x218]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0xfc19dc6]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x21c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x240ca1cc]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
ror edx, 0x19
mov edi, esi
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xcc]
ror edi, 0xd
mov edx, edi
mov edi, esi
ror edi, 2
xor edx, edi
mov edi, esi
ror edi, 0x16
add eax, ecx
xor edx, edi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x220]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x2de92c6f]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x224]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x4a7484aa]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xcc]
and eax, ebx
and edi, esi
or eax, edi
mov edi, dword [esp + 0xbc]
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x228]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x5cb0a9dc]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
ror edx, 0x19
mov edi, ebx
xor eax, edx
add ecx, eax
add esi, ecx
ror edi, 0xd
mov edx, edi
mov edi, ebx
ror edi, 2
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x22c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x76f988da]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x230]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x67c1aeae]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x234]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x57ce3993]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror edx, 0xd
or edi, esi
ror eax, 2
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xcc]
and eax, ebx
and edi, esi
or eax, edi
mov edi, dword [esp + 0xbc]
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x238]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x4ffcd838]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x23c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x40a68039]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x240]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x391ff40d]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x244]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x2a586eb9]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xcc]
and eax, ebx
and edi, esi
or eax, edi
mov edi, dword [esp + 0xbc]
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x248]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x6ca6351]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x24c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x14292967]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
ror edx, 0x19
mov edi, esi
xor eax, edx
ror edi, 0xd
add ecx, eax
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, esi
ror edi, 2
xor edx, edi
mov edi, esi
ror edi, 0x16
add eax, ecx
xor edx, edi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x250]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x27b70a85]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x254]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x2e1b2138]
mov eax, edi
mov edx, edi
ror eax, 0xb
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xcc]
and eax, ebx
and edi, esi
or eax, edi
mov edi, dword [esp + 0xbc]
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x258]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x4d2c6dfc]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x25c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x53380d13]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x260]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x650a7354]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x264]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x766a0abb]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xcc]
and eax, ebx
and edi, esi
or eax, edi
mov edi, dword [esp + 0xbc]
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x268]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x7e3d36d2]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x26c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x6d8dd37b]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
ror edx, 0x19
mov edi, esi
xor eax, edx
ror edi, 0xd
add ecx, eax
mov eax, dword [esp + 0xcc]
mov edx, edi
mov edi, esi
ror edi, 2
xor edx, edi
mov edi, esi
ror edi, 0x16
add eax, ecx
xor edx, edi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x270]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x5d40175f]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x274]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x57e599b5]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xcc]
and eax, ebx
and edi, esi
or eax, edi
mov edi, dword [esp + 0xbc]
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x278]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x3db47490]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
ror edx, 0x19
mov edi, ebx
xor eax, edx
add ecx, eax
ror edi, 0xd
add esi, ecx
mov edx, edi
mov edi, ebx
ror edi, 2
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x27c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x3893ae5d]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x280]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x2e6d17e7]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x284]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x2966f9dc]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xcc]
and eax, ebx
and edi, esi
or eax, edi
mov edi, dword [esp + 0xbc]
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x288]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0xbf1ca7b]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x28c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x106aa070]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x290]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x19a4c116]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x294]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x1e376c08]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xcc]
and eax, ebx
and edi, esi
or eax, edi
mov edi, dword [esp + 0xbc]
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x298]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x2748774c]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x29c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x34b0bcb5]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
ror edx, 0x19
mov edi, esi
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xcc]
ror edi, 0xd
mov edx, edi
mov edi, esi
ror edi, 2
xor edx, edi
mov edi, esi
add eax, ecx
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x2a0]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x391c0cb3]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x2a4]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x4ed8aa4a]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xbc]
and eax, ebx
mov ebx, dword [esp + 0xcc]
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x2a8]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x5b9cca4f]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x2ac]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x682e6ff3]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xcc], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xcc]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x2b0]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x748f82ee]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xc4]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xcc]
add edx, dword [esp + 0x2b4]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x78a5636f]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xc4]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
or edi, esi
mov eax, edi
mov edi, dword [esp + 0xbc]
and eax, ebx
mov ebx, dword [esp + 0xc4]
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x2b8]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x7b3787ec]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
ror edx, 0x19
mov edi, ebx
xor eax, edx
add ecx, eax
lea edx, [ecx + esi]
ror edi, 0xd
mov dword [esp + 0xb8], edx
mov edx, edi
mov edi, ebx
ror edi, 2
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, ebx
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc4]
mov eax, esi
or eax, edi
and esi, edi
and eax, ebx
or eax, esi
mov esi, dword [esp + 0xb8]
add eax, edx
add eax, ecx
mov ecx, dword [esp + 0xcc]
add ecx, dword [esp + 0x2bc]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xbc]
mov edx, ecx
mov ecx, dword [esp + 0xc0]
xor eax, ecx
and eax, esi
xor eax, ecx
lea ecx, [edx + eax - 0x7338fdf8]
mov edx, esi
ror edx, 0xb
mov eax, edx
mov edx, esi
ror edx, 6
xor eax, edx
mov edx, esi
mov esi, dword [esp + 0xc4]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov edx, esi
mov eax, esi
ror eax, 2
add edi, ecx
ror edx, 0xd
xor edx, eax
mov eax, esi
mov esi, dword [esp + 0xc8]
ror eax, 0x16
xor edx, eax
mov eax, esi
and esi, ebx
or eax, ebx
and eax, dword [esp + 0xc4]
or eax, esi
mov esi, dword [esp + 0xc8]
add eax, edx
add ecx, eax
mov eax, dword [esp + 0xc0]
add eax, dword [esp + 0x2c0]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0xbc]
mov edx, eax
mov eax, dword [esp + 0xb8]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x6f410006]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
ror edx, 0x19
xor eax, edx
add ecx, eax
add esi, ecx
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0xcc]
mov edx, esi
ror edx, 0xd
ror esi, 2
xor edx, esi
mov esi, dword [esp + 0xcc]
ror esi, 0x16
xor edx, esi
mov esi, dword [esp + 0xc4]
mov eax, esi
or eax, ebx
and eax, dword [esp + 0xcc]
and esi, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov esi, eax
add edx, dword [esp + 0x2c4]
mov eax, ecx
xor eax, edi
and eax, dword [esp + 0xc8]
xor eax, ecx
mov ecx, dword [esp + 0xc8]
lea edx, [edx + eax - 0x5baf9315]
mov eax, ecx
ror eax, 0xb
ror ecx, 6
xor eax, ecx
mov ecx, dword [esp + 0xc8]
ror ecx, 0x19
xor eax, ecx
mov ecx, esi
add eax, edx
lea edx, [eax + ebx]
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0xc0], edx
mov edx, esi
ror edx, 2
ror ecx, 0xd
xor ecx, edx
mov edx, esi
ror edx, 0x16
xor ecx, edx
mov edx, dword [esp + 0xc4]
or edx, ebx
and ebx, dword [esp + 0xc4]
and edx, esi
or edx, ebx
mov ebx, dword [esp + 0xc0]
add edx, ecx
mov ecx, dword [esp + 0xb8]
add eax, edx
mov edx, dword [esp + 0xc8]
add ecx, dword [esp + 0x2c8]
xor edx, edi
and edx, ebx
xor edx, edi
lea ecx, [ecx + edx - 0x41065c09]
mov edx, ebx
ror edx, 0xb
ror ebx, 6
xor edx, ebx
mov ebx, dword [esp + 0xc0]
ror ebx, 0x19
xor edx, ebx
mov ebx, dword [esp + 0xc4]
add edx, ecx
mov ecx, eax
ror ecx, 0xd
add ebx, edx
mov dword [esp + 0xc4], ebx
mov ebx, ecx
mov ecx, eax
ror ecx, 2
xor ebx, ecx
mov ecx, eax
ror ecx, 0x16
xor ebx, ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xbc], esi
add edi, dword [esp + 0x2cc]
or ecx, esi
and esi, dword [esp + 0xcc]
and ecx, eax
or ecx, esi
add ecx, ebx
mov ebx, dword [esp + 0xc8]
add edx, ecx
mov ecx, dword [esp + 0xc0]
xor ecx, ebx
and ecx, dword [esp + 0xc4]
xor ecx, ebx
mov ebx, dword [esp + 0xc4]
lea esi, [edi + ecx - 0x398e870e]
mov edi, ebx
ror edi, 0xb
mov ecx, edi
mov edi, ebx
ror edi, 6
xor ecx, edi
mov edi, dword [esp + 0xc4]
ror edi, 0x19
xor ecx, edi
mov edi, edx
ror edi, 0xd
add esi, ecx
mov ebx, edi
mov ecx, edx
mov edi, dword [esp + 0xbc]
ror ecx, 2
xor ebx, ecx
mov ecx, edx
ror ecx, 0x16
xor ebx, ecx
mov ecx, edi
or ecx, eax
and edi, eax
and ecx, edx
or ecx, edi
mov edi, dword [esp + 0x6c]
add ecx, ebx
mov ebx, dword [esp + 0x78]
add ecx, esi
add esi, dword [esp + 0xcc]
add ecx, dword [esp + 0x60]
add edx, dword [esp + 0x70]
add edi, esi
mov esi, dword [esp + 0x68]
add esi, dword [esp + 0xc4]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x2d0], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xc4], esi
mov dword [esp + 0x2e4], esi
mov esi, dword [esp + 0x5c]
add ebx, dword [esp + 0xbc]
add eax, dword [esp + 0x74]
add ecx, dword [esp + 0xc0]
add esi, dword [esp + 0xc8]
mov dword [esp + 0x2d4], edx
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x2dc], ebx
mov dword [esp + 0x2e0], edi
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x2e8], ecx
mov ecx, edx
mov dword [esp + 0xc0], esi
ror ecx, 0x12
mov dword [esp + 0x2ec], esi
mov esi, dword [esp + 0x98]
mov dword [esp + 0x218], esi
mov esi, dword [esp + 0x94]
mov dword [esp + 0x21c], esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0x220], esi
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x228], esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x22c], esi
mov esi, dword [esp + 0x84]
mov dword [esp + 0x230], esi
mov esi, dword [esp + 0x80]
mov dword [esp + 0x248], esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x24c], esi
mov esi, dword [0x42fd20]
mov dword [esp + 0x2f0], esi
mov esi, dword [0x42fd24]
mov dword [esp + 0x2f4], esi
mov esi, dword [0x42fd28]
mov dword [esp + 0x2f8], esi
mov esi, dword [0x42fd2c]
mov dword [esp + 0x2fc], esi
mov esi, dword [0x42fd30]
mov dword [esp + 0x300], esi
mov esi, dword [0x42fd34]
mov dword [esp + 0x304], esi
mov esi, dword [0x42fd38]
mov dword [esp + 0x308], esi
mov esi, dword [0x42fd3c]
mov dword [esp + 0x30c], esi
mov esi, edx
ror esi, 7
xor ecx, esi
mov esi, edx
shr esi, 3
xor ecx, esi
mov esi, eax
add ecx, dword [esp + 0xb8]
ror esi, 0x12
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x310], ecx
mov ecx, esi
mov esi, eax
ror esi, 7
xor ecx, esi
mov esi, eax
shr esi, 3
xor ecx, esi
lea esi, [edx + ecx + 0xa00000]
mov edx, ebx
mov ecx, ebx
ror ecx, 7
ror edx, 0x12
xor edx, ecx
mov ecx, ebx
shr ecx, 3
xor edx, ecx
mov ecx, dword [esp + 0xcc]
add eax, edx
mov dword [esp + 0x314], esi
mov edx, ecx
ror edx, 0x13
ror ecx, 0x11
xor edx, ecx
mov ecx, dword [esp + 0xcc]
shr ecx, 0xa
xor edx, ecx
add edx, eax
mov eax, edi
mov ecx, edx
mov dword [esp + 0x318], edx
mov edx, edi
ror edx, 7
ror eax, 0x12
xor eax, edx
mov edx, edi
shr edx, 3
xor eax, edx
mov edx, esi
add ebx, eax
mov eax, esi
ror edx, 0x11
ror eax, 0x13
xor eax, edx
mov edx, esi
shr edx, 0xa
xor eax, edx
lea edx, [ebx + eax]
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0xc8], edx
mov dword [esp + 0x31c], edx
mov dword [esp + 0xb8], ecx
mov eax, ebx
mov edx, ebx
ror edx, 7
ror eax, 0x12
xor eax, edx
mov edx, ebx
shr edx, 3
xor eax, edx
mov edx, ecx
add edi, eax
mov eax, ecx
ror edx, 0x11
ror eax, 0x13
xor eax, edx
mov edx, ecx
mov ecx, dword [esp + 0xbc]
shr edx, 0xa
xor eax, edx
add edi, eax
mov dword [esp + 0xc4], edi
mov eax, ecx
mov dword [esp + 0x320], edi
mov edi, ecx
ror eax, 7
ror edi, 0x12
xor edi, eax
mov eax, ecx
shr eax, 3
xor edi, eax
add edi, ebx
mov ebx, dword [esp + 0xc8]
mov eax, ebx
mov edx, ebx
ror edx, 0x11
ror eax, 0x13
xor eax, edx
shr ebx, 0xa
xor eax, ebx
mov ebx, dword [esp + 0xc0]
add edi, eax
mov dword [esp + 0x324], edi
mov eax, ebx
mov edx, ebx
ror edx, 7
ror eax, 0x12
xor eax, edx
mov edx, ebx
mov ebx, dword [esp + 0xc4]
shr edx, 3
xor eax, edx
lea edx, [ecx + eax + 0x100]
mov eax, ebx
mov ecx, ebx
ror ecx, 0x11
ror eax, 0x13
xor eax, ecx
mov ecx, ebx
shr ecx, 0xa
xor eax, ecx
mov ecx, dword [esp + 0xcc]
add eax, edx
mov edx, dword [esp + 0xc0]
mov ebx, eax
mov dword [esp + 0x328], eax
mov eax, edi
ror eax, 0x13
lea edx, [ecx + edx + 0x11002000]
mov ecx, edi
ror ecx, 0x11
xor eax, ecx
mov ecx, edi
shr ecx, 0xa
xor eax, ecx
add edx, eax
mov eax, ebx
mov dword [esp + 0xbc], ebx
ror eax, 0x13
ror ebx, 0x11
xor eax, ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x32c], edx
shr ebx, 0xa
xor eax, ebx
lea ebx, [esi + eax - 0x80000000]
mov eax, edx
ror eax, 0x13
mov esi, ebx
mov ecx, eax
mov eax, edx
ror eax, 0x11
xor ecx, eax
mov eax, edx
shr eax, 0xa
xor ecx, eax
mov eax, ebx
ror esi, 0x11
ror eax, 0x13
add ecx, dword [esp + 0xb8]
xor eax, esi
mov esi, ebx
shr esi, 0xa
xor eax, esi
mov esi, ecx
add eax, dword [esp + 0xc8]
ror esi, 0x13
mov dword [esp + 0x334], ecx
mov dword [esp + 0xc0], eax
mov dword [esp + 0x338], eax
mov eax, esi
mov esi, ecx
ror esi, 0x11
xor eax, esi
mov esi, dword [esp + 0xc0]
shr ecx, 0xa
xor eax, ecx
add eax, dword [esp + 0xc4]
ror esi, 0x13
mov ecx, esi
mov esi, dword [esp + 0xc0]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x330], ebx
ror esi, 0x11
xor ecx, esi
mov esi, dword [esp + 0xc0]
shr esi, 0xa
xor ecx, esi
mov esi, eax
add ecx, edi
mov edi, eax
ror esi, 0x11
ror edi, 0x13
xor edi, esi
mov esi, ecx
shr eax, 0xa
xor edi, eax
mov eax, ecx
ror esi, 0x11
ror eax, 0x13
xor eax, esi
mov esi, ecx
shr esi, 0xa
mov dword [esp + 0x340], ecx
xor eax, esi
mov esi, dword [esp + 0xcc]
lea edx, [edx + eax + 0x400022]
add edi, dword [esp + 0xbc]
mov dword [esp + 0x348], edx
mov eax, esi
ror eax, 0x12
ror esi, 7
xor eax, esi
mov esi, dword [esp + 0xcc]
mov dword [esp + 0x344], edi
mov dword [esp + 0xc8], edx
mov dword [esp + 0xc4], ecx
shr esi, 3
xor eax, esi
lea esi, [ebx + eax + 0x100]
mov eax, edi
mov ebx, edi
ror eax, 0x13
ror ebx, 0x11
xor eax, ebx
shr edi, 0xa
xor eax, edi
mov edi, dword [esp + 0xcc]
add esi, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x34c], esi
mov edx, esi
mov dword [esp + 0xbc], 0xe
nop
lea esi, [esi]
add edi, dword [eax + 0x64]
mov esi, dword [eax + 0x44]
mov ebx, edi
mov edi, dword [esp + 0xc8]
mov ecx, edi
ror ecx, 0x13
ror edi, 0x11
xor ecx, edi
mov edi, dword [esp + 0xc8]
shr edi, 0xa
xor ecx, edi
mov edi, esi
add ebx, ecx
mov ecx, esi
ror edi, 7
ror ecx, 0x12
xor ecx, edi
mov edi, esi
shr edi, 3
xor ecx, edi
lea edi, [ebx + ecx]
mov ebx, edx
ror ebx, 0x13
mov ecx, ebx
mov ebx, edx
ror ebx, 0x11
xor ecx, ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0xcc], edi
shr edx, 0xa
mov dword [eax + 0x80], edi
mov edi, dword [eax + 0x48]
xor ecx, edx
add ebx, ecx
add ebx, esi
mov edx, edi
mov esi, edi
ror esi, 7
ror edx, 0x12
xor edx, esi
mov esi, edi
shr esi, 3
xor edx, esi
mov esi, dword [eax + 0x4c]
add ebx, edx
add edi, dword [eax + 0x6c]
mov dword [eax + 0x84], ebx
mov edx, esi
mov ecx, esi
shr ecx, 3
ror edx, 0x12
xor edx, ecx
mov ecx, esi
ror ecx, 7
xor edx, ecx
mov ecx, dword [esp + 0xcc]
add edi, edx
mov edx, ecx
ror edx, 0x13
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [esp + 0xcc]
add esi, dword [esp + 0xc4]
ror ecx, 0x11
xor edx, ecx
add edi, edx
mov edx, dword [eax + 0x50]
mov dword [esp + 0xc0], edi
mov dword [eax + 0x88], edi
mov ecx, edx
mov edi, edx
shr edi, 3
ror ecx, 0x12
xor ecx, edi
mov edi, edx
ror edi, 7
xor ecx, edi
mov edi, ebx
add esi, ecx
mov ecx, ebx
shr edi, 0xa
ror ecx, 0x13
xor ecx, edi
ror ebx, 0x11
xor ecx, ebx
mov ebx, dword [eax + 0x74]
add esi, ecx
mov ecx, dword [eax + 0x54]
mov dword [eax + 0x8c], esi
add ebx, edx
mov edi, ecx
mov edx, ecx
shr edi, 3
ror edx, 0x12
xor edx, edi
mov edi, ecx
ror edi, 7
xor edx, edi
mov edi, dword [esp + 0xc0]
add ebx, edx
add ecx, dword [esp + 0xc8]
mov edx, edi
ror edx, 0x13
shr edi, 0xa
xor edx, edi
mov edi, dword [esp + 0xc0]
ror edi, 0x11
xor edx, edi
add ebx, edx
mov edx, dword [eax + 0x58]
mov dword [esp + 0xc4], ebx
mov dword [eax + 0x90], ebx
mov edi, edx
mov ebx, edx
ror ebx, 0x12
shr edi, 3
xor ebx, edi
mov edi, edx
ror edi, 7
xor ebx, edi
mov edi, esi
add ecx, ebx
mov ebx, esi
shr edi, 0xa
ror ebx, 0x13
xor ebx, edi
ror esi, 0x11
xor ebx, esi
add ecx, ebx
mov ebx, dword [eax + 0x5c]
add edx, dword [eax + 0x7c]
mov dword [eax + 0x94], ecx
mov esi, edx
mov edi, ebx
mov edx, ebx
shr edi, 3
ror edx, 0x12
xor edx, edi
mov edi, ebx
ror edi, 7
xor edx, edi
mov edi, dword [esp + 0xc4]
add esi, edx
mov edx, edi
ror edx, 0x13
shr edi, 0xa
xor edx, edi
mov edi, dword [esp + 0xc4]
ror edi, 0x11
xor edx, edi
mov edi, dword [eax + 0x60]
add edx, esi
mov dword [eax + 0x98], edx
mov dword [esp + 0xc8], edx
mov esi, edi
mov edx, edi
shr esi, 3
ror edx, 0x12
xor edx, esi
mov esi, edi
ror esi, 7
xor edx, esi
mov esi, ecx
add ebx, edx
mov edx, ecx
add ebx, dword [esp + 0xcc]
shr esi, 0xa
ror edx, 0x13
xor edx, esi
add eax, 0x20
ror ecx, 0x11
xor edx, ecx
add edx, ebx
mov dword [eax + 0x7c], edx
mov ecx, dword [esp + 0xbc]
sub dword [esp + 0xbc], 4
neg ecx
add ecx, ecx
cmp dword [esp + 0xbc], 2
lea esi, [ecx + 0x44]
jne 0x410270
mov eax, dword [esp + 0xa0]
lea edx, [eax + esi*4]
lea eax, [eax + ecx*4 + 0x120]
mov dword [esp + 0xcc], eax
mov esi, dword [edx - 8]
add edx, 8
mov eax, dword [edx - 0x44]
mov ebx, dword [edx - 0x48]
add ebx, dword [edx - 0x24]
mov ecx, esi
mov edi, esi
ror edi, 0x11
ror ecx, 0x13
xor ecx, edi
shr esi, 0xa
xor ecx, esi
mov esi, eax
add ecx, ebx
mov ebx, eax
ror ebx, 7
ror esi, 0x12
xor esi, ebx
mov ebx, eax
shr ebx, 3
xor esi, ebx
mov ebx, dword [edx - 0x40]
add eax, dword [edx - 0x20]
add esi, ecx
mov dword [edx - 8], esi
mov ecx, dword [edx - 0xc]
mov esi, eax
mov edi, ebx
mov eax, ebx
ror eax, 0x12
shr edi, 3
ror ebx, 7
xor eax, edi
xor eax, ebx
mov ebx, ecx
add eax, esi
mov esi, ecx
ror ebx, 0x11
shr esi, 0xa
xor ebx, esi
ror ecx, 0x13
xor ebx, ecx
add ebx, eax
mov dword [edx - 4], ebx
cmp edx, dword [esp + 0xcc]
jne 0x4104b3
mov esi, dword [esp + 0x3c]
mov eax, dword [0x42fd5c]
add eax, dword [esp + 0x2d0]
mov edx, dword [0x42fd4c]
mov ecx, dword [0x42fd54]
lea eax, [eax + esi + 0x428a2f98]
mov ebx, dword [0x42fd58]
add eax, dword [esp + 0x38]
xor ecx, dword [0x42fd50]
add ebx, dword [esp + 0x2d4]
add edx, eax
mov edi, dword [0x42fd48]
and ecx, edx
xor ecx, dword [0x42fd54]
add eax, dword [esp + 0x1c]
lea esi, [ebx + ecx + 0x71374491]
mov ecx, edx
mov ebx, edx
ror ebx, 6
ror ecx, 0xb
xor ecx, ebx
mov ebx, edx
ror ebx, 0x19
xor ecx, ebx
mov ebx, eax
add esi, ecx
mov ecx, eax
ror ecx, 2
add edi, esi
ror ebx, 0xd
xor ebx, ecx
mov ecx, eax
ror ecx, 0x16
xor ebx, ecx
mov ecx, dword [0x42fd44]
mov dword [esp + 0xc4], edi
mov edi, dword [0x42fd44]
or ecx, dword [0x42fd40]
and edi, dword [0x42fd40]
and ecx, eax
or ecx, edi
mov edi, dword [esp + 0xc4]
add ecx, ebx
mov ebx, dword [0x42fd54]
add esi, ecx
mov ecx, dword [0x42fd50]
add ebx, dword [esp + 0x2d8]
mov dword [esp + 0xcc], esi
xor ecx, edx
and ecx, edi
xor ecx, dword [0x42fd50]
lea esi, [ebx + ecx - 0x4a3f0431]
mov ecx, edi
mov ebx, edi
ror ebx, 6
ror ecx, 0xb
xor ecx, ebx
mov ebx, edi
mov edi, dword [esp + 0xcc]
ror ebx, 0x19
xor ecx, ebx
add esi, ecx
mov ecx, dword [0x42fd44]
add ecx, esi
mov dword [esp + 0xc8], ecx
mov ecx, edi
ror ecx, 0xd
mov ebx, ecx
mov ecx, edi
ror ecx, 2
xor ebx, ecx
mov ecx, edi
ror ecx, 0x16
xor ebx, ecx
mov ecx, dword [0x42fd40]
or ecx, eax
and ecx, edi
mov edi, dword [0x42fd40]
and edi, eax
or ecx, edi
add ecx, ebx
mov ebx, dword [esp + 0xc8]
add esi, ecx
mov ecx, dword [esp + 0xc4]
mov edi, esi
mov esi, dword [0x42fd50]
add esi, dword [esp + 0x2dc]
ror ebx, 0xb
xor ecx, edx
and ecx, dword [esp + 0xc8]
xor ecx, edx
lea esi, [esi + ecx - 0x164a245b]
mov ecx, ebx
mov ebx, dword [esp + 0xc8]
ror ebx, 6
xor ecx, ebx
mov ebx, dword [esp + 0xc8]
ror ebx, 0x19
xor ecx, ebx
mov ebx, dword [0x42fd40]
add esi, ecx
mov ecx, edi
ror ecx, 2
add ebx, esi
mov dword [esp + 0xbc], ebx
mov ebx, edi
ror ebx, 0xd
xor ebx, ecx
mov ecx, edi
ror ecx, 0x16
xor ebx, ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xb0], edi
or ecx, eax
and ecx, edi
mov edi, dword [esp + 0xcc]
and edi, eax
or ecx, edi
mov edi, dword [esp + 0xc4]
add ecx, ebx
mov ebx, dword [esp + 0xbc]
add esi, ecx
mov ecx, dword [esp + 0xc8]
add edx, dword [esp + 0x2e0]
xor ecx, edi
and ecx, ebx
xor ecx, edi
mov edi, ebx
lea ecx, [edx + ecx + 0x3956c25b]
mov edx, ebx
ror edx, 0xb
ror ebx, 6
xor edx, ebx
mov ebx, edi
mov edi, dword [esp + 0xcc]
ror ebx, 0x19
xor edx, ebx
mov ebx, dword [esp + 0xb0]
add ecx, edx
mov edx, esi
add eax, ecx
mov dword [esp + 0xb8], eax
mov eax, esi
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, esi
ror eax, 0x16
xor edx, eax
mov eax, ebx
or eax, edi
and ebx, edi
and eax, esi
or eax, ebx
mov ebx, dword [esp + 0xb8]
add eax, edx
mov edx, dword [esp + 0xc4]
lea edi, [eax + ecx]
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x2e4]
xor eax, ecx
and eax, ebx
xor eax, ecx
lea ecx, [edx + eax + 0x59f111f1]
mov eax, ebx
mov edx, ebx
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebx
mov ebx, dword [esp + 0xb0]
ror edx, 0x19
xor eax, edx
mov edx, dword [esp + 0xcc]
add ecx, eax
lea eax, [ecx + edx]
mov edx, edi
mov dword [esp + 0xb4], eax
mov eax, edi
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, ebx
or eax, esi
and ebx, esi
and eax, edi
or eax, ebx
mov ebx, dword [esp + 0xb4]
add eax, edx
mov edx, dword [esp + 0xc8]
add ecx, eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0xbc]
add edx, dword [esp + 0x2e8]
xor eax, ecx
and eax, ebx
xor eax, ecx
lea ecx, [edx + eax - 0x6dc07d5c]
mov eax, ebx
mov edx, ebx
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebx
mov ebx, dword [esp + 0xb0]
ror edx, 0x19
xor eax, edx
add ecx, eax
lea eax, [ecx + ebx]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0xcc], eax
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
or eax, esi
and eax, ebx
mov ebx, edi
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xbc]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0xb4]
add edx, dword [esp + 0x2ec]
xor eax, ecx
and eax, dword [esp + 0xcc]
xor eax, ecx
lea ecx, [edx + eax - 0x54e3a12b]
mov edx, dword [esp + 0xcc]
ror edx, 0xb
mov eax, edx
mov edx, dword [esp + 0xcc]
ror edx, 6
xor eax, edx
mov edx, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, ebx
add esi, ecx
mov dword [esp + 0xc8], esi
mov esi, ebx
ror esi, 0xd
mov edx, esi
mov esi, dword [esp + 0xc0]
ror eax, 2
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, edi
and esi, edi
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xb8]
add edx, dword [esp + 0x2f0]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xb4]
mov eax, edx
mov edx, dword [esp + 0xcc]
xor edx, ecx
and edx, dword [esp + 0xc8]
xor edx, ecx
lea ecx, [eax + edx - 0x27f85568]
mov edx, dword [esp + 0xc8]
mov eax, edx
ror eax, 0xb
ror edx, 6
xor eax, edx
mov edx, dword [esp + 0xc8]
ror edx, 0x19
xor eax, edx
add ecx, eax
add edi, ecx
mov dword [esp + 0xbc], edi
mov edi, esi
ror edi, 0xd
mov edx, edi
mov edi, esi
ror edi, 2
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc0]
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xbc]
add eax, edx
mov edx, dword [esp + 0xb4]
add eax, ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc8]
add edx, dword [esp + 0x2f4]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x12835b01]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xc4]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc0]
add eax, ecx
mov dword [esp + 0xb8], eax
mov eax, edi
ror eax, 0xd
mov edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xb8]
add eax, edx
mov edx, dword [esp + 0xcc]
add eax, ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x2f8]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x243185be]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xc4]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0xc0]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xb4]
and eax, ebx
mov ebx, dword [esp + 0xc4]
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xc8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x2fc]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x550c7dc3]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb0], esi
ror edi, 0x16
mov esi, dword [esp + 0xc0]
xor edx, edi
mov edi, dword [esp + 0xc4]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb0]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xbc]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0xb4]
add edx, dword [esp + 0x300]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x72be5d74]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xc4]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc0]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xb8]
add eax, ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb0]
add edx, dword [esp + 0x304]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x7f214e02]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc0]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xb4]
add eax, ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x308]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x6423f959]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
or edi, esi
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xbc]
and eax, ebx
mov ebx, dword [esp + 0xcc]
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xb0]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x30c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x3e640e8c]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x310]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x1b64963f]
mov eax, edi
mov edx, edi
ror eax, 0xb
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x314]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x1041b87a]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x318]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0xfc19dc6]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xbc]
and eax, ebx
mov ebx, dword [esp + 0xcc]
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x31c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x240ca1cc]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x320]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x2de92c6f]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
or eax, ebx
and eax, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x324]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x4a7484aa]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x328]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x5cb0a9dc]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xbc]
and eax, ebx
mov ebx, dword [esp + 0xcc]
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x32c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x76f988da]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x330]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x67c1aeae]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x334]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x57ce3993]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x338]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x4ffcd838]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xbc]
and eax, ebx
mov ebx, dword [esp + 0xcc]
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x33c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x40a68039]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x340]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x391ff40d]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
ror edx, 0x19
mov edi, esi
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xcc]
add eax, ecx
ror edi, 0xd
mov edx, edi
mov edi, esi
ror edi, 2
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x344]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x2a586eb9]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x348]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x6ca6351]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xbc]
and eax, ebx
mov ebx, dword [esp + 0xcc]
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x34c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x14292967]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
ror edx, 0x19
mov edi, ebx
xor eax, edx
ror edi, 0xd
add ecx, eax
mov edx, edi
mov edi, ebx
add esi, ecx
ror edi, 2
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x350]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x27b70a85]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x354]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x2e1b2138]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x358]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x4d2c6dfc]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
or edi, esi
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xbc]
and eax, ebx
mov ebx, dword [esp + 0xcc]
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x35c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x53380d13]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x360]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x650a7354]
mov eax, edi
mov edx, edi
ror eax, 0xb
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x364]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x766a0abb]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x368]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x7e3d36d2]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xbc]
and eax, ebx
mov ebx, dword [esp + 0xcc]
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x36c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x6d8dd37b]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x370]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x5d40175f]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
or eax, ebx
and eax, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x374]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x57e599b5]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
mov edx, edi
ror edx, 0xd
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x378]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x3db47490]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xbc]
and eax, ebx
mov ebx, dword [esp + 0xcc]
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x37c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0x3893ae5d]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and eax, ebx
and esi, edi
mov edi, dword [esp + 0x380]
or eax, esi
add eax, edx
mov edx, dword [esp + 0xb8]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xbc]
lea ecx, [edi + ecx - 0x2e6d17e7]
mov edi, dword [esp + 0xc0]
xor eax, edi
and eax, edx
xor eax, edi
mov edi, edx
add ecx, eax
mov eax, edx
ror eax, 0xb
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, esi
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, esi
ror edi, 2
add ecx, eax
mov eax, dword [esp + 0xcc]
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0x384]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
lea ecx, [edi + ecx - 0x2966f9dc]
mov edi, dword [esp + 0xc4]
xor eax, edx
and eax, edi
xor eax, edx
mov edx, edi
add ecx, eax
mov eax, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xc0], eax
mov eax, edi
ror eax, 0xd
mov edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
add edx, dword [esp + 0x388]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax - 0xbf1ca7b]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
add ebx, ecx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov edx, ebx
mov eax, ebx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
xor edx, eax
mov eax, edi
mov edi, dword [esp + 0xbc]
and eax, ebx
mov ebx, dword [esp + 0xcc]
and ebx, esi
or eax, ebx
add eax, edx
mov edx, dword [esp + 0xb8]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
add edx, dword [esp + 0x38c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x106aa070]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, ebx
ror edx, 0x19
ror edi, 0xd
xor eax, edx
mov edx, edi
mov edi, ebx
add ecx, eax
ror edi, 2
add esi, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xb8], esi
ror edi, 0x16
mov esi, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xcc]
mov eax, esi
or eax, edi
and esi, edi
mov edi, dword [esp + 0xb8]
and eax, ebx
or eax, esi
add eax, edx
mov edx, dword [esp + 0xc4]
lea esi, [eax + ecx]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
add edx, dword [esp + 0x390]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x19a4c116]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
ror edx, 0x19
mov edi, esi
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xcc]
add eax, ecx
ror edi, 0xd
mov edx, edi
mov edi, esi
ror edi, 2
xor edx, edi
mov edi, esi
ror edi, 0x16
xor edx, edi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0xb4], eax
mov eax, edi
and edi, ebx
or eax, ebx
and eax, esi
or eax, edi
mov edi, dword [esp + 0xb4]
add eax, edx
mov edx, dword [esp + 0xc0]
add eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb8]
add edx, dword [esp + 0x394]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x1e376c08]
mov eax, edi
mov edx, edi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, edi
mov edi, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
add ecx, eax
mov eax, dword [esp + 0xc8]
add eax, ecx
mov dword [esp + 0xb0], eax
mov eax, edi
ror eax, 0xd
mov edx, eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and eax, edi
mov edi, esi
and edi, ebx
or eax, edi
mov edi, dword [esp + 0xb0]
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xb4]
add edx, dword [esp + 0x398]
xor eax, ecx
and eax, edi
xor eax, ecx
mov ecx, edi
ror ecx, 0xb
lea edx, [edx + eax + 0x2748774c]
mov eax, ecx
mov ecx, edi
ror ecx, 6
xor eax, ecx
mov ecx, edi
mov edi, dword [esp + 0xcc]
ror ecx, 0x19
xor eax, ecx
add edx, eax
add ebx, edx
or edi, esi
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0xc8]
mov ecx, ebx
mov eax, ebx
ror eax, 2
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
ror eax, 0x16
xor ecx, eax
mov eax, edi
mov edi, dword [esp + 0xcc]
and eax, ebx
and edi, esi
or eax, edi
mov edi, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb4]
add eax, edx
mov edx, dword [esp + 0xb8]
mov ebx, eax
mov eax, dword [esp + 0xb0]
add edx, dword [esp + 0x39c]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x34b0bcb5]
mov edx, edi
ror edx, 0xb
mov eax, edx
mov edx, edi
ror edx, 6
xor eax, edx
mov edx, edi
ror edx, 0x19
xor eax, edx
mov edx, ebx
add ecx, eax
mov eax, ebx
add esi, ecx
ror eax, 2
ror edx, 0xd
xor edx, eax
mov eax, ebx
ror eax, 0x16
mov dword [esp + 0xc4], esi
xor edx, eax
mov esi, ebx
mov eax, dword [esp + 0xcc]
mov ebx, dword [esp + 0xc8]
or eax, ebx
and ebx, dword [esp + 0xcc]
and eax, esi
or eax, ebx
add eax, edx
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0xb4]
mov eax, edi
add ecx, dword [esp + 0x3a0]
mov edi, dword [esp + 0xc4]
mov edx, ecx
mov ecx, dword [esp + 0xb0]
xor eax, ecx
and eax, edi
xor eax, ecx
lea ecx, [edx + eax + 0x391c0cb3]
mov edx, edi
ror edi, 0xb
mov eax, edi
mov edi, edx
ror edi, 6
xor eax, edi
mov edi, dword [esp + 0xc4]
ror edi, 0x19
xor eax, edi
mov edi, ebx
add ecx, eax
mov eax, dword [esp + 0xcc]
ror edi, 0xd
mov edx, edi
mov edi, ebx
ror edi, 2
add eax, ecx
xor edx, edi
mov edi, ebx
mov dword [esp + 0xc0], eax
ror edi, 0x16
mov eax, dword [esp + 0xc8]
xor edx, edi
mov edi, dword [esp + 0xc8]
or eax, esi
and edi, esi
and eax, ebx
or eax, edi
add eax, edx
mov edx, dword [esp + 0xbc]
add eax, ecx
mov ecx, dword [esp + 0xb0]
mov edi, eax
mov eax, dword [esp + 0x3a4]
xor edx, dword [esp + 0xc4]
lea ecx, [eax + ecx + 0x4ed8aa4a]
mov eax, edx
mov edx, dword [esp + 0xc0]
and eax, edx
xor eax, dword [esp + 0xbc]
add ecx, eax
mov eax, edx
ror eax, 0xb
ror edx, 6
xor eax, edx
mov edx, dword [esp + 0xc0]
ror edx, 0x19
xor eax, edx
mov edx, edi
add ecx, eax
mov eax, dword [esp + 0xc8]
ror edx, 0xd
mov dword [esp + 0xc8], esi
add eax, ecx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xe8], eax
mov eax, edi
ror eax, 2
xor edx, eax
mov eax, edi
ror eax, 0x16
xor edx, eax
mov eax, esi
or eax, ebx
and esi, ebx
and eax, edi
or eax, esi
add eax, edx
mov edx, dword [esp + 0xbc]
add ecx, eax
mov eax, dword [esp + 0xc0]
mov esi, ecx
mov ecx, dword [esp + 0xc4]
add edx, dword [esp + 0x3a8]
xor eax, ecx
and eax, dword [esp + 0xcc]
xor eax, ecx
lea ecx, [edx + eax + 0x5b9cca4f]
mov edx, dword [esp + 0xcc]
mov eax, edx
ror eax, 0xb
ror edx, 6
xor eax, edx
mov edx, dword [esp + 0xcc]
ror edx, 0x19
xor eax, edx
mov edx, dword [esp + 0xc8]
add ecx, eax
mov eax, esi
mov dword [esp + 0xbc], ecx
add edx, ecx
ror esi, 0xd
mov ecx, esi
mov esi, eax
ror esi, 2
xor ecx, esi
mov dword [esp + 0xe4], edx
mov dword [esp + 0xc8], eax
mov esi, dword [esp + 0xc8]
mov eax, edi
or eax, ebx
and eax, dword [esp + 0xc8]
mov dword [esp + 0xb8], edi
and edi, ebx
ror esi, 0x16
xor ecx, esi
or eax, edi
mov esi, dword [esp + 0xc4]
add eax, ecx
mov ecx, dword [esp + 0xbc]
add esi, dword [esp + 0x3ac]
add ecx, eax
mov eax, dword [esp + 0xcc]
mov edi, ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xbc], edi
xor eax, ecx
and eax, edx
xor eax, ecx
mov ecx, edx
lea esi, [esi + eax + 0x682e6ff3]
mov eax, edx
ror ecx, 6
ror eax, 0xb
xor eax, ecx
mov ecx, edx
ror ecx, 0x19
xor eax, ecx
add eax, esi
mov esi, dword [esp + 0xc8]
lea ecx, [eax + ebx]
mov ebx, edi
mov dword [esp + 0xc4], eax
mov eax, edi
ror eax, 2
ror ebx, 0xd
xor ebx, eax
mov eax, edi
mov edi, dword [esp + 0xb8]
ror eax, 0x16
xor ebx, eax
mov eax, esi
mov dword [esp + 0xe0], ecx
or eax, edi
and esi, edi
and eax, dword [esp + 0xbc]
or eax, esi
mov esi, dword [esp + 0xcc]
add eax, ebx
mov ebx, dword [esp + 0xc4]
add ebx, eax
mov eax, edx
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0xc0]
add ebx, dword [esp + 0x3b0]
xor eax, esi
and eax, ecx
xor eax, esi
mov esi, ecx
lea ebx, [ebx + eax + 0x748f82ee]
mov eax, ecx
ror esi, 6
ror eax, 0xb
xor eax, esi
mov esi, ecx
ror esi, 0x19
xor eax, esi
mov esi, dword [esp + 0xcc]
add ebx, eax
mov eax, dword [esp + 0x3b4]
add edi, ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xdc], edi
lea ebx, [esi + eax + 0x78a5636f]
mov eax, ecx
add ebx, dword [esp + 0xc8]
xor eax, edx
and eax, edi
mov esi, edi
xor eax, edx
add ebx, eax
mov eax, edi
ror esi, 6
ror eax, 0xb
xor eax, esi
mov esi, edi
ror esi, 0x19
xor eax, esi
mov esi, dword [esp + 0x3b8]
add eax, ebx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xbc]
lea ebx, [esi + edx - 0x7b3787ec]
mov esi, dword [esp + 0xcc]
mov edx, edi
xor edx, ecx
add ebx, eax
and edx, esi
xor edx, ecx
add ebx, edx
mov edx, esi
ror edx, 0xb
ror esi, 6
xor edx, esi
mov esi, dword [esp + 0xcc]
ror esi, 0x19
xor edx, esi
add edx, ebx
mov ebx, dword [esp + 0x3bc]
mov esi, edx
mov dword [esp + 0xd4], edx
lea ebx, [ecx + ebx - 0x7338fdf8]
mov ecx, dword [esp + 0xcc]
add ebx, dword [esp + 0xc4]
mov dword [esp + 0xbc], edi
xor ecx, edi
and ecx, edx
xor ecx, edi
mov edi, dword [esp + 0x3a4]
add ebx, ecx
mov ecx, edx
ror esi, 6
ror ecx, 0xb
xor ecx, esi
mov esi, edx
ror esi, 0x19
xor ecx, esi
mov esi, dword [esp + 0x380]
add ecx, ebx
mov ebx, dword [esp + 0x3b8]
mov dword [esp + 0xd0], ecx
lea esi, [edi + esi - 0x136032ed]
mov edi, dword [esp + 0x3b8]
ror ebx, 0x13
ror edi, 0x11
xor ebx, edi
mov edi, dword [esp + 0x3b8]
shr edi, 0xa
xor ebx, edi
mov edi, dword [esp + 0x384]
add esi, ebx
mov ebx, dword [esp + 0x384]
ror edi, 7
ror ebx, 0x12
xor ebx, edi
mov edi, dword [esp + 0x384]
shr edi, 3
xor ebx, edi
mov edi, dword [esp + 0xc8]
add esi, ebx
mov ebx, eax
or ebx, edi
and eax, edi
and ebx, dword [esp + 0xc4]
or ebx, eax
mov eax, dword [esp + 0xc4]
add esi, ebx
mov edi, eax
mov ebx, eax
ror edi, 2
ror ebx, 0xd
xor ebx, edi
mov edi, eax
mov eax, dword [esp + 0xcc]
ror edi, 0x16
xor ebx, edi
add ebx, esi
add ebx, dword [esp + 0xc0]
xor edx, eax
add ebx, dword [esp + 0xbc]
and edx, ecx
xor edx, eax
mov eax, ecx
ror eax, 0xb
add edx, ebx
mov ebx, ecx
ror ebx, 6
xor eax, ebx
ror ecx, 0x19
xor eax, ecx
add edx, eax
mov dword [esp + 0xec], edx
bswap edx
cmp dword [esp + 0x30], edx
jae 0x4124c0
mov eax, dword [esp + 0xa4]
cmp dword [ebp + 0x14], eax
jbe 0x41250e
mov eax, dword [esp + 0x18]
add eax, dword [0x432020]
mov eax, dword [eax]
test eax, eax
jne 0x41250e
mov eax, dword [esp + 0x150]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x5c], eax
jmp 0x40dbc0
mov eax, dword [ebp + 0xc]
lea ebx, [esp + 0xd0]
mov esi, dword [esp + 0x4c]
mov edx, eax
mov dword [eax + 0x4c], esi
mov eax, ebx
call fcn.0040b370
mov eax, dword [ebp + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00406df0
test al, al
je 0x412438
mov eax, dword [esp + 0xa4]
sub eax, dword [esp + 0x10]
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x14], 1
add eax, 1
mov dword [esi], eax
jmp 0x412529
mov esi, dword [esp + 0xa4]
mov ebx, dword [ebp + 0x18]
mov eax, esi
sub eax, dword [esp + 0x10]
add eax, 1
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
mov dword [ebx + 0x4c], esi
mov eax, dword [esp + 0x14]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x4c]
mov dword [esp + 0xa4], eax
sub eax, 1
mov dword [esp + 0xc8], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0xb8], eax
mov eax, dword [ebp + 0xc]
lea edx, [eax + 0x40]
mov ecx, dword [eax + 0x40]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x10]
mov dword [esp + 0x2d0], ecx
mov edi, eax
mov dword [esp + 0x2d4], eax
mov eax, dword [edx + 8]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x2e0], ebx
mov ebx, dword [edx + 0x18]
mov dword [esp + 0xb4], eax
mov dword [esp + 0x2d8], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x2e8], ebx
mov ebx, dword [edx + 0x20]
mov dword [esp + 0x2dc], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x2f0], ebx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x2e4], eax
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x94], eax
mov dword [esp + 0x2ec], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0xc4], eax
mov ebx, dword [edx + 0x28]
mov dword [esp + 0x2f4], eax
mov eax, dword [edx + 0x2c]
add ecx, dword [esp + 0xc4]
mov esi, ebx
mov dword [esp + 0xac], eax
mov dword [esp + 0x2fc], eax
mov eax, dword [edx + 0x34]
mov dword [esp + 0x2f8], ebx
mov ebx, dword [edx + 0x30]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xc0], esi
mov dword [esp + 0xa8], eax
mov dword [esp + 0x304], eax
mov eax, dword [edx + 0x38]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0x300], ebx
mov ebx, dword [edx + 0x3c]
mov ecx, eax
ror ecx, 0x13
mov edx, ecx
mov ecx, eax
ror ecx, 0x11
xor edx, ecx
mov ecx, eax
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x308], eax
mov dword [esp + 0x30c], ebx
add ecx, edx
mov edx, edi
mov dword [esp + 0xcc], ecx
mov ecx, edi
ror ecx, 7
ror edx, 0x12
xor edx, ecx
mov ecx, edi
shr ecx, 3
add edi, esi
mov esi, dword [esp + 0xb4]
xor edx, ecx
mov ecx, ebx
add edx, dword [esp + 0xcc]
ror ecx, 0x11
mov dword [esp + 0xcc], edx
mov dword [esp + 0x310], edx
mov edx, ebx
ror edx, 0x13
xor edx, ecx
mov ecx, ebx
shr ecx, 0xa
xor edx, ecx
add edx, edi
mov edi, esi
ror edi, 0x12
mov dword [esp + 0x90], edx
mov edx, edi
mov edi, esi
ror edi, 7
xor edx, edi
mov edi, esi
shr edi, 3
xor edx, edi
mov edi, dword [esp + 0xac]
add edx, dword [esp + 0x90]
add edi, esi
mov esi, dword [esp + 0xcc]
mov dword [esp + 0xb4], edx
mov dword [esp + 0x314], edx
mov ecx, esi
mov edx, esi
ror ecx, 0x11
ror edx, 0x13
xor edx, ecx
mov ecx, esi
mov esi, dword [esp + 0xa0]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [esp + 0xbc]
add edx, edi
mov edi, esi
ror edi, 0x12
mov dword [esp + 0x318], edx
mov edx, edi
mov edi, esi
ror edi, 7
xor edx, edi
mov edi, esi
shr edi, 3
xor edx, edi
add ecx, edx
mov dword [esp + 0xa0], ecx
mov edi, dword [esp + 0xb4]
mov edx, edi
mov ecx, edi
ror ecx, 0x11
ror edx, 0x13
xor edx, ecx
mov ecx, edi
mov edi, dword [esp + 0xa8]
shr ecx, 0xa
xor edx, ecx
add edx, dword [esp + 0xa0]
add edi, esi
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x31c], edx
mov ecx, esi
mov edx, esi
ror ecx, 7
ror edx, 0x12
xor edx, ecx
mov ecx, esi
shr ecx, 3
xor edx, ecx
add edx, edi
mov edi, dword [esp + 0x98]
mov dword [esp + 0x320], edx
lea esi, [esi + eax]
mov edx, edi
mov ecx, edi
ror ecx, 7
ror edx, 0x12
xor edx, ecx
mov ecx, edi
shr ecx, 3
xor edx, ecx
add edx, esi
lea esi, [edi + ebx]
mov edi, dword [esp + 0x94]
mov dword [esp + 0x324], edx
mov ecx, edi
mov edx, edi
ror ecx, 7
ror edx, 0x12
xor edx, ecx
mov ecx, edi
shr ecx, 3
xor edx, ecx
add edx, esi
mov esi, dword [esp + 0xb0]
mov dword [esp + 0x328], edx
mov ecx, esi
mov edx, esi
ror edx, 0x12
ror ecx, 7
xor edx, ecx
mov ecx, esi
mov esi, dword [esp + 0xc4]
shr ecx, 3
xor edx, ecx
add edx, edi
add edx, dword [esp + 0xcc]
mov edi, esi
ror edi, 0x12
mov dword [esp + 0x32c], edx
mov edx, edi
mov edi, esi
ror edi, 7
xor edx, edi
mov edi, esi
mov esi, dword [esp + 0xc0]
shr edi, 3
xor edx, edi
add edx, dword [esp + 0xb0]
add edx, dword [esp + 0xb4]
mov edi, esi
ror edi, 7
mov dword [esp + 0x330], edx
mov edx, esi
ror edx, 0x12
xor edx, edi
mov edi, esi
mov esi, dword [esp + 0xac]
shr edi, 3
xor edx, edi
add edx, dword [esp + 0xc4]
mov edi, esi
mov ecx, esi
ror edi, 0x12
mov dword [esp + 0x334], edx
mov edx, edi
mov edi, esi
ror edi, 7
xor edx, edi
mov edi, esi
mov esi, dword [esp + 0xbc]
shr ecx, 3
xor edx, ecx
add edx, dword [esp + 0xc0]
mov ecx, esi
ror ecx, 7
mov dword [esp + 0x338], edx
mov edx, esi
ror edx, 0x12
xor edx, ecx
mov ecx, esi
mov esi, dword [esp + 0xa8]
shr ecx, 3
xor edx, ecx
mov ecx, dword [esp + 0xcc]
add edx, edi
mov edi, esi
ror edi, 0x12
mov dword [esp + 0x33c], edx
mov edx, edi
mov edi, esi
ror edi, 7
xor edx, edi
mov edi, esi
shr edi, 3
xor edx, edi
mov edi, eax
add edx, dword [esp + 0xbc]
ror edi, 7
mov dword [esp + 0x340], edx
mov edx, eax
ror edx, 0x12
xor edx, edi
mov edi, eax
shr edi, 3
xor edx, edi
mov edi, ebx
add edx, esi
mov esi, dword [esp + 0xc8]
ror edi, 0x12
mov dword [esp + 0x344], edx
mov edx, edi
mov edi, ebx
ror edi, 7
xor edx, edi
mov edi, ebx
shr edi, 3
xor edx, edi
mov edi, dword [esp + 0xb8]
add eax, edx
mov edx, ecx
mov dword [esp + 0x348], eax
mov eax, ecx
ror edx, 7
ror eax, 0x12
xor eax, edx
mov edx, ecx
shr edx, 3
xor eax, edx
add eax, ebx
lea ebx, [esp + 0x2d0]
mov dword [esp + 0x34c], eax
mov ecx, ebx
xor eax, eax
mov dword [esp + 0xa0], ebx
nop
lea esi, [esi]
lea ebx, [esp + 0x34c]
lea edx, [ebx + eax]
mov ebx, dword [edx]
mov dword [ecx + eax*4 + 0x1f0], ebx
mov ebx, dword [edx]
mov dword [ecx + eax*4 + 0x1f4], ebx
mov ebx, dword [edx]
mov dword [ecx + eax*4 + 0x1f8], ebx
mov edx, dword [edx]
mov dword [ecx + eax*4 + 0x1fc], edx
sub eax, 4
cmp eax, 0xffffff80
jne 0x412970
mov eax, dword [0x42fd40]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], esi
mov dword [esp + 0x150], eax
mov eax, dword [0x42fd44]
mov dword [esp + 0x154], eax
mov eax, dword [0x42fd48]
mov dword [esp + 0x158], eax
mov eax, dword [0x42fd4c]
mov dword [esp + 0x15c], eax
mov eax, dword [0x42fd50]
mov dword [esp + 0x160], eax
mov eax, dword [0x42fd54]
mov dword [esp + 0x164], eax
mov eax, dword [0x42fd58]
mov dword [esp + 0x168], eax
mov eax, dword [0x42fd5c]
mov dword [esp + 0x16c], eax
lea eax, [esp + 0x150]
call fcn.004096c0
mov ebx, dword [esp + 0x160]
mov eax, dword [esp + 0x150]
mov esi, dword [esp + 0x16c]
mov edi, dword [esp + 0x158]
mov edx, ebx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x1d0], eax
mov eax, ebx
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebx
ror edx, 0x19
xor eax, edx
lea edx, [esi + eax + 0x428a2f98]
mov eax, dword [esp + 0x168]
xor eax, dword [esp + 0x164]
or edi, dword [esp + 0x154]
mov esi, dword [ebp + 0xc]
and eax, ebx
xor eax, dword [esp + 0x168]
and ecx, edi
mov edi, dword [esp + 0x158]
and edi, dword [esp + 0x154]
add edx, eax
mov eax, dword [ebp + 0xc]
or ecx, edi
mov edi, dword [esp + 0x150]
add edx, dword [eax + 0x40]
mov eax, dword [esp + 0x15c]
ror edi, 0xd
add eax, edx
mov dword [esp + 0xc4], eax
mov eax, edi
mov edi, dword [esp + 0x150]
ror edi, 2
xor eax, edi
mov edi, dword [esp + 0x150]
ror edi, 0x16
xor eax, edi
add eax, ecx
add eax, edx
mov edx, dword [esp + 0x168]
mov edi, eax
mov eax, dword [esp + 0x164]
add edx, dword [esi + 0x44]
mov esi, dword [esp + 0xc4]
xor eax, ebx
and eax, esi
mov ecx, esi
xor eax, dword [esp + 0x164]
ror ecx, 6
lea edx, [edx + eax + 0x71374491]
mov eax, esi
ror eax, 0xb
xor eax, ecx
mov ecx, esi
mov esi, dword [esp + 0x154]
ror ecx, 0x19
xor eax, ecx
mov ecx, edi
add edx, eax
mov eax, edi
mov dword [esp + 0xcc], edx
add edx, dword [esp + 0x158]
ror eax, 2
ror ecx, 0xd
xor ecx, eax
mov eax, edi
ror eax, 0x16
xor ecx, eax
mov eax, dword [esp + 0x154]
or eax, dword [esp + 0x150]
and esi, dword [esp + 0x150]
and eax, edi
or eax, esi
mov esi, dword [esp + 0x164]
add eax, ecx
mov ecx, dword [esp + 0xcc]
add ecx, eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xcc], ecx
mov ecx, dword [ebp + 0xc]
xor eax, ebx
add esi, dword [ecx + 0x48]
and eax, edx
xor eax, ebx
lea esi, [esi + eax - 0x4a3f0431]
mov dword [esp + 0xc0], esi
mov esi, edx
mov ecx, dword [esp + 0xc0]
ror esi, 0xb
mov eax, esi
mov esi, edx
ror esi, 6
xor eax, esi
mov esi, edx
ror esi, 0x19
xor eax, esi
add ecx, eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc0], edi
mov dword [esp + 0xbc], ecx
add ecx, dword [esp + 0x154]
ror eax, 0xd
mov esi, eax
mov eax, dword [esp + 0xcc]
ror eax, 2
xor esi, eax
mov eax, dword [esp + 0xcc]
ror eax, 0x16
xor esi, eax
mov eax, dword [esp + 0x150]
or eax, edi
and edi, dword [esp + 0x150]
and eax, dword [esp + 0xcc]
or eax, edi
mov edi, dword [esp + 0xc0]
add eax, esi
mov esi, dword [esp + 0x16c]
add eax, dword [esp + 0xbc]
mov dword [esp + 0x240], edi
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x1c8], esi
mov dword [esp + 0x1cc], esi
mov esi, dword [esp + 0x168]
mov dword [esp + 0x244], edi
mov dword [esp + 0x248], edi
mov dword [esp + 0x24c], edi
mov edi, dword [esp + 0xcc]
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1b4], esi
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x1bc], esi
mov esi, dword [esp + 0x164]
mov dword [esp + 0x230], edi
mov dword [esp + 0x234], edi
mov dword [esp + 0x238], edi
mov dword [esp + 0x23c], edi
mov dword [esp + 0x1a0], esi
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x1ac], esi
mov esi, dword [esp + 0x15c]
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], eax
mov dword [esp + 0x208], eax
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x190], ebx
mov dword [esp + 0x210], ebx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x214], ebx
mov dword [esp + 0x198], ebx
mov dword [esp + 0x218], ebx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x21c], ebx
lea ebx, [esp + 0xd0]
mov dword [esp + 0x180], esi
mov dword [esp + 0x184], esi
mov dword [esp + 0x188], esi
mov dword [esp + 0x18c], esi
mov dword [esp + 0x1f0], edx
mov dword [esp + 0x1f4], edx
mov dword [esp + 0x1f8], edx
mov dword [esp + 0x1fc], edx
mov dword [esp + 0x160], eax
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x164], eax
mov esi, dword [esp + 0xc8]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x154], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x1dc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x1ec], ecx
shl eax, 7
mov dword [esp + 0xcc], eax
xor eax, eax
cmp eax, 3
jle 0x412ebf
lea eax, [esp + 0x1d0]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x150]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00414a00
mov eax, dword [esp + 0x140]
bswap eax
cmp edi, eax
jae 0x412f2d
mov eax, dword [esp + 0x144]
bswap eax
cmp edi, eax
jae 0x412ed6
mov eax, dword [esp + 0x148]
bswap eax
cmp edi, eax
jae 0x412f60
mov eax, dword [esp + 0x14c]
bswap eax
cmp edi, eax
jae 0x412f9e
cmp dword [ebp + 0x14], esi
jbe 0x412fd4
mov eax, dword [esp + 0xcc]
add eax, dword [0x432020]
mov eax, dword [eax]
test eax, eax
jne 0x412fd4
xor eax, eax
add esi, 1
mov dword [esp + eax*4 + 0x300], esi
add eax, 1
cmp eax, 3
jle 0x412ebf
jmp 0x412e34
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x304]
mov edx, ecx
mov dword [ecx + 0x4c], eax
mov eax, ebx
call fcn.0040b370
mov eax, dword [ebp + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00406df0
test al, al
je 0x412e7b
mov dword [esp + 0xc8], esi
sub esi, dword [esp + 0xa4]
mov dword [esp + 0x14], 1
lea eax, [esi + 1]
mov esi, dword [ebp + 0x18]
mov dword [esi], eax
mov eax, dword [esp + 0x14]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x300]
mov edx, ecx
mov dword [ecx + 0x4c], eax
mov eax, ebx
call fcn.0040b370
mov eax, dword [ebp + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00406df0
test al, al
je 0x412e6e
jmp 0x412f03
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x308]
mov edx, ecx
mov dword [ecx + 0x4c], eax
mov eax, ebx
call fcn.0040b370
mov eax, dword [ebp + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00406df0
test al, al
jne 0x412f03
mov eax, dword [esp + 0x14c]
bswap eax
cmp edi, eax
jb 0x412e9d
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x30c]
mov edx, ecx
mov dword [ecx + 0x4c], eax
mov eax, ebx
call fcn.0040b370
mov eax, dword [ebp + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00406df0
test al, al
jne 0x412f03
cmp dword [ebp + 0x14], esi
ja 0x412ea6
mov ebx, esi
mov dword [esp + 0xc8], esi
mov eax, ebx
mov esi, dword [ebp + 0x18]
sub eax, dword [esp + 0xa4]
mov dword [esp + 0x14], 0
add eax, 1
mov dword [esi], eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x4c], ebx
mov eax, dword [esp + 0x14]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret