Function at 0x86aad0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x86c4b9
sub esp, 0x7c
mov edx, dword [esp + 0x88]
cmp edx, 8
jl 0x86c49a
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x84]
jmp 0x86b72c
mov dword [esp + 0x60], edx
nop
movzx edi, byte [esi + 1]
mov eax, edi
movzx edi, byte [esi]
mov ecx, eax
shl eax, 8
or edi, eax
mov eax, edi
movzx edi, byte [esi + 2]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, eax
mov eax, edi
movzx edi, byte [esi + 3]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 8], edi
mov eax, edi
movzx edi, byte [esi + 6]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 5]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 7]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 4]
mov dword [esp + 0x64], edi
mov byte [esi], al
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr ecx, 0x18
or ecx, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x64]
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov dword [esp + 0x58], edi
mov ecx, eax
shr eax, 8
shl edi, 0x18
or edi, eax
xchg edi, eax
mov byte [esi + 1], al
xchg edi, eax
mov edi, dword [esp + 0x58]
mov eax, edi
shl edi, 0x10
shr ecx, 0x10
or ecx, edi
mov byte [esi + 2], cl
mov edi, dword [esp + 8]
shr edi, 0x18
mov ecx, eax
shl eax, 8
or eax, edi
mov byte [esi + 3], al
mov dword [esi + 4], ecx
nop
movzx edi, byte [esi + 9]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 8]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0xa]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0xb]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov dword [esp + 0x14], edi
mov ecx, edi
movzx edi, byte [esi + 0xe]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0xd]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0xf]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0xc]
mov dword [esp + 0x64], edi
mov byte [esi + 8], cl
shr eax, 0x18
mov edi, dword [esp + 0x78]
shr edi, 0x10
or eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov eax, edi
shl edi, 0x18
shr ecx, 8
or ecx, edi
mov byte [esi + 9], cl
mov edi, eax
shl eax, 0x10
mov ecx, edi
mov edi, dword [esp + 0x14]
shr edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0xa], al
xchg edi, eax
mov edi, dword [esp + 0x14]
shr edi, 0x18
mov eax, ecx
shl ecx, 8
or ecx, edi
mov byte [esi + 0xb], cl
mov dword [esi + 0xc], eax
nop
movzx edi, byte [esi + 0x11]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x10]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x12]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x13]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov dword [esp + 0x1c], edi
mov ecx, edi
movzx edi, byte [esi + 0x15]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x16]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x17]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0x14]
mov dword [esp + 0x64], edi
mov byte [esi + 0x10], cl
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr eax, 0x18
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x48], edi
mov eax, ecx
shr ecx, 8
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x11], al
xchg edi, eax
mov edi, dword [esp + 0x48]
mov ecx, edi
shl edi, 0x10
shr eax, 0x10
or eax, edi
mov byte [esi + 0x12], al
mov edi, dword [esp + 0x1c]
shr edi, 0x18
mov eax, ecx
shl ecx, 8
or ecx, edi
mov byte [esi + 0x13], cl
mov dword [esi + 0x14], eax
nop
movzx edi, byte [esi + 0x19]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x18]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x1a]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x1b]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x1e]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x1d]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x1f]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0x1c]
mov dword [esp + 0x64], edi
mov byte [esi + 0x18], cl
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr eax, 0x18
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x30], edi
mov eax, ecx
shr ecx, 8
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x19], al
xchg edi, eax
mov edi, eax
shr eax, 0x10
mov ecx, edi
mov edi, dword [esp + 0x30]
shl edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0x1a], al
xchg edi, eax
mov edi, dword [esp + 0x30]
mov eax, edi
shl edi, 8
shr ecx, 0x18
or ecx, edi
mov byte [esi + 0x1b], cl
mov dword [esi + 0x1c], eax
nop
movzx edi, byte [esi + 0x23]
mov eax, edi
movzx edi, byte [esi + 0x22]
mov ecx, edi
movzx edi, byte [esi + 0x21]
mov dword [esp + 0x78], edi
shl edi, 8
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x20]
mov edx, dword [esp + 0x74]
or edi, edx
mov edx, ecx
shl ecx, 0x10
or ecx, edi
mov edi, eax
shl eax, 0x18
or eax, ecx
xor eax, ebx
mov ecx, edi
movzx edi, byte [esi + 0x26]
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x25]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x27]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x24]
mov dword [esp + 0x68], edi
mov byte [esi + 0x20], al
shr edx, 0x10
mov edi, dword [esp + 0x78]
shr edi, 0x18
or edx, edi
shr ecx, 8
or ecx, edx
mov edi, dword [esp + 0x68]
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x6c]
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
shl edi, 0x18
mov edx, eax
shr eax, 8
or eax, edi
mov byte [esi + 0x21], al
mov edi, ecx
shl ecx, 0x10
mov eax, edx
shr edx, 0x10
or edx, ecx
mov byte [esi + 0x22], dl
shr eax, 0x18
mov ecx, edi
shl edi, 8
or edi, eax
xchg edi, eax
mov byte [esi + 0x23], al
xchg edi, eax
mov dword [esi + 0x24], ecx
nop
movzx edi, byte [esi + 0x29]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x28]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x2a]
mov edx, edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x2b]
mov dword [esp + 0x78], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x2e]
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x2d]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x2f]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x2c]
mov byte [esi + 0x28], cl
shr edx, 0x10
shr eax, 0x18
or edx, eax
mov eax, edi
mov edi, dword [esp + 0x78]
shr edi, 8
or edi, edx
or eax, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov eax, edi
shl edi, 0x18
mov edx, ecx
shr ecx, 8
or ecx, edi
mov byte [esi + 0x29], cl
mov edi, eax
shl eax, 0x10
mov ecx, edx
shr edx, 0x10
or edx, eax
mov byte [esi + 0x2a], dl
mov eax, edi
shl edi, 8
shr ecx, 0x18
or ecx, edi
mov byte [esi + 0x2b], cl
mov dword [esi + 0x2c], eax
nop
movzx edi, byte [esi + 0x31]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x30]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x32]
mov edx, edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x33]
mov dword [esp + 0x78], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x36]
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x35]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x34]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x37]
mov byte [esi + 0x30], cl
shr edx, 0x10
shr eax, 0x18
or edx, eax
mov eax, edi
mov edi, dword [esp + 0x78]
shr edi, 8
or edi, edx
mov edx, edi
mov edi, dword [esp + 0x6c]
or edi, edx
mov edx, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, edx
mov edx, edi
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, edx
shl eax, 0x18
or eax, edi
xor eax, ebx
mov edi, eax
shl eax, 0x18
mov edx, ecx
shr ecx, 8
or ecx, eax
mov byte [esi + 0x31], cl
mov eax, edx
shr edx, 0x10
mov ecx, edi
shl edi, 0x10
or edi, edx
xchg edi, eax
mov byte [esi + 0x32], al
xchg edi, eax
shr eax, 0x18
mov edi, ecx
shl ecx, 8
or ecx, eax
mov byte [esi + 0x33], cl
mov dword [esi + 0x34], edi
nop
movzx edi, byte [esi + 0x39]
mov eax, edi
movzx edi, byte [esi + 0x3a]
mov ecx, eax
shl eax, 8
mov edx, edi
movzx edi, byte [esi + 0x38]
or edi, eax
mov eax, edx
shl edx, 0x10
or edx, edi
movzx edi, byte [esi + 0x3b]
mov dword [esp + 0x78], edi
shl edi, 0x18
or edi, edx
xor edi, ebx
mov edx, edi
movzx edi, byte [esi + 0x3e]
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x3d]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x3f]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x3c]
mov byte [esi + 0x38], dl
shr eax, 0x10
shr ecx, 0x18
or eax, ecx
mov ecx, edi
mov edi, dword [esp + 0x78]
shr edi, 8
or edi, eax
or ecx, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, ecx
mov eax, edi
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov eax, edx
shr edx, 8
mov ecx, edi
shl edi, 0x18
or edi, edx
xchg edi, eax
mov byte [esi + 0x39], al
xchg edi, eax
mov edi, eax
shr eax, 0x10
mov edx, ecx
shl ecx, 0x10
or ecx, eax
mov byte [esi + 0x3a], cl
mov eax, edx
shl edx, 8
shr edi, 0x18
or edi, edx
xchg edi, eax
mov byte [esi + 0x3b], al
xchg edi, eax
mov dword [esi + 0x3c], eax
nop
movzx edi, byte [esi + 0x41]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x40]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x42]
mov edx, edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x43]
mov dword [esp + 0x78], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x46]
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x45]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x47]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x44]
mov byte [esi + 0x40], cl
shr eax, 0x18
shr edx, 0x10
or eax, edx
mov edx, edi
mov edi, dword [esp + 0x78]
shr edi, 8
or edi, eax
or edx, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, edx
mov eax, edi
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov eax, edi
shl edi, 0x18
mov edx, ecx
shr ecx, 8
or ecx, edi
mov byte [esi + 0x41], cl
mov edi, eax
shl eax, 0x10
mov ecx, edx
shr edx, 0x10
or edx, eax
mov byte [esi + 0x42], dl
mov eax, edi
shl edi, 8
shr ecx, 0x18
or ecx, edi
mov byte [esi + 0x43], cl
mov dword [esi + 0x44], eax
nop
movzx edi, byte [esi + 0x4b]
mov eax, edi
movzx edi, byte [esi + 0x49]
mov ecx, edi
shl edi, 8
mov edx, edi
movzx edi, byte [esi + 0x48]
or edx, edi
movzx edi, byte [esi + 0x4a]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, edx
mov edx, eax
shl eax, 0x18
or eax, edi
xor eax, ebx
movzx edi, byte [esi + 0x4e]
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x4d]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x4c]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x4f]
mov dword [esp + 0x68], edi
mov byte [esi + 0x48], al
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr ecx, 0x18
or edi, ecx
shr edx, 8
or edx, edi
mov edi, dword [esp + 0x6c]
or edi, edx
mov ecx, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
shl edi, 0x18
mov edx, eax
shr eax, 8
or eax, edi
mov byte [esi + 0x49], al
mov edi, ecx
shl ecx, 0x10
mov eax, edx
shr edx, 0x10
or edx, ecx
mov byte [esi + 0x4a], dl
mov ecx, edi
shl edi, 8
shr eax, 0x18
or eax, edi
mov byte [esi + 0x4b], al
mov dword [esi + 0x4c], ecx
nop
movzx edi, byte [esi + 0x51]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x50]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x52]
mov edx, edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x53]
mov dword [esp + 0x78], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x56]
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x55]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x57]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x54]
mov byte [esi + 0x50], cl
shr eax, 0x18
shr edx, 0x10
or eax, edx
mov edx, edi
mov edi, dword [esp + 0x78]
shr edi, 8
or edi, eax
or edx, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, edx
mov eax, edi
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov eax, ecx
shr ecx, 8
mov edx, edi
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x51], al
xchg edi, eax
mov edi, edx
shl edx, 0x10
mov ecx, eax
shr eax, 0x10
or eax, edx
mov byte [esi + 0x52], al
mov eax, edi
shl edi, 8
shr ecx, 0x18
or ecx, edi
mov byte [esi + 0x53], cl
mov dword [esi + 0x54], eax
nop
movzx edi, byte [esi + 0x59]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x58]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x5a]
mov edx, edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x5b]
mov dword [esp + 0x78], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x5e]
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x5d]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x5f]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x5c]
mov byte [esi + 0x58], cl
shr eax, 0x18
shr edx, 0x10
or eax, edx
mov edx, edi
mov edi, dword [esp + 0x78]
shr edi, 8
or edi, eax
or edx, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, edx
mov eax, edi
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov eax, ecx
shr ecx, 8
mov edx, edi
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x59], al
xchg edi, eax
mov edi, edx
shl edx, 0x10
mov ecx, eax
shr eax, 0x10
or eax, edx
mov byte [esi + 0x5a], al
shr ecx, 0x18
mov eax, edi
shl edi, 8
or edi, ecx
xchg edi, eax
mov byte [esi + 0x5b], al
xchg edi, eax
mov dword [esi + 0x5c], eax
nop
movzx edi, byte [esi + 0x61]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x60]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x62]
mov edx, edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x63]
mov dword [esp + 0x78], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x66]
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x65]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x67]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x64]
mov byte [esi + 0x60], cl
shr eax, 0x18
shr edx, 0x10
or eax, edx
mov edx, edi
mov edi, dword [esp + 0x78]
shr edi, 8
or edi, eax
or edx, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, edx
mov eax, edi
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov eax, edi
shl edi, 0x18
mov edx, ecx
shr ecx, 8
or ecx, edi
mov byte [esi + 0x61], cl
mov edi, eax
shl eax, 0x10
mov ecx, edx
shr edx, 0x10
or edx, eax
mov byte [esi + 0x62], dl
shr ecx, 0x18
mov eax, edi
shl edi, 8
or edi, ecx
xchg edi, eax
mov byte [esi + 0x63], al
xchg edi, eax
mov dword [esi + 0x64], eax
nop
movzx edi, byte [esi + 0x69]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x68]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x6a]
mov edx, edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x6b]
mov dword [esp + 0x78], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x6e]
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x6d]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x6c]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x6f]
mov byte [esi + 0x68], cl
shr eax, 0x18
shr edx, 0x10
or eax, edx
mov edx, edi
mov edi, dword [esp + 0x78]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, eax
shl edx, 0x18
or edx, edi
xor edx, ebx
mov edi, edx
shl edx, 0x18
mov eax, ecx
shr ecx, 8
or ecx, edx
mov byte [esi + 0x69], cl
mov ecx, eax
shr eax, 0x10
mov edx, edi
shl edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0x6a], al
xchg edi, eax
mov edi, edx
shl edx, 8
shr ecx, 0x18
or ecx, edx
mov byte [esi + 0x6b], cl
mov dword [esi + 0x6c], edi
nop
movzx edi, byte [esi + 0x71]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x70]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x72]
mov edx, edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x73]
mov dword [esp + 0x78], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x76]
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x75]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x77]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x74]
mov byte [esi + 0x70], cl
shr eax, 0x18
shr edx, 0x10
or eax, edx
mov edx, edi
mov edi, dword [esp + 0x78]
shr edi, 8
or edi, eax
or edx, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, edx
mov eax, edi
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov eax, ecx
shr ecx, 8
mov edx, edi
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x71], al
xchg edi, eax
mov edi, edx
shl edx, 0x10
mov ecx, eax
shr eax, 0x10
or eax, edx
mov byte [esi + 0x72], al
mov eax, edi
shl edi, 8
shr ecx, 0x18
or ecx, edi
mov byte [esi + 0x73], cl
mov dword [esi + 0x74], eax
nop
movzx edi, byte [esi + 0x79]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x78]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x7a]
mov edx, edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x7b]
mov dword [esp + 0x78], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x7e]
mov dword [esp + 0x74], edi
movzx edi, byte [esi + 0x7d]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x7c]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x7f]
mov byte [esi + 0x78], cl
shr eax, 0x18
shr edx, 0x10
or eax, edx
mov edx, edi
mov edi, dword [esp + 0x78]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shl edi, 0x10
or edi, eax
shl edx, 0x18
or edx, edi
xor edx, ebx
mov edi, ecx
shr ecx, 8
mov eax, edx
shl edx, 0x18
or edx, ecx
mov byte [esi + 0x79], dl
mov ecx, eax
shl eax, 0x10
mov edx, edi
shr edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0x7a], al
xchg edi, eax
shr edx, 0x18
mov edi, ecx
shl ecx, 8
or ecx, edx
mov byte [esi + 0x7b], cl
mov dword [esi + 0x7c], edi
add ebp, 0xffffff80
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 0x80
add esi, ebp
mov eax, edi
mov edi, dword [esp + 0x60]
lea edx, [edi - 0x80]
mov ebp, eax
cmp edx, 0x80
jge 0x86ab13
jmp 0x86bdf9
nop
movzx edi, byte [esi + 1]
mov eax, edi
movzx edi, byte [esi]
mov ecx, eax
shl eax, 8
or edi, eax
mov eax, edi
movzx edi, byte [esi + 2]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, eax
mov eax, edi
movzx edi, byte [esi + 3]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x10], edi
mov eax, edi
movzx edi, byte [esi + 6]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 5]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 7]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 4]
mov dword [esp + 0x64], edi
mov byte [esi], al
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr ecx, 0x18
or ecx, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x64]
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
shl edi, 0x18
shr eax, 8
or eax, edi
mov byte [esi + 1], al
mov edi, ecx
shl ecx, 0x10
mov eax, edi
mov edi, dword [esp + 0x10]
shr edi, 0x10
or edi, ecx
xchg edi, eax
mov byte [esi + 2], al
xchg edi, eax
mov edi, dword [esp + 0x10]
shr edi, 0x18
mov ecx, eax
shl eax, 8
or eax, edi
mov byte [esi + 3], al
mov dword [esi + 4], ecx
nop
movzx edi, byte [esi + 9]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 8]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0xa]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0xb]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov dword [esp + 0x18], edi
mov ecx, edi
movzx edi, byte [esi + 0xe]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0xd]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0xf]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0xc]
mov dword [esp + 0x64], edi
mov byte [esi + 8], cl
shr eax, 0x18
mov edi, dword [esp + 0x78]
shr edi, 0x10
or eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x34], edi
mov eax, edi
shl edi, 0x18
shr ecx, 8
or ecx, edi
mov byte [esi + 9], cl
mov edi, dword [esp + 0x18]
mov ecx, edi
shr edi, 0x10
shl eax, 0x10
or eax, edi
mov byte [esi + 0xa], al
mov edi, dword [esp + 0x34]
mov eax, edi
shl edi, 8
shr ecx, 0x18
or ecx, edi
mov byte [esi + 0xb], cl
mov dword [esi + 0xc], eax
nop
movzx edi, byte [esi + 0x11]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x10]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x12]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x13]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov dword [esp + 0xc], edi
mov ecx, edi
movzx edi, byte [esi + 0x15]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x16]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x17]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0x14]
mov dword [esp + 0x64], edi
mov byte [esi + 0x10], cl
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr eax, 0x18
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov eax, edi
shl edi, 0x18
shr ecx, 8
or ecx, edi
mov byte [esi + 0x11], cl
mov edi, eax
shl eax, 0x10
mov ecx, edi
mov edi, dword [esp + 0xc]
shr edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0x12], al
xchg edi, eax
mov edi, ecx
shl ecx, 8
mov eax, edi
mov edi, dword [esp + 0xc]
shr edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x13], al
xchg edi, eax
mov dword [esi + 0x14], eax
nop
movzx edi, byte [esi + 0x19]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x18]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x1a]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x1b]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x1e]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x1d]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x1f]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0x1c]
mov dword [esp + 0x64], edi
mov byte [esi + 0x18], cl
shr eax, 0x18
mov edi, dword [esp + 0x78]
shr edi, 0x10
or eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x40], edi
mov eax, ecx
shr ecx, 8
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x19], al
xchg edi, eax
mov edi, eax
shr eax, 0x10
mov ecx, edi
mov edi, dword [esp + 0x40]
shl edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0x1a], al
xchg edi, eax
shr ecx, 0x18
mov edi, dword [esp + 0x40]
mov eax, edi
shl edi, 8
or edi, ecx
xchg edi, eax
mov byte [esi + 0x1b], al
xchg edi, eax
mov dword [esi + 0x1c], eax
nop
movzx edi, byte [esi + 0x21]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x20]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x22]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x23]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x26]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x25]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x27]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0x24]
mov dword [esp + 0x64], edi
mov byte [esi + 0x20], cl
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr eax, 0x18
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x44], edi
mov eax, ecx
shr ecx, 8
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x21], al
xchg edi, eax
mov edi, eax
shr eax, 0x10
mov ecx, edi
mov edi, dword [esp + 0x44]
shl edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0x22], al
xchg edi, eax
shr ecx, 0x18
mov edi, dword [esp + 0x44]
mov eax, edi
shl edi, 8
or edi, ecx
xchg edi, eax
mov byte [esi + 0x23], al
xchg edi, eax
mov dword [esi + 0x24], eax
nop
movzx edi, byte [esi + 0x29]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x28]
or ecx, edi
movzx edi, byte [esi + 0x2a]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x2b]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x2e]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x2d]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x2c]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0x2f]
mov dword [esp + 0x64], edi
mov byte [esi + 0x28], cl
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr eax, 0x18
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x50], edi
mov eax, ecx
shr ecx, 8
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x29], al
xchg edi, eax
mov edi, eax
shr eax, 0x10
mov ecx, edi
mov edi, dword [esp + 0x50]
shl edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0x2a], al
xchg edi, eax
shr ecx, 0x18
mov edi, dword [esp + 0x50]
mov eax, edi
shl edi, 8
or edi, ecx
xchg edi, eax
mov byte [esi + 0x2b], al
xchg edi, eax
mov dword [esi + 0x2c], eax
nop
movzx edi, byte [esi + 0x31]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x30]
or ecx, edi
movzx edi, byte [esi + 0x32]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x33]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x36]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x35]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x37]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0x34]
mov dword [esp + 0x64], edi
mov byte [esi + 0x30], cl
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr eax, 0x18
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x38], edi
mov eax, ecx
shr ecx, 8
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x31], al
xchg edi, eax
mov edi, eax
shr eax, 0x10
mov ecx, edi
mov edi, dword [esp + 0x38]
shl edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0x32], al
xchg edi, eax
shr ecx, 0x18
mov edi, dword [esp + 0x38]
mov eax, edi
shl edi, 8
or edi, ecx
xchg edi, eax
mov byte [esi + 0x33], al
xchg edi, eax
mov dword [esi + 0x34], eax
nop
movzx edi, byte [esi + 0x39]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x38]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x3a]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x3b]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x3e]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x3d]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x3f]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0x3c]
mov dword [esp + 0x64], edi
mov byte [esi + 0x38], cl
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr eax, 0x18
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x24], edi
mov eax, ecx
shr ecx, 8
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x39], al
xchg edi, eax
mov edi, eax
shr eax, 0x10
mov ecx, edi
mov edi, dword [esp + 0x24]
shl edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0x3a], al
xchg edi, eax
shr ecx, 0x18
mov edi, dword [esp + 0x24]
mov eax, edi
shl edi, 8
or edi, ecx
xchg edi, eax
mov byte [esi + 0x3b], al
xchg edi, eax
mov dword [esi + 0x3c], eax
add ebp, 0xffffffc0
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 0x40
add esi, ebp
add edx, 0xffffffc0
mov ebp, edi
cmp edx, 0x40
jge 0x86b73d
jmp 0x86c175
nop
movzx edi, byte [esi]
mov eax, edi
movzx edi, byte [esi + 1]
mov ecx, edi
shl edi, 8
or edi, eax
mov eax, edi
movzx edi, byte [esi + 2]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, eax
mov eax, edi
movzx edi, byte [esi + 3]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, eax
xor edi, ebx
mov eax, edi
movzx edi, byte [esi + 6]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 5]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 4]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 7]
mov dword [esp + 0x64], edi
mov byte [esi], al
shr ecx, 0x18
mov edi, dword [esp + 0x78]
shr edi, 0x10
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x68]
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x64]
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov dword [esp + 0x20], edi
mov ecx, eax
shr eax, 8
shl edi, 0x18
or edi, eax
xchg edi, eax
mov byte [esi + 1], al
xchg edi, eax
mov edi, ecx
shr ecx, 0x10
mov eax, edi
mov edi, dword [esp + 0x20]
shl edi, 0x10
or edi, ecx
xchg edi, eax
mov byte [esi + 2], al
xchg edi, eax
shr eax, 0x18
mov edi, dword [esp + 0x20]
mov ecx, edi
shl edi, 8
or edi, eax
xchg edi, eax
mov byte [esi + 3], al
xchg edi, eax
mov dword [esi + 4], ecx
nop
movzx edi, byte [esi + 9]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 8]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0xa]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0xb]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0xe]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0xd]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0xf]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0xc]
mov dword [esp + 0x64], edi
mov byte [esi + 8], cl
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr eax, 0x18
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x5c], edi
mov eax, ecx
shr ecx, 8
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 9], al
xchg edi, eax
mov edi, eax
shr eax, 0x10
mov ecx, edi
mov edi, dword [esp + 0x5c]
shl edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0xa], al
xchg edi, eax
shr ecx, 0x18
mov edi, dword [esp + 0x5c]
mov eax, edi
shl edi, 8
or edi, ecx
xchg edi, eax
mov byte [esi + 0xb], al
xchg edi, eax
mov dword [esi + 0xc], eax
nop
movzx edi, byte [esi + 0x11]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x10]
or ecx, edi
movzx edi, byte [esi + 0x12]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x13]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x16]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x15]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x14]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0x17]
mov dword [esp + 0x64], edi
mov byte [esi + 0x10], cl
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr eax, 0x18
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x4c], edi
mov eax, ecx
shr ecx, 8
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x11], al
xchg edi, eax
mov edi, eax
shr eax, 0x10
mov ecx, edi
mov edi, dword [esp + 0x4c]
shl edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0x12], al
xchg edi, eax
shr ecx, 0x18
mov edi, dword [esp + 0x4c]
mov eax, edi
shl edi, 8
or edi, ecx
xchg edi, eax
mov byte [esi + 0x13], al
xchg edi, eax
mov dword [esi + 0x14], eax
nop
movzx edi, byte [esi + 0x19]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 0x18]
or ecx, edi
movzx edi, byte [esi + 0x1a]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0x1b]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0x1e]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0x1d]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0x1f]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0x1c]
mov dword [esp + 0x64], edi
mov byte [esi + 0x18], cl
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr eax, 0x18
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x3c], edi
mov eax, ecx
shr ecx, 8
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 0x19], al
xchg edi, eax
mov edi, eax
shr eax, 0x10
mov ecx, edi
mov edi, dword [esp + 0x3c]
shl edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0x1a], al
xchg edi, eax
shr ecx, 0x18
mov edi, dword [esp + 0x3c]
mov eax, edi
shl edi, 8
or edi, ecx
xchg edi, eax
mov byte [esi + 0x1b], al
xchg edi, eax
mov dword [esi + 0x1c], eax
add ebp, 0xffffffe0
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 0x20
add esi, ebp
add edx, 0xffffffe0
mov ebp, edi
cmp edx, 0x20
jge 0x86be07
jmp 0x86c347
nop
movzx edi, byte [esi + 1]
mov eax, edi
movzx edi, byte [esi]
mov ecx, eax
shl eax, 8
or edi, eax
mov eax, edi
movzx edi, byte [esi + 2]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, eax
mov eax, edi
movzx edi, byte [esi + 3]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, eax
xor edi, ebx
mov eax, edi
movzx edi, byte [esi + 6]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 5]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 7]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 4]
mov dword [esp + 0x64], edi
mov byte [esi], al
shr ecx, 0x18
mov edi, dword [esp + 0x78]
shr edi, 0x10
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x64]
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov dword [esp + 0x2c], edi
mov ecx, eax
shr eax, 8
shl edi, 0x18
or edi, eax
xchg edi, eax
mov byte [esi + 1], al
xchg edi, eax
mov edi, ecx
shr ecx, 0x10
mov eax, edi
mov edi, dword [esp + 0x2c]
shl edi, 0x10
or edi, ecx
xchg edi, eax
mov byte [esi + 2], al
xchg edi, eax
shr eax, 0x18
mov edi, dword [esp + 0x2c]
mov ecx, edi
shl edi, 8
or edi, eax
xchg edi, eax
mov byte [esi + 3], al
xchg edi, eax
mov dword [esi + 4], ecx
nop
movzx edi, byte [esi + 9]
mov eax, edi
shl edi, 8
mov ecx, edi
movzx edi, byte [esi + 8]
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0xa]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, ecx
mov ecx, edi
movzx edi, byte [esi + 0xb]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov ecx, edi
movzx edi, byte [esi + 0xe]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 0xd]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 0xf]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 0xc]
mov dword [esp + 0x64], edi
mov byte [esi + 8], cl
mov edi, dword [esp + 0x78]
shr edi, 0x10
shr eax, 0x18
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x64]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, eax
xor edi, ebx
mov dword [esp + 0x28], edi
mov eax, ecx
shr ecx, 8
shl edi, 0x18
or edi, ecx
xchg edi, eax
mov byte [esi + 9], al
xchg edi, eax
mov edi, eax
shr eax, 0x10
mov ecx, edi
mov edi, dword [esp + 0x28]
shl edi, 0x10
or edi, eax
xchg edi, eax
mov byte [esi + 0xa], al
xchg edi, eax
shr ecx, 0x18
mov edi, dword [esp + 0x28]
mov eax, edi
shl edi, 8
or edi, ecx
xchg edi, eax
mov byte [esi + 0xb], al
xchg edi, eax
mov dword [esi + 0xc], eax
add ebp, 0xfffffff0
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 0x10
add esi, ebp
add edx, 0xfffffff0
mov ebp, edi
cmp edx, 0x10
jge 0x86c183
jmp 0x86c442
nop
movzx edi, byte [esi + 1]
mov eax, edi
movzx edi, byte [esi]
mov ecx, eax
shl eax, 8
or edi, eax
mov eax, edi
movzx edi, byte [esi + 2]
mov dword [esp + 0x78], edi
shl edi, 0x10
or edi, eax
mov eax, edi
movzx edi, byte [esi + 3]
mov dword [esp + 0x74], edi
shl edi, 0x18
or edi, eax
xor edi, ebx
mov eax, edi
movzx edi, byte [esi + 6]
mov dword [esp + 0x70], edi
movzx edi, byte [esi + 5]
mov dword [esp + 0x6c], edi
movzx edi, byte [esi + 7]
mov dword [esp + 0x68], edi
movzx edi, byte [esi + 4]
mov dword [esp + 0x64], edi
mov byte [esi], al
shr ecx, 0x18
mov edi, dword [esp + 0x78]
shr edi, 0x10
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x74]
shr edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x64]
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x6c]
shl edi, 8
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x70]
shl edi, 0x10
or edi, ecx
mov ecx, edi
mov edi, dword [esp + 0x68]
shl edi, 0x18
or edi, ecx
xor edi, ebx
mov dword [esp + 0x54], edi
mov ecx, eax
shr eax, 8
shl edi, 0x18
or edi, eax
xchg edi, eax
mov byte [esi + 1], al
xchg edi, eax
mov edi, ecx
shr ecx, 0x10
mov eax, edi
mov edi, dword [esp + 0x54]
shl edi, 0x10
or edi, ecx
xchg edi, eax
mov byte [esi + 2], al
xchg edi, eax
shr eax, 0x18
mov edi, dword [esp + 0x54]
mov ecx, edi
shl edi, 8
or edi, eax
xchg edi, eax
mov byte [esi + 3], al
xchg edi, eax
mov dword [esi + 4], ecx
add ebp, 0xfffffff8
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 8
add esi, ebp
add edx, 0xfffffff8
mov ebp, edi
cmp edx, 8
jge 0x86c355
jmp 0x86c46c
nop
mov edi, dword [esi]
xor edi, ebx
mov dword [esi], edi
add ebp, 0xfffffffc
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 4
add esi, ebp
add edx, 0xfffffffc
mov ebp, edi
cmp edx, 4
jge 0x86c44d
xor eax, eax
jmp 0x86c487
movzx ebp, byte [esi + eax]
xor ebp, ebx
xchg ebp, ebx
mov byte [esi + eax], bl
xchg ebp, ebx
inc eax
nop
rol ebx, 0x18
cmp eax, edx
jge 0x86c48f
jb 0x86c475
jmp 0x86c4b1
mov dword [esp + 0x90], ebx
add esp, 0x7c
ret
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov ebp, dword [esp + 0x8c]
jmp 0x86c46c
mov ecx, edx
call fcn.00457060
nop
call fcn.004557a0
jmp fcn.0086aad0