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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x170
movzx ebx, byte [eax]
movzx esi, byte [eax + 1]
movzx edi, byte [eax + 3]
mov ecx, ebx
sub ecx, esi
add esi, ebx
movzx ebx, byte [eax + 2]
shl ecx, 0x10
lea esi, [ecx + esi]
mov ecx, ebx
sub ecx, edi
lea ebx, [edi + ebx]
shl ecx, 0x10
add ecx, ebx
lea ebx, [ecx + esi]
sub esi, ecx
mov dword [esp + 0x74], esi
movzx ecx, byte [eax + 4]
movzx edi, byte [eax + 5]
movzx ebp, byte [eax + 7]
mov esi, ecx
sub esi, edi
lea ecx, [edi + ecx]
movzx edi, byte [eax + 6]
add eax, edx
shl esi, 0x10
lea ecx, [esi + ecx]
mov esi, edi
sub esi, ebp
lea edi, [ebp + edi]
shl esi, 0x10
add esi, edi
lea edi, [esi + ecx]
sub ecx, esi
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edi
movzx esi, byte [eax]
movzx edi, byte [eax + 1]
movzx ebp, byte [eax + 3]
mov ecx, esi
sub ecx, edi
lea esi, [edi + esi]
movzx edi, byte [eax + 2]
shl ecx, 0x10
lea esi, [ecx + esi]
mov ecx, edi
sub ecx, ebp
lea edi, [ebp + edi]
shl ecx, 0x10
add ecx, edi
lea ebp, [ecx + esi]
sub esi, ecx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x18], esi
movzx esi, byte [eax + 4]
movzx edi, byte [eax + 5]
movzx ebp, byte [eax + 7]
mov ecx, esi
sub ecx, edi
lea esi, [edi + esi]
movzx edi, byte [eax + 6]
add eax, edx
shl ecx, 0x10
lea esi, [ecx + esi]
mov ecx, edi
sub ecx, ebp
shl ecx, 0x10
lea edi, [ebp + edi]
lea edi, [ecx + edi]
lea ecx, [edi + esi]
sub esi, edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], ecx
movzx ecx, byte [eax]
movzx edi, byte [eax + 1]
movzx ebp, byte [eax + 3]
mov esi, ecx
sub esi, edi
lea ecx, [edi + ecx]
movzx edi, byte [eax + 2]
shl esi, 0x10
lea ecx, [esi + ecx]
mov esi, edi
sub esi, ebp
lea edi, [ebp + edi]
shl esi, 0x10
add esi, edi
lea edi, [esi + ecx]
sub ecx, esi
mov dword [esp + 4], edi
mov dword [esp + 0x54], ecx
movzx esi, byte [eax + 4]
movzx edi, byte [eax + 5]
movzx ebp, byte [eax + 7]
mov ecx, esi
sub ecx, edi
lea esi, [edi + esi]
movzx edi, byte [eax + 6]
shl ecx, 0x10
lea esi, [ecx + esi]
mov ecx, edi
sub ecx, ebp
shl ecx, 0x10
lea edi, [ebp + edi]
lea edi, [ecx + edi]
lea ebp, [edi + esi]
sub esi, edi
lea ecx, [eax + edx]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x58], esi
movzx esi, byte [ecx]
movzx edi, byte [ecx + 1]
movzx ebp, byte [ecx + 3]
mov eax, esi
sub eax, edi
lea esi, [edi + esi]
movzx edi, byte [ecx + 2]
shl eax, 0x10
lea esi, [eax + esi]
mov eax, edi
sub eax, ebp
lea edi, [ebp + edi]
shl eax, 0x10
add eax, edi
lea edi, [eax + esi]
sub esi, eax
mov dword [esp + 8], edi
mov dword [esp + 0x1c], esi
movzx esi, byte [ecx + 4]
movzx edi, byte [ecx + 5]
movzx ebp, byte [ecx + 7]
mov eax, esi
sub eax, edi
lea esi, [edi + esi]
movzx edi, byte [ecx + 6]
add ecx, edx
shl eax, 0x10
lea esi, [eax + esi]
mov eax, edi
sub eax, ebp
shl eax, 0x10
lea edi, [ebp + edi]
lea edi, [eax + edi]
lea ebp, [edi + esi]
sub esi, edi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x30], esi
movzx esi, byte [ecx]
movzx edi, byte [ecx + 1]
movzx ebp, byte [ecx + 3]
mov eax, esi
sub eax, edi
lea esi, [edi + esi]
movzx edi, byte [ecx + 2]
shl eax, 0x10
lea esi, [eax + esi]
mov eax, edi
sub eax, ebp
shl eax, 0x10
lea edi, [ebp + edi]
lea edi, [eax + edi]
lea eax, [edi + esi]
sub esi, edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], esi
movzx esi, byte [ecx + 4]
movzx edi, byte [ecx + 5]
movzx ebp, byte [ecx + 7]
mov eax, esi
sub eax, edi
lea esi, [edi + esi]
movzx edi, byte [ecx + 6]
add ecx, edx
shl eax, 0x10
lea esi, [eax + esi]
mov eax, edi
sub eax, ebp
shl eax, 0x10
lea edi, [ebp + edi]
lea edi, [eax + edi]
lea ebp, [edi + esi]
sub esi, edi
mov dword [esp + 0x48], ebp
mov dword [esp + 0xc0], esi
movzx esi, byte [ecx]
movzx edi, byte [ecx + 1]
movzx ebp, byte [ecx + 3]
mov eax, esi
sub eax, edi
lea esi, [edi + esi]
movzx edi, byte [ecx + 2]
shl eax, 0x10
lea esi, [eax + esi]
mov eax, edi
sub eax, ebp
shl eax, 0x10
lea edi, [ebp + edi]
lea edi, [eax + edi]
lea eax, [edi + esi]
sub esi, edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x5c], esi
movzx esi, byte [ecx + 4]
movzx edi, byte [ecx + 5]
movzx ebp, byte [ecx + 7]
mov eax, esi
sub eax, edi
lea esi, [edi + esi]
movzx edi, byte [ecx + 6]
add ecx, edx
shl eax, 0x10
lea esi, [eax + esi]
mov eax, edi
sub eax, ebp
shl eax, 0x10
lea edi, [ebp + edi]
lea edi, [eax + edi]
lea ebp, [edi + esi]
sub esi, edi
mov dword [esp + 0xc4], esi
mov dword [esp + 0x4c], ebp
movzx eax, byte [ecx]
movzx edi, byte [ecx + 1]
movzx ebp, byte [ecx + 3]
mov esi, eax
sub esi, edi
lea eax, [edi + eax]
movzx edi, byte [ecx + 2]
shl esi, 0x10
lea eax, [esi + eax]
mov esi, edi
sub esi, ebp
lea edi, [ebp + edi]
shl esi, 0x10
add esi, edi
lea edi, [esi + eax]
sub eax, esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], edi
movzx esi, byte [ecx + 4]
movzx edi, byte [ecx + 5]
movzx ebp, byte [ecx + 7]
mov eax, esi
sub eax, edi
lea esi, [edi + esi]
movzx edi, byte [ecx + 6]
add ecx, edx
shl eax, 0x10
lea esi, [eax + esi]
mov eax, edi
sub eax, ebp
shl eax, 0x10
lea edi, [ebp + edi]
lea edi, [eax + edi]
lea ebp, [edi + esi]
sub esi, edi
mov dword [esp + 0x50], ebp
mov dword [esp + 0xc8], esi
movzx edx, byte [ecx]
movzx esi, byte [ecx + 1]
movzx edi, byte [ecx + 3]
mov eax, edx
sub eax, esi
lea edx, [esi + edx]
movzx esi, byte [ecx + 2]
shl eax, 0x10
lea edx, [eax + edx]
mov eax, esi
sub eax, edi
shl eax, 0x10
lea esi, [edi + esi]
lea esi, [eax + esi]
lea eax, [esi + edx]
sub edx, esi
mov dword [esp + 0x80], edx
movzx esi, byte [ecx + 4]
movzx edi, byte [ecx + 5]
mov edx, esi
sub edx, edi
lea esi, [edi + esi]
movzx edi, byte [ecx + 6]
movzx ecx, byte [ecx + 7]
shl edx, 0x10
lea esi, [edx + esi]
mov edx, edi
sub edx, ecx
lea edi, [ecx + edi]
shl edx, 0x10
add edx, edi
lea ecx, [edx + esi]
sub esi, edx
mov edx, dword [esp + 8]
mov dword [esp + 0xcc], esi
mov esi, dword [esp + 0x70]
add edx, dword [esp + 4]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 4]
sub ecx, dword [esp + 8]
add esi, ebx
lea edi, [edx + esi]
sub ebx, dword [esp + 0x70]
sub esi, edx
mov edx, edi
shr edx, 0xf
and edx, 0x10001
lea ebp, [ecx + ebx]
sub ebx, ecx
mov ecx, edx
shl ecx, 0x10
sub ecx, edx
mov edx, ebp
shr edx, 0xf
and edx, 0x10001
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x60], ebx
mov ebx, edx
shl ebx, 0x10
sub ebx, edx
mov edx, esi
shr edx, 0xf
and edx, 0x10001
mov dword [esp + 8], esi
mov esi, edx
shl esi, 0x10
sub esi, edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x10], ebp
mov dword [esp + 0xd8], esi
mov esi, dword [esp + 0x1c]
add esi, dword [esp + 0x54]
shr edx, 0xf
and edx, 0x10001
mov ebp, edx
shl ebp, 0x10
sub ebp, edx
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x54]
sub ecx, dword [esp + 0x1c]
sub edi, dword [esp + 0x18]
mov dword [esp], ebx
lea ebx, [esi + edx]
sub edx, esi
mov dword [esp + 0x54], edx
mov edx, ebx
shr edx, 0xf
lea esi, [ecx + edi]
and edx, 0x10001
sub edi, ecx
mov dword [esp + 0xd0], edi
mov edi, edx
shl edi, 0x10
sub edi, edx
mov edx, esi
shr edx, 0xf
and edx, 0x10001
mov ecx, edx
shl ecx, 0x10
sub ecx, edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x78]
shr edx, 0xf
and edx, 0x10001
mov ebx, edx
shl ebx, 0x10
sub ebx, edx
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x28]
add ebx, dword [esp + 0x24]
sub edi, dword [esp + 0x20]
shr edx, 0xf
and edx, 0x10001
mov esi, edx
shl esi, 0x10
sub esi, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x20]
add esi, dword [esp + 0x78]
sub edx, dword [esp + 0x28]
mov dword [esp + 0x64], ecx
lea ecx, [ebx + esi]
sub esi, ebx
lea ebx, [edx + edi]
sub edi, edx
mov edx, ecx
shr edx, 0xf
and edx, 0x10001
mov dword [esp + 0x74], ecx
mov dword [esp + 0x20], esi
mov esi, edx
shl esi, 0x10
sub esi, edx
mov edx, ebx
shr edx, 0xf
and edx, 0x10001
mov dword [esp + 0x28], edi
mov edi, edx
shl edi, 0x10
sub edi, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x2c]
add esi, dword [esp + 0x7c]
shr edx, 0xf
and edx, 0x10001
mov ecx, edx
shl ecx, 0x10
sub ecx, edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x7c]
sub edi, dword [esp + 0x2c]
mov dword [esp + 0x8c], ecx
shr edx, 0xf
and edx, 0x10001
mov ebx, edx
shl ebx, 0x10
sub ebx, edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x30]
add ebx, dword [esp + 0x58]
sub edx, dword [esp + 0x30]
lea ecx, [ebx + esi]
sub esi, ebx
lea ebx, [edx + edi]
sub edi, edx
mov edx, ecx
shr edx, 0xf
and edx, 0x10001
mov dword [esp + 0x58], esi
mov esi, edx
shl esi, 0x10
sub esi, edx
mov edx, ebx
shr edx, 0xf
and edx, 0x10001
mov dword [esp + 0xd4], edi
mov edi, edx
shl edi, 0x10
sub edi, edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x94], esi
mov esi, dword [esp + 0x3c]
shr edx, 0xf
and edx, 0x10001
mov ecx, edx
shl ecx, 0x10
sub esi, eax
sub ecx, edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x38]
add ecx, dword [esp + 0x34]
mov dword [esp + 0x98], edi
shr edx, 0xf
and edx, 0x10001
mov ebx, edx
shl ebx, 0x10
sub ebx, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xa0], ebx
mov ebx, dword [esp + 0x34]
sub ebx, dword [esp + 0x38]
lea edx, [eax + edx]
lea edi, [edx + ecx]
sub ecx, edx
mov eax, edi
shr eax, 0xf
and eax, 0x10001
mov dword [esp + 0x78], edi
lea edx, [esi + ebx]
sub ebx, esi
mov dword [esp + 0x34], ecx
mov ecx, eax
shl ecx, 0x10
sub ecx, eax
mov eax, edx
shr eax, 0xf
and eax, 0x10001
mov dword [esp + 0x3c], ebx
mov ebx, eax
shl ebx, 0x10
sub ebx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
shr eax, 0xf
and eax, 0x10001
mov esi, eax
shl esi, 0x10
sub esi, eax
mov eax, dword [esp + 0x3c]
add ecx, dword [esp + 0x44]
add ebx, dword [esp + 0x40]
sub edx, dword [esp + 0x5c]
shr eax, 0xf
and eax, 0x10001
mov edi, eax
shl edi, 0x10
sub edi, eax
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x80]
mov dword [esp + 0xac], esi
lea esi, [ecx + ebx]
sub ebx, ecx
mov dword [esp + 0xb0], edi
lea edi, [eax + edx]
sub edx, eax
mov eax, esi
shr eax, 0xf
and eax, 0x10001
mov dword [esp + 0x80], edx
mov edx, eax
shl edx, 0x10
sub edx, eax
mov eax, edi
shr eax, 0xf
and eax, 0x10001
mov ecx, eax
shl ecx, 0x10
sub ecx, eax
mov eax, ebx
shr eax, 0xf
and eax, 0x10001
mov dword [esp + 0x5c], ebx
mov ebx, eax
shl ebx, 0x10
sub ebx, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x40], esi
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0x4c]
shr eax, 0xf
and eax, 0x10001
mov esi, eax
shl esi, 0x10
add ecx, dword [esp + 0x50]
sub esi, eax
add ebx, dword [esp + 0x48]
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x48]
sub eax, dword [esp + 0xc]
sub edi, dword [esp + 0x4c]
mov dword [esp + 0xb4], edx
lea edx, [ecx + ebx]
sub ebx, ecx
mov dword [esp + 0x7c], edx
lea ecx, [eax + edi]
sub edi, eax
mov eax, edx
shr eax, 0xf
and eax, 0x10001
mov dword [esp + 0x48], ebx
mov ebx, eax
shl ebx, 0x10
sub ebx, eax
mov eax, ecx
shr eax, 0xf
and eax, 0x10001
mov dword [esp + 0x4c], ecx
mov ecx, eax
shl ecx, 0x10
sub ecx, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x50], edi
shr edi, 0xf
and edi, 0x10001
shr eax, 0xf
and eax, 0x10001
mov edx, eax
shl edx, 0x10
sub edx, eax
mov eax, edi
shl eax, 0x10
sub eax, edi
mov edi, dword [esp + 0x60]
add edi, ebp
xor edi, ebp
mov ebp, dword [esp + 0xd8]
add ebp, dword [esp + 8]
xor ebp, dword [esp + 0xd8]
add ebp, edi
mov edi, dword [esp + 0x14]
add edi, dword [esp + 0x18]
xor edi, dword [esp + 0x14]
add ebp, edi
mov edi, dword [esp + 0x64]
add edi, dword [esp + 0x1c]
xor edi, dword [esp + 0x64]
add ebp, edi
mov edi, dword [esp + 0x68]
add edi, dword [esp + 0x54]
xor edi, dword [esp + 0x68]
lea edi, [ebp + edi]
mov ebp, dword [esp]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 4]
add ebp, dword [esp + 0x10]
add edi, dword [esp + 0x70]
xor ebp, dword [esp]
xor edi, dword [esp + 4]
add ebp, edi
mov edi, dword [esp + 0x6c]
add edi, dword [esp + 0xd0]
xor edi, dword [esp + 0x6c]
add edi, dword [esp + 0x14]
add ebp, edi
mov edi, dword [esp + 0x84]
add edi, dword [esp + 0x74]
xor edi, dword [esp + 0x84]
add ebp, edi
mov edi, dword [esp + 0x88]
add edi, dword [esp + 0x24]
xor edi, dword [esp + 0x88]
add ebp, edi
mov edi, dword [esp + 0x8c]
add edi, dword [esp + 0x20]
xor edi, dword [esp + 0x8c]
add ebp, edi
mov edi, dword [esp + 0x90]
add edi, dword [esp + 0x28]
xor edi, dword [esp + 0x90]
add ebp, edi
mov edi, dword [esp + 0x94]
add edi, dword [esp + 0x2c]
xor edi, dword [esp + 0x94]
add ebp, edi
mov edi, dword [esp + 0x98]
add edi, dword [esp + 0x30]
xor edi, dword [esp + 0x98]
add ebp, edi
mov edi, dword [esp + 0x9c]
add edi, dword [esp + 0x58]
xor edi, dword [esp + 0x9c]
add ebp, edi
mov edi, dword [esp + 0xa0]
add edi, dword [esp + 0xd4]
xor edi, dword [esp + 0xa0]
add ebp, edi
mov edi, dword [esp + 0xa4]
add edi, dword [esp + 0x78]
xor edi, dword [esp + 0xa4]
lea edi, [ebp + edi]
mov ebp, dword [esp + 0xa8]
add ebp, dword [esp + 0x38]
xor ebp, dword [esp + 0xa8]
add edi, ebp
mov ebp, dword [esp + 0xac]
add ebp, dword [esp + 0x34]
xor ebp, dword [esp + 0xac]
lea ebp, [edi + ebp]
mov edi, dword [esp + 0xb0]
add edi, dword [esp + 0x3c]
xor edi, dword [esp + 0xb0]
add ebp, edi
mov edi, dword [esp + 0xb4]
add edi, dword [esp + 0x40]
xor edi, dword [esp + 0xb4]
lea edi, [ebp + edi]
mov ebp, dword [esp + 0xb8]
add ebp, dword [esp + 0x44]
xor ebp, dword [esp + 0xb8]
lea ebp, [edi + ebp]
mov edi, dword [esp + 0xbc]
add edi, dword [esp + 0x5c]
xor edi, dword [esp + 0xbc]
lea edi, [ebp + edi]
mov ebp, dword [esp + 0x80]
lea ebp, [esi + ebp]
xor ebp, esi
mov esi, dword [esp + 0x7c]
lea ebp, [edi + ebp]
lea esi, [ebx + esi]
xor esi, ebx
mov ebx, dword [esp + 0x4c]
add ebp, esi
lea ebx, [ecx + ebx]
xor ebx, ecx
mov ecx, dword [esp + 0x48]
add ebp, ebx
lea ecx, [edx + ecx]
xor ecx, edx
mov edx, dword [esp + 0x50]
add ebp, ecx
lea edx, [eax + edx]
xor edx, eax
lea edx, [ebp + edx]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0xcc]
add edx, dword [esp + 0xc8]
add eax, dword [esp + 0xc0]
mov esi, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc8]
sub ebx, dword [esp + 0xcc]
sub esi, dword [esp + 0xc4]
lea ecx, [edx + eax]
sub eax, edx
lea edx, [ebx + esi]
sub esi, ebx
mov ebx, ecx
shr ebx, 0xf
and ebx, 0x10001
mov ebp, ebx
shl ebp, 0x10
sub ebp, ebx
mov ebx, edx
shr ebx, 0xf
and ebx, 0x10001
mov dword [esp + 0xc], ebp
mov ebp, ebx
shl ebp, 0x10
mov dword [esp + 4], esi
mov edi, dword [esp + 4]
sub ebp, ebx
mov ebx, eax
shr ebx, 0xf
and ebx, 0x10001
mov esi, ebx
shr edi, 0xf
and edi, 0x10001
shl esi, 0x10
sub esi, ebx
mov ebx, edi
shl ebx, 0x10
sub ebx, edi
lea edi, [ebp + edx]
xor edi, ebp
mov ebp, dword [esp + 0xc]
add ebp, ecx
xor ebp, dword [esp + 0xc]
add ebp, edi
lea edi, [esi + eax]
xor edi, esi
mov esi, dword [esp + 4]
add ebp, edi
mov edi, dword [esp + 0x74]
add edi, dword [esp + 0x70]
lea esi, [ebx + esi]
xor esi, ebx
mov ebx, dword [esp + 0x78]
add ebp, esi
mov esi, dword [esp + 0x7c]
add ebp, dword [esp + 0x14]
add esi, dword [esp + 0x78]
sub ebx, dword [esp + 0x7c]
mov dword [esp + 0x84], ebp
mov ebp, dword [esp + 0x70]
sub ebp, dword [esp + 0x74]
mov dword [esp], ebp
lea ebp, [esi + edi]
sub edi, esi
mov dword [esp + 0x8c], edi
mov esi, dword [esp]
mov edi, dword [esp]
mov dword [esp + 0x88], ebp
add esi, ebx
sub edi, ebx
mov ebx, ebp
shr ebx, 0xf
and ebx, 0x10001
mov ebp, ebx
shl ebp, 0x10
sub ebp, ebx
mov ebx, esi
shr ebx, 0xf
and ebx, 0x10001
mov dword [esp + 0x90], esi
mov esi, ebx
shl esi, 0x10
sub esi, ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x94], edi
mov dword [esp], ebp
mov dword [esp + 0x14], esi
shr ebx, 0xf
and ebx, 0x10001
mov edi, ebx
shl edi, 0x10
sub edi, ebx
mov dword [esp + 0x64], edi
mov ebx, dword [esp + 0x94]
mov esi, dword [esp + 0x4c]
add esi, dword [esp + 0x38]
shr ebx, 0xf
and ebx, 0x10001
mov ebp, ebx
shl ebp, 0x10
sub ebp, ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x24]
add ebp, dword [esp + 0x10]
sub ebx, dword [esp + 0x24]
lea edi, [esi + ebp]
sub ebp, esi
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x9c], ebp
mov esi, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
sub ebx, dword [esp + 0x4c]
mov dword [esp + 0x98], edi
add ebp, ebx
sub esi, ebx
mov ebx, edi
shr ebx, 0xf
and ebx, 0x10001
mov edi, ebx
shl edi, 0x10
sub edi, ebx
mov ebx, ebp
shr ebx, 0xf
and ebx, 0x10001
mov dword [esp + 0xa0], ebp
mov ebp, ebx
shl ebp, 0x10
sub ebp, ebx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0xa4], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x20]
shr ebx, 0xf
and ebx, 0x10001
mov esi, ebx
shl esi, 0x10
sub esi, ebx
mov ebx, dword [esp + 0xa4]
add ebp, dword [esp + 8]
mov dword [esp + 0x38], esi
shr ebx, 0xf
and ebx, 0x10001
mov edi, ebx
shl edi, 0x10
sub edi, ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x48]
sub ebx, dword [esp + 0x20]
add edi, dword [esp + 0x34]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x34]
lea esi, [edi + ebp]
sub ebp, edi
sub ebx, dword [esp + 0x48]
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], ebp
mov edi, dword [esp + 8]
mov ebp, dword [esp + 8]
add edi, ebx
sub ebp, ebx
mov ebx, esi
shr ebx, 0xf
and ebx, 0x10001
mov esi, ebx
shl esi, 0x10
sub esi, ebx
mov ebx, edi
shr ebx, 0xf
and ebx, 0x10001
mov dword [esp + 0xb0], edi
mov edi, ebx
shl edi, 0x10
sub edi, ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0xb4], ebp
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x60]
sub edi, dword [esp + 0x28]
shr ebx, 0xf
and ebx, 0x10001
mov ebp, ebx
shl ebp, 0x10
sub ebp, ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x50]
add edi, dword [esp + 0x3c]
shr ebx, 0xf
and ebx, 0x10001
add ebp, dword [esp + 0x60]
mov dword [esp + 8], esi
mov esi, ebx
shl esi, 0x10
sub esi, ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x48], esi
lea esi, [edi + ebp]
sub ebp, edi
mov dword [esp + 0xbc], ebp
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x28]
sub ebx, dword [esp + 0x50]
mov dword [esp + 0xb8], esi
add edi, ebx
sub ebp, ebx
mov ebx, esi
shr ebx, 0xf
and ebx, 0x10001
mov esi, ebx
shl esi, 0x10
sub esi, ebx
mov ebx, edi
shr ebx, 0xf
and ebx, 0x10001
mov dword [esp + 0xc], edi
mov edi, ebx
shl edi, 0x10
sub edi, ebx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0xc0], ebp
mov dword [esp + 0x60], esi
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x2c]
shr ebx, 0xf
and ebx, 0x10001
mov ebp, ebx
shl ebp, 0x10
sub ebp, ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x40]
add edi, dword [esp + 0x18]
shr ebx, 0xf
and ebx, 0x10001
sub ebp, ecx
mov esi, ebx
shl esi, 0x10
sub esi, ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x40]
sub ebx, dword [esp + 0x2c]
lea esi, [ecx + esi]
mov ecx, ebp
lea ebp, [esi + edi]
sub edi, esi
lea esi, [ecx + ebx]
sub ebx, ecx
mov ecx, ebp
shr ecx, 0xf
and ecx, 0x10001
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc8], edi
mov edi, ecx
shl edi, 0x10
sub edi, ecx
mov ecx, esi
shr ecx, 0xf
and ecx, 0x10001
mov ebp, ecx
shl ebp, 0x10
sub ebp, ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xcc], esi
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x44]
shr ecx, 0xf
and ecx, 0x10001
mov ebx, ecx
shl ebx, 0x10
sub ebx, ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x2c], ebp
shr ecx, 0xf
and ecx, 0x10001
mov esi, ecx
shl esi, 0x10
sub esi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x30]
lea ebx, [edx + ebx]
add esi, dword [esp + 0x1c]
sub edi, edx
sub ecx, dword [esp + 0x30]
lea ebp, [ebx + esi]
sub esi, ebx
mov edx, ebp
shr edx, 0xf
and edx, 0x10001
mov dword [esp + 0xe0], esi
mov esi, edx
lea ebx, [edi + ecx]
sub ecx, edi
shl esi, 0x10
sub esi, edx
mov edx, ebx
shr edx, 0xf
and edx, 0x10001
mov edi, edx
shl edi, 0x10
sub edi, edx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0xdc], ebp
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xe4], ebx
mov ebx, dword [esp + 0x5c]
shr edx, 0xf
and edx, 0x10001
mov ebp, edx
shl ebp, 0x10
sub ebx, eax
sub ebp, edx
mov edx, ecx
mov ecx, dword [esp + 0x5c]
shr edx, 0xf
and edx, 0x10001
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x58]
add edi, dword [esp + 0x54]
mov dword [esp + 0x1c], esi
mov esi, edx
shl esi, 0x10
sub esi, edx
mov edx, dword [esp + 0x54]
lea ecx, [eax + ecx]
sub edx, dword [esp + 0x58]
lea eax, [ecx + edi]
sub edi, ecx
mov dword [esp + 0x54], eax
shr eax, 0xf
and eax, 0x10001
lea ecx, [ebx + edx]
sub edx, ebx
mov ebx, eax
shl ebx, 0x10
sub ebx, eax
mov eax, ecx
shr eax, 0xf
and eax, 0x10001
mov dword [esp + 0x5c], ecx
mov ecx, eax
shl ecx, 0x10
sub ecx, eax
mov eax, edi
mov dword [esp + 0xec], edx
shr eax, 0xf
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0xec]
and eax, 0x10001
mov edx, eax
shl edx, 0x10
sub edx, eax
shr edi, 0xf
and edi, 0x10001
mov eax, edi
shl eax, 0x10
sub eax, edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x68]
add ebp, dword [esp + 0x94]
add edi, dword [esp + 0x8c]
xor ebp, dword [esp + 0x68]
xor edi, dword [esp + 0x64]
add ebp, edi
mov edi, dword [esp + 0x10]
add edi, dword [esp + 0x98]
xor edi, dword [esp + 0x10]
lea edi, [ebp + edi]
mov ebp, dword [esp + 0x24]
add ebp, dword [esp + 0xa0]
xor ebp, dword [esp + 0x24]
add edi, ebp
mov ebp, dword [esp + 0x38]
add ebp, dword [esp + 0x9c]
xor ebp, dword [esp + 0x38]
lea ebp, [edi + ebp]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp]
add ebp, dword [esp + 0x90]
add edi, dword [esp + 0x88]
xor ebp, dword [esp + 0x14]
xor edi, dword [esp]
add ebp, edi
mov edi, dword [esp + 0x4c]
add edi, dword [esp + 0xa4]
xor edi, dword [esp + 0x4c]
add edi, dword [esp + 0x10]
add ebp, edi
mov edi, dword [esp + 8]
add edi, dword [esp + 0xa8]
xor edi, dword [esp + 8]
add ebp, edi
mov edi, dword [esp + 0x20]
add edi, dword [esp + 0xb0]
xor edi, dword [esp + 0x20]
lea edi, [ebp + edi]
mov ebp, dword [esp + 0x34]
add ebp, dword [esp + 0xac]
xor ebp, dword [esp + 0x34]
lea ebp, [edi + ebp]
mov edi, dword [esp + 0x48]
add edi, dword [esp + 0xb4]
xor edi, dword [esp + 0x48]
add ebp, edi
mov edi, dword [esp + 0x60]
add edi, dword [esp + 0xb8]
xor edi, dword [esp + 0x60]
add ebp, edi
mov edi, dword [esp + 0x28]
add edi, dword [esp + 0xc]
xor edi, dword [esp + 0x28]
lea edi, [ebp + edi]
mov ebp, dword [esp + 0x3c]
add ebp, dword [esp + 0xbc]
xor ebp, dword [esp + 0x3c]
lea ebp, [edi + ebp]
mov edi, dword [esp + 0x50]
add edi, dword [esp + 0xc0]
xor edi, dword [esp + 0x50]
add ebp, edi
mov edi, dword [esp + 0x18]
add edi, dword [esp + 0xc4]
xor edi, dword [esp + 0x18]
add ebp, edi
mov edi, dword [esp + 0x2c]
add edi, dword [esp + 0xcc]
xor edi, dword [esp + 0x2c]
add ebp, edi
mov edi, dword [esp + 0x40]
add edi, dword [esp + 0xc8]
xor edi, dword [esp + 0x40]
lea edi, [ebp + edi]
mov ebp, dword [esp + 0x6c]
add ebp, dword [esp + 0xd8]
xor ebp, dword [esp + 0x6c]
lea ebp, [edi + ebp]
mov edi, dword [esp + 0x1c]
add edi, dword [esp + 0xdc]
xor edi, dword [esp + 0x1c]
add ebp, edi
mov edi, dword [esp + 0x30]
add edi, dword [esp + 0xe4]
xor edi, dword [esp + 0x30]
add ebp, edi
mov edi, dword [esp + 0x44]
add edi, dword [esp + 0xe0]
xor edi, dword [esp + 0x44]
lea edi, [ebp + edi]
mov ebp, dword [esp + 0xe8]
lea ebp, [esi + ebp]
xor ebp, esi
lea ebp, [edi + ebp]
mov edi, dword [esp + 0x54]
lea edi, [ebx + edi]
xor edi, ebx
add ebp, edi
mov edi, dword [esp + 0x5c]
lea edi, [ecx + edi]
xor edi, ecx
add ebp, edi
mov edi, dword [esp + 0x58]
lea edi, [edx + edi]
xor edi, edx
mov edx, dword [esp + 0xec]
lea edi, [ebp + edi]
lea edx, [eax + edx]
xor edx, eax
lea edx, [edi + edx]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xd4]
add eax, dword [esp + 0x80]
add ecx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd0]
mov edx, dword [esp + 0x80]
lea edi, [eax + ecx]
sub ecx, eax
mov eax, edi
sub edx, dword [esp + 4]
sub ebx, dword [esp + 0xd4]
shr eax, 0xf
and eax, 0x10001
mov dword [esp + 4], ecx
mov ecx, eax
lea ebp, [edx + ebx]
sub ebx, edx
shl ecx, 0x10
sub ecx, eax
mov eax, ebp
shr eax, 0xf
and eax, 0x10001
mov dword [esp + 8], ebx
mov ebx, eax
mov esi, dword [esp + 8]
shl ebx, 0x10
sub ebx, eax
mov eax, dword [esp + 4]
lea ebp, [ebx + ebp]
shr esi, 0xf
xor ebp, ebx
and esi, 0x10001
shr eax, 0xf
and eax, 0x10001
mov edx, eax
shl edx, 0x10
sub edx, eax
mov eax, esi
lea edi, [ecx + edi]
xor edi, ecx
shl eax, 0x10
sub eax, esi
add ebp, edi
mov edi, dword [esp + 4]
xor ecx, ecx
lea edi, [edx + edi]
xor edi, edx
movzx edx, word [esp + 0x74]
add ebp, edi
mov edi, dword [esp + 8]
add dx, word [esp + 0x70]
add dx, word [esp + 0x78]
add dx, word [esp + 0x7c]
lea edi, [eax + edi]
xor edi, eax
movzx eax, word [esp + 0x84]
lea edi, [ebp + edi]
mov ebp, dword [esp + 0x84]
movzx edx, dx
add edi, dword [esp + 0x10]
shr ebp, 0x10
movzx esi, di
sub ebp, edx
shr edi, 0x10
sub edi, edx
xor edx, edx
lea eax, [ebp + eax]
lea ebx, [edi + esi]
add eax, ecx
adc edx, ebx
add esp, 0x170
pop ebx
pop esi
pop edi
pop ebp
ret