Function at 0x300734b8
Capabilities:
Encode data using xor

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x90
test ecx, ecx
mov eax, dword [ebp + 0x78]
push esi
mov esi, edx
je 0x3007509e
push ebx
mov dword [ebp - 0x20], ecx
push edi
cmp dword [ebp + 0x7c], 0
mov ecx, dword [eax + 4]
mov ebx, dword [eax + 0x10]
mov edi, dword [eax]
mov dword [ebp + 0x50], ecx
mov ecx, dword [eax + 8]
mov dword [ebp + 0x60], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp + 0x64], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp + 0x54], ecx
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
push 0x1a
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x58], eax
push ebx
je 0x30073dce
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
call fcn.3022c07f
push 0x15
push ebx
mov dword [ebp + 0x48], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
xor ecx, eax
push 7
push ebx
mov dword [ebp + 0x48], ecx
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
mov edx, dword [ebp + 0x54]
xor ecx, eax
add ecx, dword [ebp - 0x18]
mov eax, ebx
not eax
and eax, dword [ebp + 0x68]
and edx, ebx
xor eax, edx
add eax, ecx
mov ecx, dword [ebp + 0x58]
lea eax, [eax + ecx + 0x428a2f98]
add dword [ebp + 0x64], eax
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x40], eax
xor dword [ebp + 0x40], edi
mov dword [ebp + 0x44], eax
and dword [ebp + 0x44], edi
push 0x1e
push edi
call fcn.3022c07f
push 0x13
push edi
mov ebx, eax
call fcn.3022c07f
push 0xa
push edi
xor ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x40]
and eax, dword [ebp + 0x60]
add ebx, dword [ebp + 0x6c]
xor eax, dword [ebp + 0x44]
push 0x1a
push dword [ebp + 0x64]
add eax, ebx
mov dword [ebp + 0x58], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x14], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x64]
mov ebx, eax
call fcn.3022c07f
add esp, 0x40
push 7
push dword [ebp + 0x64]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x5c]
and ecx, dword [ebp + 0x64]
xor ebx, eax
mov eax, dword [ebp + 0x64]
add ebx, dword [ebp - 0x14]
not eax
and eax, dword [ebp + 0x54]
push 0x1e
push dword [ebp + 0x58]
xor eax, ecx
mov ecx, dword [ebp + 0x68]
add eax, ebx
lea eax, [eax + ecx + 0x71374491]
add dword [ebp + 0x60], eax
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
mov ebx, eax
push 0x13
push dword [ebp + 0x58]
call fcn.3022c07f
push 0xa
push dword [ebp + 0x58]
xor ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x40]
and eax, dword [ebp + 0x58]
add ebx, dword [ebp + 0x6c]
xor eax, dword [ebp + 0x44]
push 0x1a
push dword [ebp + 0x60]
add eax, ebx
mov dword [ebp + 0x68], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x10], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x60]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x60]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x64]
and ecx, dword [ebp + 0x60]
xor ebx, eax
mov eax, dword [ebp + 0x60]
add ebx, dword [ebp - 0x10]
not eax
and eax, dword [ebp + 0x5c]
push 0x1e
push dword [ebp + 0x68]
xor eax, ecx
mov ecx, dword [ebp + 0x54]
add eax, ebx
lea eax, [eax + ecx - 0x4a3f0431]
add dword [ebp + 0x50], eax
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
add esp, 0x40
push 0x13
push dword [ebp + 0x68]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x68]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x68]
xor ebx, eax
mov eax, dword [ebp + 0x68]
add ebx, dword [ebp + 0x6c]
xor eax, edi
and eax, dword [ebp + 0x58]
and ecx, edi
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x54], eax
mov eax, dword [esi + 0xc]
push 0x1a
push dword [ebp + 0x50]
mov dword [ebp - 0xc], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x50]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x50]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x60]
xor ebx, eax
mov eax, dword [ebp + 0x50]
not eax
and eax, dword [ebp + 0x64]
and ecx, dword [ebp + 0x50]
add ebx, dword [ebp - 0xc]
xor eax, ecx
mov ecx, dword [ebp + 0x5c]
add eax, ebx
lea eax, [eax + ecx - 0x164a245b]
push 0x1e
push dword [ebp + 0x54]
mov dword [ebp + 0x6c], eax
add edi, eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x54]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x54]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x68]
and ecx, dword [ebp + 0x54]
xor ebx, eax
mov eax, dword [ebp + 0x68]
xor eax, dword [ebp + 0x54]
add ebx, dword [ebp + 0x6c]
and eax, dword [ebp + 0x58]
add esp, 0x40
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x5c], eax
mov eax, dword [esi + 0x10]
push 0x1a
push edi
mov dword [ebp - 8], eax
call fcn.3022c07f
push 0x15
push edi
mov ebx, eax
call fcn.3022c07f
push 7
push edi
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x50]
xor ebx, eax
add ebx, dword [ebp - 8]
mov eax, edi
not eax
and eax, dword [ebp + 0x60]
and ecx, edi
xor eax, ecx
mov ecx, dword [ebp + 0x64]
add eax, ebx
lea eax, [eax + ecx + 0x3956c25b]
add dword [ebp + 0x58], eax
push 0x1e
push dword [ebp + 0x5c]
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x5c]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x5c]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x54]
and ecx, dword [ebp + 0x5c]
xor ebx, eax
mov eax, dword [ebp + 0x54]
xor eax, dword [ebp + 0x5c]
add ebx, dword [ebp + 0x6c]
and eax, dword [ebp + 0x68]
push 0x1a
push dword [ebp + 0x58]
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x64], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 4], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x58]
mov ebx, eax
call fcn.3022c07f
add esp, 0x40
push 7
push dword [ebp + 0x58]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x58]
xor ebx, eax
mov eax, dword [ebp + 0x58]
add ebx, dword [ebp - 4]
not eax
and eax, dword [ebp + 0x50]
and ecx, edi
xor eax, ecx
mov ecx, dword [ebp + 0x60]
add eax, ebx
lea eax, [eax + ecx + 0x59f111f1]
add dword [ebp + 0x68], eax
push 0x1e
push dword [ebp + 0x64]
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x64]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x64]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x5c]
and ecx, dword [ebp + 0x64]
xor ebx, eax
mov eax, dword [ebp + 0x5c]
xor eax, dword [ebp + 0x64]
add ebx, dword [ebp + 0x6c]
and eax, dword [ebp + 0x54]
push 0x1a
push dword [ebp + 0x68]
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x60], eax
mov eax, dword [esi + 0x18]
mov dword [ebp], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x68]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x68]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x58]
and ecx, dword [ebp + 0x68]
xor ebx, eax
mov eax, dword [ebp + 0x68]
add ebx, dword [ebp]
not eax
and eax, edi
xor eax, ecx
mov ecx, dword [ebp + 0x50]
add eax, ebx
lea eax, [eax + ecx - 0x6dc07d5c]
add dword [ebp + 0x54], eax
push 0x1e
push dword [ebp + 0x60]
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
add esp, 0x40
push 0x13
push dword [ebp + 0x60]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x60]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x64]
and ecx, dword [ebp + 0x60]
xor ebx, eax
mov eax, dword [ebp + 0x64]
xor eax, dword [ebp + 0x60]
add ebx, dword [ebp + 0x6c]
and eax, dword [ebp + 0x5c]
push 0x1a
push dword [ebp + 0x54]
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x50], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp + 4], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x54]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x54]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x68]
and ecx, dword [ebp + 0x54]
xor ebx, eax
mov eax, dword [ebp + 0x54]
add ebx, dword [ebp + 4]
not eax
and eax, dword [ebp + 0x58]
push 0x1e
xor eax, ecx
add eax, ebx
lea edi, [eax + edi - 0x54e3a12b]
add dword [ebp + 0x5c], edi
mov dword [ebp + 0x6c], edi
mov edi, dword [ebp + 0x50]
push edi
call fcn.3022c07f
push 0x13
push edi
mov dword [ebp + 0x48], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
xor ecx, eax
push 0xa
push edi
mov dword [ebp + 0x48], ecx
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
mov ebx, dword [ebp + 0x60]
xor ecx, eax
mov eax, dword [ebp + 0x60]
add ecx, dword [ebp + 0x6c]
xor ebx, edi
and ebx, dword [ebp + 0x64]
and eax, edi
add esp, 0x40
xor ebx, eax
mov eax, dword [esi + 0x20]
push 0x1a
push dword [ebp + 0x5c]
add ebx, ecx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 8], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x5c]
mov edi, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x5c]
xor edi, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x54]
and ecx, dword [ebp + 0x5c]
xor edi, eax
mov eax, dword [ebp + 0x5c]
not eax
and eax, dword [ebp + 0x68]
xor eax, ecx
add edi, dword [ebp + 8]
mov ecx, dword [ebp + 0x58]
add eax, edi
lea eax, [eax + ecx - 0x27f85568]
add dword [ebp + 0x64], eax
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x40], eax
xor dword [ebp + 0x40], ebx
mov dword [ebp + 0x44], eax
and dword [ebp + 0x44], ebx
push 0x1e
push ebx
call fcn.3022c07f
push 0x13
push ebx
mov edi, eax
call fcn.3022c07f
push 0xa
push ebx
xor edi, eax
call fcn.3022c07f
xor edi, eax
mov eax, dword [ebp + 0x40]
and eax, dword [ebp + 0x60]
add edi, dword [ebp + 0x6c]
xor eax, dword [ebp + 0x44]
push 0x1a
push dword [ebp + 0x64]
add eax, edi
mov dword [ebp + 0x58], eax
mov eax, dword [esi + 0x24]
mov dword [ebp + 0xc], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x64]
mov edi, eax
call fcn.3022c07f
add esp, 0x40
push 7
push dword [ebp + 0x64]
xor edi, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x5c]
and ecx, dword [ebp + 0x64]
xor edi, eax
mov eax, dword [ebp + 0x64]
add edi, dword [ebp + 0xc]
not eax
and eax, dword [ebp + 0x54]
push 0x1e
push dword [ebp + 0x58]
xor eax, ecx
mov ecx, dword [ebp + 0x68]
add eax, edi
lea eax, [eax + ecx + 0x12835b01]
add dword [ebp + 0x60], eax
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x58]
mov edi, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x58]
xor edi, eax
call fcn.3022c07f
xor edi, eax
mov eax, dword [ebp + 0x40]
and eax, dword [ebp + 0x58]
add edi, dword [ebp + 0x6c]
xor eax, dword [ebp + 0x44]
push 0x1a
push dword [ebp + 0x60]
add eax, edi
mov dword [ebp + 0x68], eax
mov eax, dword [esi + 0x28]
mov dword [ebp + 0x10], eax
call fcn.3022c07f
mov edi, eax
push 0x15
push dword [ebp + 0x60]
call fcn.3022c07f
push 7
push dword [ebp + 0x60]
xor edi, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x64]
and ecx, dword [ebp + 0x60]
xor edi, eax
mov eax, dword [ebp + 0x60]
add edi, dword [ebp + 0x10]
not eax
and eax, dword [ebp + 0x5c]
push 0x1e
push dword [ebp + 0x68]
xor eax, ecx
mov ecx, dword [ebp + 0x54]
add eax, edi
lea eax, [eax + ecx + 0x243185be]
add dword [ebp + 0x50], eax
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
add esp, 0x40
push 0x13
push dword [ebp + 0x68]
mov dword [ebp + 0x48], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
push 0xa
push dword [ebp + 0x68]
xor ecx, eax
mov dword [ebp + 0x48], ecx
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
mov edi, dword [ebp + 0x68]
xor ecx, eax
mov eax, dword [ebp + 0x68]
add ecx, dword [ebp + 0x6c]
xor edi, ebx
and edi, dword [ebp + 0x58]
and eax, ebx
xor edi, eax
mov eax, dword [esi + 0x2c]
push 0x1a
push dword [ebp + 0x50]
add edi, ecx
mov dword [ebp + 0x14], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x50]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x50]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x60]
and ecx, dword [ebp + 0x50]
xor ebx, eax
mov eax, dword [ebp + 0x50]
add ebx, dword [ebp + 0x14]
not eax
and eax, dword [ebp + 0x64]
push 0x1e
xor eax, ecx
mov ecx, dword [ebp + 0x5c]
add eax, ebx
lea eax, [eax + ecx + 0x550c7dc3]
add dword [ebp + 0x4c], eax
push edi
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push edi
mov ebx, eax
call fcn.3022c07f
push 0xa
push edi
xor ebx, eax
call fcn.3022c07f
add esp, 0x40
mov ecx, dword [ebp + 0x68]
xor ebx, eax
mov eax, dword [ebp + 0x68]
add ebx, dword [ebp + 0x6c]
xor eax, edi
and eax, dword [ebp + 0x58]
and ecx, edi
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x5c], eax
mov eax, dword [esi + 0x30]
push 0x1a
push dword [ebp + 0x4c]
mov dword [ebp + 0x18], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x4c]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x4c]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x50]
and ecx, dword [ebp + 0x4c]
xor ebx, eax
mov eax, dword [ebp + 0x4c]
add ebx, dword [ebp + 0x18]
not eax
and eax, dword [ebp + 0x60]
push 0x1e
push dword [ebp + 0x5c]
xor eax, ecx
mov ecx, dword [ebp + 0x64]
add eax, ebx
lea eax, [eax + ecx + 0x72be5d74]
add dword [ebp + 0x58], eax
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x5c]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x5c]
xor ebx, eax
call fcn.3022c07f
xor ebx, eax
add ebx, dword [ebp + 0x6c]
mov eax, edi
xor eax, dword [ebp + 0x5c]
mov ecx, edi
and eax, dword [ebp + 0x68]
and ecx, dword [ebp + 0x5c]
push 0x1a
push dword [ebp + 0x58]
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x64], eax
mov eax, dword [esi + 0x34]
mov dword [ebp + 0x1c], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x58]
mov ebx, eax
call fcn.3022c07f
add esp, 0x40
push 7
push dword [ebp + 0x58]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x58]
and ecx, dword [ebp + 0x4c]
xor ebx, eax
mov eax, dword [ebp + 0x58]
add ebx, dword [ebp + 0x1c]
not eax
and eax, dword [ebp + 0x50]
xor eax, ecx
mov ecx, dword [ebp + 0x60]
add eax, ebx
lea eax, [eax + ecx - 0x7f214e02]
add dword [ebp + 0x68], eax
push 0x1e
push dword [ebp + 0x64]
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x64]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x64]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x5c]
and ecx, dword [ebp + 0x64]
xor ebx, eax
mov eax, dword [ebp + 0x5c]
xor eax, dword [ebp + 0x64]
add ebx, dword [ebp + 0x6c]
and eax, edi
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x60], eax
mov eax, dword [esi + 0x38]
push 0x1a
push dword [ebp + 0x68]
mov dword [ebp + 0x20], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x68]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x68]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x58]
and ecx, dword [ebp + 0x68]
xor ebx, eax
mov eax, dword [ebp + 0x68]
add ebx, dword [ebp + 0x20]
not eax
and eax, dword [ebp + 0x4c]
push 0x1e
push dword [ebp + 0x60]
xor eax, ecx
mov ecx, dword [ebp + 0x50]
add eax, ebx
lea eax, [eax + ecx - 0x6423f959]
mov dword [ebp + 0x6c], eax
add edi, eax
call fcn.3022c07f
add esp, 0x40
push 0x13
push dword [ebp + 0x60]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x60]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x64]
and ecx, dword [ebp + 0x60]
xor ebx, eax
mov eax, dword [ebp + 0x64]
xor eax, dword [ebp + 0x60]
add ebx, dword [ebp + 0x6c]
and eax, dword [ebp + 0x5c]
push 0x1a
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x50], eax
mov eax, dword [esi + 0x3c]
push edi
mov dword [ebp + 0x24], eax
call fcn.3022c07f
push 0x15
push edi
mov ebx, eax
call fcn.3022c07f
push 7
push edi
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x68]
xor ebx, eax
add ebx, dword [ebp + 0x24]
mov eax, edi
not eax
and eax, dword [ebp + 0x58]
and ecx, edi
xor eax, ecx
mov ecx, dword [ebp + 0x4c]
add eax, ebx
lea eax, [eax + ecx - 0x3e640e8c]
add dword [ebp + 0x5c], eax
push 0x1e
push dword [ebp + 0x50]
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x50]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x50]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x60]
and ecx, dword [ebp + 0x50]
xor ebx, eax
mov eax, dword [ebp + 0x60]
xor eax, dword [ebp + 0x50]
add ebx, dword [ebp + 0x6c]
and eax, dword [ebp + 0x64]
add esp, 0x40
xor eax, ecx
add eax, ebx
add esi, 0x40
jmp 0x3007485b
movzx eax, byte [esi]
shl eax, 0x18
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp - 0x18], eax
call fcn.3022c07f
push 0x15
push ebx
mov dword [ebp + 0x48], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
push 7
push dword [ebp + 0x5c]
xor ecx, eax
mov dword [ebp + 0x48], ecx
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
mov edx, dword [ebp + 0x54]
and edx, dword [ebp + 0x5c]
xor ecx, eax
mov eax, dword [ebp + 0x5c]
add ecx, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x68]
push 0x1e
xor eax, edx
add eax, ecx
mov ecx, dword [ebp + 0x58]
lea eax, [eax + ecx + 0x428a2f98]
add dword [ebp + 0x64], eax
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x50]
xor eax, edi
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x50]
and eax, edi
push edi
mov dword [ebp + 0x44], eax
call fcn.3022c07f
push 0x13
push edi
mov ebx, eax
call fcn.3022c07f
push 0xa
push edi
xor ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x40]
and eax, dword [ebp + 0x60]
add ebx, dword [ebp + 0x6c]
xor eax, dword [ebp + 0x44]
add eax, ebx
mov dword [ebp + 0x58], eax
movzx eax, byte [esi]
shl eax, 0x18
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp - 0x14], eax
push 0x1a
push dword [ebp + 0x64]
call fcn.3022c07f
push 0x15
push dword [ebp + 0x64]
mov ebx, eax
call fcn.3022c07f
add esp, 0x40
push 7
push dword [ebp + 0x64]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x5c]
and ecx, dword [ebp + 0x64]
xor ebx, eax
mov eax, dword [ebp + 0x64]
add ebx, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x54]
push 0x1e
push dword [ebp + 0x58]
xor eax, ecx
mov ecx, dword [ebp + 0x68]
add eax, ebx
lea eax, [eax + ecx + 0x71374491]
add dword [ebp + 0x60], eax
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x58]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x58]
xor ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x40]
and eax, dword [ebp + 0x58]
add ebx, dword [ebp + 0x6c]
xor eax, dword [ebp + 0x44]
push 0x1a
add eax, ebx
mov dword [ebp + 0x68], eax
movzx eax, byte [esi]
shl eax, 0x18
push dword [ebp + 0x60]
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp - 0x10], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x60]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x60]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x64]
and ecx, dword [ebp + 0x60]
xor ebx, eax
mov eax, dword [ebp + 0x60]
add ebx, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x5c]
xor eax, ecx
mov ecx, dword [ebp + 0x54]
add eax, ebx
lea eax, [eax + ecx - 0x4a3f0431]
add dword [ebp + 0x50], eax
push 0x1e
push dword [ebp + 0x68]
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
add esp, 0x40
push 0x13
push dword [ebp + 0x68]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x68]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x68]
xor ebx, eax
mov eax, dword [ebp + 0x68]
add ebx, dword [ebp + 0x6c]
xor eax, edi
and eax, dword [ebp + 0x58]
and ecx, edi
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x54], eax
movzx eax, byte [esi]
shl eax, 0x18
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
push 0x1a
push dword [ebp + 0x50]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp - 0xc], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x50]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x50]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x60]
and ecx, dword [ebp + 0x50]
xor ebx, eax
mov eax, dword [ebp + 0x50]
add ebx, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x64]
push 0x1e
push dword [ebp + 0x54]
xor eax, ecx
mov ecx, dword [ebp + 0x5c]
add eax, ebx
lea eax, [eax + ecx - 0x164a245b]
mov dword [ebp + 0x6c], eax
add edi, eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x54]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x54]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x68]
xor ebx, eax
mov eax, dword [ebp + 0x68]
xor eax, dword [ebp + 0x54]
add esp, 0x40
and eax, dword [ebp + 0x58]
and ecx, dword [ebp + 0x54]
add ebx, dword [ebp + 0x6c]
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x5c], eax
movzx eax, byte [esi]
shl eax, 0x18
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
push 0x1a
push edi
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp - 8], eax
call fcn.3022c07f
push 0x15
push edi
mov ebx, eax
call fcn.3022c07f
push 7
push edi
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x50]
xor ebx, eax
add ebx, dword [ebp + 0x6c]
mov eax, edi
not eax
and eax, dword [ebp + 0x60]
and ecx, edi
xor eax, ecx
mov ecx, dword [ebp + 0x64]
add eax, ebx
lea eax, [eax + ecx + 0x3956c25b]
add dword [ebp + 0x58], eax
push 0x1e
push dword [ebp + 0x5c]
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x5c]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x5c]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x54]
and ecx, dword [ebp + 0x5c]
xor ebx, eax
mov eax, dword [ebp + 0x54]
xor eax, dword [ebp + 0x5c]
add ebx, dword [ebp + 0x6c]
and eax, dword [ebp + 0x68]
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x64], eax
movzx eax, byte [esi]
shl eax, 0x18
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
push 0x1a
push dword [ebp + 0x58]
mov dword [ebp - 4], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x58]
mov ebx, eax
call fcn.3022c07f
add esp, 0x40
push 7
push dword [ebp + 0x58]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x58]
xor ebx, eax
mov eax, dword [ebp + 0x58]
add ebx, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x50]
and ecx, edi
xor eax, ecx
mov ecx, dword [ebp + 0x60]
add eax, ebx
lea eax, [eax + ecx + 0x59f111f1]
add dword [ebp + 0x68], eax
push 0x1e
push dword [ebp + 0x64]
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x64]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x64]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x5c]
and ecx, dword [ebp + 0x64]
xor ebx, eax
mov eax, dword [ebp + 0x5c]
xor eax, dword [ebp + 0x64]
add ebx, dword [ebp + 0x6c]
and eax, dword [ebp + 0x54]
push 0x1a
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x60], eax
movzx eax, byte [esi]
shl eax, 0x18
push dword [ebp + 0x68]
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x68]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x68]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x58]
and ecx, dword [ebp + 0x68]
xor ebx, eax
mov eax, dword [ebp + 0x68]
not eax
and eax, edi
xor eax, ecx
add ebx, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x50]
add eax, ebx
lea eax, [eax + ecx - 0x6dc07d5c]
add dword [ebp + 0x54], eax
push 0x1e
push dword [ebp + 0x60]
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
add esp, 0x40
push 0x13
push dword [ebp + 0x60]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x60]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x64]
and ecx, dword [ebp + 0x60]
xor ebx, eax
mov eax, dword [ebp + 0x64]
xor eax, dword [ebp + 0x60]
add ebx, dword [ebp + 0x6c]
and eax, dword [ebp + 0x5c]
push 0x1a
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x50], eax
movzx eax, byte [esi]
shl eax, 0x18
push dword [ebp + 0x54]
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp + 4], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x54]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x54]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x68]
and ecx, dword [ebp + 0x54]
xor ebx, eax
mov eax, dword [ebp + 0x54]
add ebx, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x58]
push 0x1e
xor eax, ecx
add eax, ebx
lea edi, [eax + edi - 0x54e3a12b]
add dword [ebp + 0x5c], edi
mov dword [ebp + 0x6c], edi
mov edi, dword [ebp + 0x50]
push edi
call fcn.3022c07f
push 0x13
push edi
mov dword [ebp + 0x48], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
xor ecx, eax
push 0xa
push edi
mov dword [ebp + 0x48], ecx
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
mov ebx, dword [ebp + 0x60]
xor ecx, eax
add ecx, dword [ebp + 0x6c]
mov eax, dword [ebp + 0x60]
and eax, edi
xor ebx, edi
and ebx, dword [ebp + 0x64]
add esp, 0x40
xor ebx, eax
movzx eax, byte [esi]
add ebx, ecx
shl eax, 0x18
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
push 0x1a
push dword [ebp + 0x5c]
mov dword [ebp + 0x4c], ebx
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp + 8], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x5c]
mov edi, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x5c]
xor edi, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x54]
and ecx, dword [ebp + 0x5c]
xor edi, eax
mov eax, dword [ebp + 0x5c]
add edi, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x68]
push 0x1e
xor eax, ecx
mov ecx, dword [ebp + 0x58]
add eax, edi
lea eax, [eax + ecx - 0x27f85568]
add dword [ebp + 0x64], eax
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x50]
mov dword [ebp + 0x40], eax
xor dword [ebp + 0x40], ebx
mov dword [ebp + 0x44], eax
and dword [ebp + 0x44], ebx
push ebx
call fcn.3022c07f
push 0x13
push ebx
mov edi, eax
call fcn.3022c07f
push 0xa
push ebx
xor edi, eax
call fcn.3022c07f
xor edi, eax
mov eax, dword [ebp + 0x40]
and eax, dword [ebp + 0x60]
add edi, dword [ebp + 0x6c]
xor eax, dword [ebp + 0x44]
add eax, edi
mov dword [ebp + 0x58], eax
movzx eax, byte [esi]
shl eax, 0x18
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
push 0x1a
push dword [ebp + 0x64]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp + 0xc], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x64]
mov edi, eax
call fcn.3022c07f
add esp, 0x40
push 7
push dword [ebp + 0x64]
xor edi, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x5c]
and ecx, dword [ebp + 0x64]
xor edi, eax
mov eax, dword [ebp + 0x64]
add edi, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x54]
push 0x1e
push dword [ebp + 0x58]
xor eax, ecx
mov ecx, dword [ebp + 0x68]
add eax, edi
lea eax, [eax + ecx + 0x12835b01]
add dword [ebp + 0x60], eax
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x58]
mov edi, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x58]
xor edi, eax
call fcn.3022c07f
xor edi, eax
mov eax, dword [ebp + 0x40]
and eax, dword [ebp + 0x58]
add edi, dword [ebp + 0x6c]
xor eax, dword [ebp + 0x44]
push 0x1a
add eax, edi
mov dword [ebp + 0x68], eax
movzx eax, byte [esi]
shl eax, 0x18
push dword [ebp + 0x60]
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp + 0x10], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x60]
mov edi, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x60]
xor edi, eax
call fcn.3022c07f
xor edi, eax
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x64]
and ecx, dword [ebp + 0x60]
add edi, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x5c]
push 0x1e
push dword [ebp + 0x68]
xor eax, ecx
mov ecx, dword [ebp + 0x54]
add eax, edi
lea eax, [eax + ecx + 0x243185be]
add dword [ebp + 0x50], eax
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
add esp, 0x40
push 0x13
push dword [ebp + 0x68]
mov dword [ebp + 0x48], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
push 0xa
push dword [ebp + 0x68]
xor ecx, eax
mov dword [ebp + 0x48], ecx
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
mov edi, dword [ebp + 0x68]
xor ecx, eax
add ecx, dword [ebp + 0x6c]
mov eax, dword [ebp + 0x68]
and eax, ebx
xor edi, ebx
and edi, dword [ebp + 0x58]
push 0x1a
xor edi, eax
movzx eax, byte [esi]
add edi, ecx
shl eax, 0x18
push dword [ebp + 0x50]
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp + 0x14], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x50]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x50]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x60]
and ecx, dword [ebp + 0x50]
xor ebx, eax
mov eax, dword [ebp + 0x50]
add ebx, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x64]
push 0x1e
xor eax, ecx
mov ecx, dword [ebp + 0x5c]
add eax, ebx
lea eax, [eax + ecx + 0x550c7dc3]
add dword [ebp + 0x4c], eax
push edi
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
mov ebx, eax
push 0x13
push edi
call fcn.3022c07f
push 0xa
push edi
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x68]
xor ebx, eax
mov eax, dword [ebp + 0x68]
add ebx, dword [ebp + 0x6c]
xor eax, edi
and eax, dword [ebp + 0x58]
and ecx, edi
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x5c], eax
movzx eax, byte [esi]
shl eax, 0x18
add esp, 0x40
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
push 0x1a
push dword [ebp + 0x4c]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp + 0x18], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x4c]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x4c]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x50]
and ecx, dword [ebp + 0x4c]
xor ebx, eax
mov eax, dword [ebp + 0x4c]
add ebx, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x60]
push 0x1e
push dword [ebp + 0x5c]
xor eax, ecx
mov ecx, dword [ebp + 0x64]
add eax, ebx
lea eax, [eax + ecx + 0x72be5d74]
add dword [ebp + 0x58], eax
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x5c]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x5c]
xor ebx, eax
call fcn.3022c07f
xor ebx, eax
add ebx, dword [ebp + 0x6c]
mov eax, edi
xor eax, dword [ebp + 0x5c]
mov ecx, edi
and eax, dword [ebp + 0x68]
and ecx, dword [ebp + 0x5c]
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x64], eax
movzx eax, byte [esi]
shl eax, 0x18
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
push 0x1a
push dword [ebp + 0x58]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp + 0x1c], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x58]
mov ebx, eax
call fcn.3022c07f
add esp, 0x40
push 7
push dword [ebp + 0x58]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x58]
and ecx, dword [ebp + 0x4c]
xor ebx, eax
mov eax, dword [ebp + 0x58]
add ebx, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x50]
push 0x1e
push dword [ebp + 0x64]
xor eax, ecx
mov ecx, dword [ebp + 0x60]
add eax, ebx
lea eax, [eax + ecx - 0x7f214e02]
add dword [ebp + 0x68], eax
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x64]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x64]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x5c]
and ecx, dword [ebp + 0x64]
xor ebx, eax
mov eax, dword [ebp + 0x5c]
xor eax, dword [ebp + 0x64]
add ebx, dword [ebp + 0x6c]
and eax, edi
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x60], eax
movzx eax, byte [esi]
shl eax, 0x18
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
push 0x1a
push dword [ebp + 0x68]
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp + 0x20], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x68]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x68]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x58]
and ecx, dword [ebp + 0x68]
xor ebx, eax
mov eax, dword [ebp + 0x68]
add ebx, dword [ebp + 0x6c]
not eax
and eax, dword [ebp + 0x4c]
push 0x1e
push dword [ebp + 0x60]
xor eax, ecx
mov ecx, dword [ebp + 0x50]
add eax, ebx
lea eax, [eax + ecx - 0x6423f959]
mov dword [ebp + 0x6c], eax
add edi, eax
call fcn.3022c07f
add esp, 0x40
push 0x13
push dword [ebp + 0x60]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x60]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x64]
and ecx, dword [ebp + 0x60]
xor ebx, eax
mov eax, dword [ebp + 0x64]
xor eax, dword [ebp + 0x60]
add ebx, dword [ebp + 0x6c]
and eax, dword [ebp + 0x5c]
push 0x1a
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x50], eax
movzx eax, byte [esi]
shl eax, 0x18
inc esi
movzx ecx, byte [esi]
shl ecx, 0x10
or eax, ecx
xor ecx, ecx
inc esi
mov ch, byte [esi]
push edi
or eax, ecx
inc esi
movzx ecx, byte [esi]
or eax, ecx
mov dword [ebp + 0x6c], eax
inc esi
mov dword [ebp + 0x24], eax
call fcn.3022c07f
push 0x15
push edi
mov ebx, eax
call fcn.3022c07f
push 7
push edi
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x68]
xor ebx, eax
add ebx, dword [ebp + 0x6c]
mov eax, edi
not eax
and eax, dword [ebp + 0x58]
and ecx, edi
xor eax, ecx
mov ecx, dword [ebp + 0x4c]
add eax, ebx
lea eax, [eax + ecx - 0x3e640e8c]
add dword [ebp + 0x5c], eax
mov dword [ebp + 0x6c], eax
push 0x1e
push dword [ebp + 0x50]
call fcn.3022c07f
push 0x13
push dword [ebp + 0x50]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x50]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x60]
and ecx, dword [ebp + 0x50]
xor ebx, eax
mov eax, dword [ebp + 0x60]
xor eax, dword [ebp + 0x50]
add ebx, dword [ebp + 0x6c]
and eax, dword [ebp + 0x64]
add esp, 0x40
xor eax, ecx
add eax, ebx
push 0x11
pop ebx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x34], 0x302362fc
mov eax, ebx
and eax, 0xf
lea eax, [ebp + eax*4 - 0x18]
mov dword [ebp + 0x2c], eax
mov eax, dword [eax]
push 0x19
push eax
mov dword [ebp + 0x54], eax
call fcn.3022c07f
push 0xe
push dword [ebp + 0x54]
mov dword [ebp + 0x48], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
xor ecx, eax
mov eax, dword [ebp + 0x54]
shr eax, 3
xor ecx, eax
lea eax, [ebx - 3]
and eax, 0xf
lea eax, [ebp + eax*4 - 0x18]
dec ebx
mov dword [ebp + 0x28], eax
mov eax, dword [eax]
mov dword [ebp + 0x54], ecx
and ebx, 0xf
lea ecx, [ebp + ebx*4 - 0x18]
push 0xf
push eax
mov dword [ebp + 0x6c], eax
mov dword [ebp - 0x1c], ecx
call fcn.3022c07f
push 0xd
push dword [ebp + 0x6c]
mov ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x6c]
shr eax, 0xa
xor ebx, eax
mov eax, dword [ebp + 0x38]
add eax, 0xfffffff8
and eax, 0xf
add ebx, dword [ebp + eax*4 - 0x18]
mov eax, dword [ebp - 0x1c]
add ebx, dword [ebp + 0x54]
push 0x1a
add dword [eax], ebx
mov eax, dword [eax]
push dword [ebp + 0x5c]
mov dword [ebp + 0x48], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x5c]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x5c]
xor ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x5c]
not eax
and eax, dword [ebp + 0x68]
mov ecx, edi
and ecx, dword [ebp + 0x5c]
xor eax, ecx
add ebx, eax
mov eax, dword [ebp + 0x34]
add ebx, dword [eax - 4]
mov eax, dword [ebp + 0x50]
add ebx, dword [ebp + 0x48]
add ebx, dword [ebp + 0x58]
add dword [ebp + 0x64], ebx
mov dword [ebp + 0x6c], ebx
mov ebx, dword [ebp + 0x4c]
xor eax, ebx
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x50]
and eax, ebx
mov dword [ebp + 0x44], eax
push 0x1e
push ebx
call fcn.3022c07f
add esp, 0x40
push 0x13
push ebx
mov dword [ebp + 0x48], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
xor ecx, eax
push 0xa
push ebx
mov dword [ebp + 0x48], ecx
call fcn.3022c07f
mov ecx, dword [ebp + 0x48]
xor ecx, eax
mov eax, dword [ebp + 0x40]
and eax, dword [ebp + 0x60]
add ecx, dword [ebp + 0x6c]
xor eax, dword [ebp + 0x44]
push 0x19
add eax, ecx
mov dword [ebp + 0x58], eax
mov eax, dword [ebp + 0x38]
inc eax
and eax, 0xf
lea eax, [ebp + eax*4 - 0x18]
mov dword [ebp + 0x48], eax
mov eax, dword [eax]
push eax
mov dword [ebp + 0x54], eax
call fcn.3022c07f
push 0xe
push dword [ebp + 0x54]
mov ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x54]
shr eax, 3
xor ebx, eax
mov eax, dword [ebp + 0x38]
add eax, 0xfffffffe
and eax, 0xf
lea eax, [ebp + eax*4 - 0x18]
mov dword [ebp + 0x54], ebx
mov ebx, dword [eax]
push 0xf
push ebx
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x6c], ebx
call fcn.3022c07f
push 0xd
push ebx
mov dword [ebp + 0x3c], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x3c]
xor ecx, eax
mov eax, ebx
shr eax, 0xa
xor ecx, eax
mov eax, dword [ebp + 0x38]
add eax, 0xfffffff9
and eax, 0xf
add ecx, dword [ebp + eax*4 - 0x18]
mov eax, dword [ebp + 0x2c]
add ecx, dword [ebp + 0x54]
push 0x1a
push dword [ebp + 0x64]
add dword [eax], ecx
call fcn.3022c07f
push 0x15
push dword [ebp + 0x64]
mov ebx, eax
call fcn.3022c07f
add esp, 0x40
push 7
push dword [ebp + 0x64]
xor ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x5c]
and ecx, dword [ebp + 0x64]
not eax
and eax, edi
xor eax, ecx
mov ecx, dword [ebp + 0x2c]
add ebx, dword [ecx]
mov ecx, dword [ebp + 0x34]
add eax, ebx
add eax, dword [ecx]
push 0x1e
add eax, dword [ebp + 0x68]
push dword [ebp + 0x58]
add dword [ebp + 0x60], eax
mov dword [ebp + 0x6c], eax
call fcn.3022c07f
push 0x13
push dword [ebp + 0x58]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x58]
xor ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x40]
and eax, dword [ebp + 0x58]
add ebx, dword [ebp + 0x6c]
xor eax, dword [ebp + 0x44]
push 0x19
add eax, ebx
mov dword [ebp + 0x68], eax
mov eax, dword [ebp + 0x38]
add eax, 2
and eax, 0xf
lea eax, [ebp + eax*4 - 0x18]
mov dword [ebp + 0x44], eax
mov eax, dword [eax]
push eax
mov dword [ebp + 0x54], eax
call fcn.3022c07f
push 0xe
push dword [ebp + 0x54]
mov ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x54]
shr eax, 3
xor ebx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 0x54], ebx
mov ebx, dword [eax]
push 0xf
push ebx
mov dword [ebp + 0x6c], ebx
call fcn.3022c07f
push 0xd
push ebx
mov dword [ebp + 0x3c], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x3c]
xor ecx, eax
mov eax, ebx
shr eax, 0xa
xor ecx, eax
mov eax, dword [ebp + 0x38]
add eax, 0xfffffffa
and eax, 0xf
add ecx, dword [ebp + eax*4 - 0x18]
mov eax, dword [ebp + 0x48]
add ecx, dword [ebp + 0x54]
add esp, 0x40
add dword [eax], ecx
mov eax, dword [eax]
push 0x1a
push dword [ebp + 0x60]
mov dword [ebp + 0x3c], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x60]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x60]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x64]
and ecx, dword [ebp + 0x60]
xor ebx, eax
mov eax, dword [ebp + 0x60]
not eax
and eax, dword [ebp + 0x5c]
push 0x1e
push dword [ebp + 0x68]
xor eax, ecx
add ebx, eax
mov eax, dword [ebp + 0x34]
add ebx, dword [eax + 4]
add ebx, dword [ebp + 0x3c]
add ebx, edi
add dword [ebp + 0x50], ebx
call fcn.3022c07f
push 0x13
push dword [ebp + 0x68]
mov edi, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x68]
xor edi, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x68]
and ecx, dword [ebp + 0x4c]
xor edi, eax
mov eax, dword [ebp + 0x68]
xor eax, dword [ebp + 0x4c]
add edi, ebx
and eax, dword [ebp + 0x58]
push 0x19
xor eax, ecx
add edi, eax
mov eax, dword [ebp + 0x38]
add eax, 3
and eax, 0xf
lea eax, [ebp + eax*4 - 0x18]
mov dword [ebp + 0x40], eax
mov eax, dword [eax]
push eax
mov dword [ebp + 0x54], eax
call fcn.3022c07f
push 0xe
push dword [ebp + 0x54]
mov ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x54]
shr eax, 3
xor ebx, eax
mov eax, dword [ebp + 0x2c]
add esp, 0x40
mov dword [ebp + 0x54], ebx
mov ebx, dword [eax]
push 0xf
push ebx
mov dword [ebp + 0x6c], ebx
call fcn.3022c07f
push 0xd
push ebx
mov dword [ebp + 0x3c], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x3c]
xor ecx, eax
mov eax, ebx
shr eax, 0xa
xor ecx, eax
mov eax, dword [ebp + 0x38]
add eax, 0xfffffffb
and eax, 0xf
add ecx, dword [ebp + eax*4 - 0x18]
mov eax, dword [ebp + 0x44]
add ecx, dword [ebp + 0x54]
add dword [eax], ecx
mov eax, dword [eax]
push 0x1a
push dword [ebp + 0x50]
mov dword [ebp + 0x3c], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x50]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x50]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x60]
and ecx, dword [ebp + 0x50]
xor ebx, eax
mov eax, dword [ebp + 0x50]
not eax
and eax, dword [ebp + 0x64]
push 0x1e
xor eax, ecx
add ebx, eax
mov eax, dword [ebp + 0x34]
add ebx, dword [eax + 8]
push edi
add ebx, dword [ebp + 0x3c]
add ebx, dword [ebp + 0x5c]
add dword [ebp + 0x4c], ebx
mov dword [ebp + 0x6c], ebx
call fcn.3022c07f
push 0x13
push edi
mov ebx, eax
call fcn.3022c07f
push 0xa
push edi
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x68]
xor ebx, eax
mov eax, dword [ebp + 0x68]
add ebx, dword [ebp + 0x6c]
xor eax, edi
and eax, dword [ebp + 0x58]
and ecx, edi
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x5c], eax
mov eax, dword [ebp + 0x38]
add eax, 4
and eax, 0xf
lea eax, [ebp + eax*4 - 0x18]
add esp, 0x40
mov dword [ebp + 0x2c], eax
mov eax, dword [eax]
push 0x19
push eax
mov dword [ebp + 0x54], eax
call fcn.3022c07f
push 0xe
push dword [ebp + 0x54]
mov ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x54]
shr eax, 3
xor ebx, eax
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x54], ebx
mov ebx, dword [eax]
push 0xf
push ebx
mov dword [ebp + 0x6c], ebx
call fcn.3022c07f
push 0xd
push ebx
mov dword [ebp + 0x3c], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x3c]
xor ecx, eax
mov eax, ebx
shr eax, 0xa
xor ecx, eax
mov eax, dword [ebp + 0x38]
add eax, 0xfffffffc
and eax, 0xf
add ecx, dword [ebp + eax*4 - 0x18]
mov eax, dword [ebp + 0x40]
add ecx, dword [ebp + 0x54]
push 0x1a
add dword [eax], ecx
mov eax, dword [eax]
push dword [ebp + 0x4c]
mov dword [ebp + 0x3c], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x4c]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x4c]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x50]
and ecx, dword [ebp + 0x4c]
xor ebx, eax
mov eax, dword [ebp + 0x4c]
not eax
and eax, dword [ebp + 0x60]
push 0x1e
push dword [ebp + 0x5c]
xor eax, ecx
add ebx, eax
mov eax, dword [ebp + 0x34]
add ebx, dword [eax + 0xc]
add ebx, dword [ebp + 0x3c]
add ebx, dword [ebp + 0x64]
add dword [ebp + 0x58], ebx
mov dword [ebp + 0x6c], ebx
call fcn.3022c07f
add esp, 0x40
push 0x13
push dword [ebp + 0x5c]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x5c]
xor ebx, eax
call fcn.3022c07f
xor ebx, eax
add ebx, dword [ebp + 0x6c]
mov eax, edi
xor eax, dword [ebp + 0x5c]
mov ecx, edi
and eax, dword [ebp + 0x68]
and ecx, dword [ebp + 0x5c]
push 0x19
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x38]
add eax, 5
and eax, 0xf
lea eax, [ebp + eax*4 - 0x18]
mov dword [ebp + 0x48], eax
mov eax, dword [eax]
push eax
mov dword [ebp + 0x54], eax
call fcn.3022c07f
push 0xe
push dword [ebp + 0x54]
mov ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x54]
shr eax, 3
xor ebx, eax
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x54], ebx
mov ebx, dword [eax]
push 0xf
mov dword [ebp + 0x6c], ebx
push ebx
call fcn.3022c07f
push 0xd
push ebx
mov dword [ebp + 0x3c], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x3c]
xor ecx, eax
mov eax, ebx
shr eax, 0xa
xor ecx, eax
add ecx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x28]
add ecx, dword [eax]
mov eax, dword [ebp + 0x2c]
add dword [eax], ecx
mov eax, dword [eax]
push 0x1a
push dword [ebp + 0x58]
mov dword [ebp + 0x28], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x58]
mov ebx, eax
call fcn.3022c07f
add esp, 0x40
push 7
push dword [ebp + 0x58]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x58]
and ecx, dword [ebp + 0x4c]
xor ebx, eax
mov eax, dword [ebp + 0x58]
not eax
and eax, dword [ebp + 0x50]
push 0x1e
push dword [ebp + 0x64]
xor eax, ecx
add ebx, eax
mov eax, dword [ebp + 0x34]
add ebx, dword [eax + 0x10]
add ebx, dword [ebp + 0x28]
add ebx, dword [ebp + 0x60]
add dword [ebp + 0x68], ebx
mov dword [ebp + 0x6c], ebx
call fcn.3022c07f
push 0x13
push dword [ebp + 0x64]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x64]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x5c]
and ecx, dword [ebp + 0x64]
xor ebx, eax
mov eax, dword [ebp + 0x5c]
xor eax, dword [ebp + 0x64]
add ebx, dword [ebp + 0x6c]
and eax, edi
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x38]
add eax, 6
and eax, 0xf
lea eax, [ebp + eax*4 - 0x18]
mov dword [ebp + 0x3c], eax
mov eax, dword [eax]
push 0x19
push eax
mov dword [ebp + 0x54], eax
call fcn.3022c07f
push 0xe
push dword [ebp + 0x54]
mov ebx, eax
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x54]
shr eax, 3
xor ebx, eax
mov eax, dword [ebp + 0x40]
mov dword [ebp + 0x54], ebx
mov ebx, dword [eax]
push 0xf
push ebx
mov dword [ebp + 0x6c], ebx
call fcn.3022c07f
push 0xd
push ebx
mov dword [ebp + 0x28], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x28]
xor ecx, eax
mov eax, ebx
shr eax, 0xa
xor ecx, eax
add ecx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x30]
add ecx, dword [eax]
mov eax, dword [ebp + 0x48]
add dword [eax], ecx
mov eax, dword [eax]
add esp, 0x40
push 0x1a
push dword [ebp + 0x68]
mov dword [ebp + 0x30], eax
call fcn.3022c07f
push 0x15
push dword [ebp + 0x68]
mov ebx, eax
call fcn.3022c07f
push 7
push dword [ebp + 0x68]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x58]
and ecx, dword [ebp + 0x68]
xor ebx, eax
mov eax, dword [ebp + 0x68]
not eax
and eax, dword [ebp + 0x4c]
push 0x1e
push dword [ebp + 0x60]
xor eax, ecx
add ebx, eax
mov eax, dword [ebp + 0x34]
add ebx, dword [eax + 0x14]
add ebx, dword [ebp + 0x30]
add ebx, dword [ebp + 0x50]
mov dword [ebp + 0x6c], ebx
add edi, ebx
call fcn.3022c07f
push 0x13
push dword [ebp + 0x60]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x60]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x64]
and ecx, dword [ebp + 0x60]
xor ebx, eax
mov eax, dword [ebp + 0x64]
xor eax, dword [ebp + 0x60]
add ebx, dword [ebp + 0x6c]
and eax, dword [ebp + 0x5c]
push 0x19
xor eax, ecx
add eax, ebx
mov dword [ebp + 0x50], eax
mov eax, dword [ebp + 0x38]
add eax, 7
and eax, 0xf
mov eax, dword [ebp + eax*4 - 0x18]
push eax
mov dword [ebp + 0x54], eax
call fcn.3022c07f
mov ebx, eax
push 0xe
push dword [ebp + 0x54]
call fcn.3022c07f
xor ebx, eax
mov eax, dword [ebp + 0x54]
shr eax, 3
xor ebx, eax
mov eax, dword [ebp + 0x2c]
add esp, 0x40
mov dword [ebp + 0x54], ebx
mov ebx, dword [eax]
push 0xf
push ebx
mov dword [ebp + 0x6c], ebx
call fcn.3022c07f
push 0xd
push ebx
mov dword [ebp + 0x30], eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x30]
xor ecx, eax
mov eax, ebx
shr eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x1c]
add ecx, dword [eax]
mov eax, dword [ebp + 0x3c]
add ecx, dword [ebp + 0x54]
push 0x1a
add dword [eax], ecx
mov eax, dword [eax]
push edi
mov dword [ebp + 0x30], eax
call fcn.3022c07f
push 0x15
push edi
mov ebx, eax
call fcn.3022c07f
push 7
push edi
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x68]
xor ebx, eax
mov eax, edi
not eax
and eax, dword [ebp + 0x58]
and ecx, edi
xor eax, ecx
add ebx, eax
mov eax, dword [ebp + 0x34]
add ebx, dword [eax + 0x18]
push 0x1e
add ebx, dword [ebp + 0x30]
push dword [ebp + 0x50]
add ebx, dword [ebp + 0x4c]
add dword [ebp + 0x5c], ebx
mov dword [ebp + 0x6c], ebx
call fcn.3022c07f
push 0x13
push dword [ebp + 0x50]
mov ebx, eax
call fcn.3022c07f
push 0xa
push dword [ebp + 0x50]
xor ebx, eax
call fcn.3022c07f
mov ecx, dword [ebp + 0x50]
mov edx, dword [ebp + 0x60]
xor ebx, eax
mov eax, dword [ebp + 0x60]
add ebx, dword [ebp + 0x6c]
xor edx, ecx
and edx, dword [ebp + 0x64]
and eax, ecx
xor edx, eax
add edx, ebx
mov ebx, dword [ebp + 0x38]
add esp, 0x40
add ebx, 8
mov dword [ebp + 0x4c], edx
mov dword [ebp + 0x38], ebx
add dword [ebp + 0x34], 0x20
lea eax, [ebx - 1]
cmp eax, 0x40
jl 0x3007486b
mov eax, dword [ebp + 0x78]
add dword [eax + 4], ecx
mov ecx, dword [ebp + 0x60]
add dword [eax + 8], ecx
mov ecx, dword [ebp + 0x64]
add dword [eax + 0xc], ecx
mov ecx, dword [ebp + 0x5c]
add dword [eax + 0x10], ecx
mov ecx, dword [ebp + 0x68]
add dword [eax + 0x18], ecx
mov ecx, dword [ebp + 0x58]
add dword [eax], edx
add dword [eax + 0x14], edi
add dword [eax + 0x1c], ecx
dec dword [ebp - 0x20]
jne 0x300734d6
pop edi
pop ebx
pop esi
add ebp, 0x70
leave
ret