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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1fc
lea eax, [esp + 0xb0]
mov dword [esp + 4], 0x14
mov esi, dword [esp + 0x210]
mov ebx, dword [esp + 0x214]
mov dword [esp], eax
call fcn.6fa1cfe0
lea edx, [esp + 0x150]
mov dword [esp + 4], 0x14
mov dword [esp], edx
call fcn.6fa1cfe0
mov edi, dword [esi + 8]
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov ebp, dword [ebx]
mov eax, dword [ebx + 8]
bswap edi
bswap ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x158], edi
bswap edx
mov edi, dword [esi + 0xc]
mov esi, dword [ebx + 4]
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x68], eax
mov dword [esp + 0x60], ebp
mov ebp, ecx
mov dword [esp + 0x150], ecx
mov dword [esp + 0x64], esi
mov esi, ecx
shr ebp, 1
shr esi, 3
mov dword [esp + 0x6c], ebx
mov ebx, edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0xc4], esi
mov esi, ecx
shr ebx, 1
shl esi, 0x1f
mov dword [esp + 0x24], ebp
or esi, ebx
mov ebx, edx
mov dword [esp + 0x100], ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x104], esi
mov esi, ecx
shl esi, 0x1e
shr ebx, 2
mov ebp, ecx
mov eax, esi
mov esi, ecx
bswap edi
or eax, ebx
mov ebx, edx
shl esi, 0x1d
mov dword [esp + 0x40], eax
mov dword [esp + 0xdc], eax
shr ebx, 3
mov eax, dword [esp + 0x1c]
or esi, ebx
shr ebp, 2
mov dword [esp + 0x28], esi
mov dword [esp + 0xc8], esi
mov esi, edx
shl esi, 0x1f
mov dword [esp + 0x154], edx
mov dword [esp + 0x15c], edi
mov ebx, eax
mov dword [esp + 0xd8], ebp
shr ebx, 1
or esi, ebx
mov ebx, eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x108], esi
mov esi, edx
shr ebx, 2
shl esi, 0x1e
or esi, ebx
mov ebx, eax
mov dword [esp + 0x48], esi
mov dword [esp + 0xe0], esi
mov esi, edx
shl esi, 0x1d
shr ebx, 3
mov dword [esp + 0x20], edx
mov edx, esi
mov esi, eax
or edx, ebx
mov ebx, edi
shl esi, 0x1f
shr ebx, 1
mov dword [esp + 0x4c], edx
mov dword [esp + 0xcc], edx
or esi, ebx
mov ebx, edi
mov dword [esp + 0x50], esi
mov dword [esp + 0x10c], esi
mov esi, eax
shl esi, 0x1e
shr ebx, 2
mov edx, esi
mov esi, eax
mov eax, dword [esp + 0x160]
or edx, ebx
shl esi, 0x1d
mov dword [esp + 0x54], edx
mov dword [esp + 0xe4], edx
mov edx, edi
shr edx, 3
mov ebx, esi
mov esi, edi
or ebx, edx
shl esi, 0x1f
mov edx, dword [esp + 0x160]
shr eax, 1
mov dword [esp + 0x58], ebx
mov dword [esp + 0xd0], ebx
mov ebx, esi
mov esi, edi
or ebx, eax
shl esi, 0x1e
shr edx, 2
mov dword [esp + 0x30], ebx
mov dword [esp + 0x110], ebx
mov ebx, esi
or ebx, edx
mov esi, edi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], ebx
mov dword [esp + 0xe8], ebx
shl esi, 0x1d
mov ebx, dword [esp + 0x160]
shr ebx, 3
mov edx, ebx
mov ebx, esi
mov esi, ebp
or ebx, edx
xor esi, ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], ebx
mov dword [esp + 0xd4], ebx
mov ebx, eax
mov dword [esp + 0x178], esi
mov esi, eax
mov eax, dword [esp + 0x2c]
xor ebx, ecx
xor esi, ebp
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x128], esi
xor eax, ecx
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x2c]
xor edx, eax
mov dword [esp + 0x114], edx
mov edx, eax
xor eax, ebp
mov dword [esp + 0x24], eax
xor ecx, dword [esp + 0x24]
xor ebp, ebx
xor ebx, edx
xor esi, edx
mov dword [esp + 0xec], eax
mov dword [esp + 0x1c8], ebp
mov dword [esp + 0x1b4], ebx
xor ebp, edx
mov dword [esp + 0x18c], ecx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x1dc], ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x13c], esi
mov ebx, eax
mov ecx, edx
mov esi, edx
xor ecx, ebp
xor ebx, ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x17c], ebx
mov ebx, dword [esp + 0x20]
xor esi, eax
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x12c], esi
xor edx, ebp
mov dword [esp + 0x118], edx
mov edx, dword [esp + 0x28]
xor ebx, ebp
mov ebp, eax
xor eax, ecx
mov dword [esp + 0x168], ebx
mov dword [esp + 0x1cc], eax
mov ebx, eax
mov eax, dword [esp + 0x48]
xor ecx, edx
xor esi, edx
xor ebp, edx
mov dword [esp + 0x1b8], ecx
mov ecx, dword [esp + 0x20]
xor ebx, edx
mov dword [esp + 0x140], esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0xf0], ebp
mov dword [esp + 0x1e0], ebx
mov ebx, eax
xor ecx, ebp
mov ebp, dword [esp + 0x1c]
mov edx, esi
mov dword [esp + 0x190], ecx
mov ecx, esi
xor edx, ebp
xor ebx, ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x180], ebx
mov ebx, dword [esp + 0x1c]
xor ecx, eax
mov dword [esp + 0x1a8], edx
mov dword [esp + 0x130], ecx
xor esi, ebp
xor ecx, ebp
xor ebx, ebp
mov dword [esp + 0x11c], esi
mov dword [esp + 0x16c], ebx
mov ebx, eax
xor eax, edx
mov esi, eax
xor ebx, ebp
xor edx, ebp
xor esi, ebp
mov dword [esp + 0xf4], ebx
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1e4], esi
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x144], ecx
mov ecx, esi
xor edx, ebx
mov ebx, dword [esp + 0x50]
xor ecx, edi
mov dword [esp + 0x194], edx
mov dword [esp + 0x184], ecx
mov ecx, ebp
xor ecx, edi
mov eax, ebx
mov edx, ebx
mov dword [esp + 0x170], ecx
mov ecx, esi
xor eax, edi
xor ecx, ebp
xor edx, esi
xor esi, eax
mov dword [esp + 0xf8], ecx
xor ecx, edi
xor ebx, ebp
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x134], edx
xor eax, ebp
xor edx, ebp
mov dword [esp + 0x1d4], esi
mov dword [esp + 0x198], ecx
xor esi, ebp
mov ecx, dword [esp + 0x160]
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x120], ebx
mov dword [esp + 0x1c0], eax
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x160]
mov dword [esp + 0x1e8], esi
xor ecx, ebp
mov esi, dword [esp + 0x160]
mov dword [esp + 0x148], edx
mov dword [esp + 0x174], ecx
mov edx, ebx
mov ecx, edi
xor eax, ebx
xor edx, edi
xor ebx, ebp
xor esi, edi
xor ecx, ebp
xor edi, eax
mov dword [esp + 0x1b0], eax
xor eax, ebp
mov dword [esp + 0x188], esi
mov dword [esp + 0x138], edx
mov dword [esp + 0x124], ebx
xor edx, ebp
mov dword [esp + 0x1d8], edi
mov dword [esp + 0x1c4], eax
lea eax, [esp + 0x70]
mov dword [esp + 0xfc], ecx
xor ecx, dword [esp + 0x160]
xor edi, ebp
mov dword [esp], eax
mov dword [esp + 4], 0x20
mov dword [esp + 0x14c], edx
mov dword [esp + 0x1ec], edi
mov dword [esp + 0x19c], ecx
call fcn.6fa1cfe0
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x2c], eax
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1c], 7
nop
lea esi, [esi]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
lea ecx, [edi*4]
xor ecx, 4
shr esi, cl
shr edx, cl
and esi, 0xf
and edx, 0xf
lea edi, [esi + esi*4]
lea esi, [edx + edx*4]
shl edi, 2
shl esi, 2
mov ebx, dword [esp + esi + 0xb0]
xor ebx, dword [esp + edi + 0xb4]
xor dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + esi + 0xb4]
xor edx, dword [esp + edi + 0xb8]
xor ebp, dword [esp + edi + 0xb0]
shr ebx, cl
and ebx, 0xf
lea ebx, [ebx + ebx*4]
shl ebx, 2
xor edx, dword [esp + ebx + 0xb0]
xor dword [esp + 0x2c], edx
mov edx, dword [esp + 0x44]
shr edx, cl
mov ecx, dword [esp + esi + 0xb8]
and edx, 0xf
xor ecx, dword [esp + edi + 0xbc]
lea edx, [edx + edx*4]
xor ecx, dword [esp + ebx + 0xb4]
shl edx, 2
xor ecx, dword [esp + edx + 0xb0]
xor eax, ecx
mov ecx, dword [esp + esi + 0xbc]
xor ecx, dword [esp + edi + 0xc0]
xor ecx, dword [esp + ebx + 0xb8]
mov edi, dword [esp + ebx + 0xbc]
xor edi, dword [esp + esi + 0xc0]
xor ecx, dword [esp + edx + 0xb4]
xor edi, dword [esp + edx + 0xb8]
mov esi, dword [esp + edx + 0xbc]
xor esi, dword [esp + ebx + 0xc0]
xor dword [esp + 0x20], ecx
xor dword [esp + 0x24], edi
xor dword [esp + 0x34], esi
mov ebx, dword [esp + edx + 0xc0]
mov edx, dword [esp + 0x1c]
xor dword [esp + 0x30], ebx
test edx, edx
je 0x6fa202df
mov ebx, dword [esp + 0x28]
mov esi, ebp
sub dword [esp + 0x1c], 1
shl esi, 0x1c
shr ebp, 4
mov ecx, ebx
shr ebx, 4
mov edi, ebx
mov ebx, dword [esp + 0x2c]
shl ecx, 0x1c
or edi, esi
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x24]
mov edx, ebx
shr ebx, 4
mov esi, ebx
mov ebx, dword [esp + 0x20]
shl edx, 0x1c
or esi, ecx
mov ecx, eax
shr eax, 4
or eax, edx
mov dword [esp + 0x2c], esi
shl ecx, 0x1c
mov edx, ebx
shr ebx, 4
mov esi, ebx
mov ebx, dword [esp + 0x34]
shl edx, 0x1c
or esi, ecx
mov ecx, edi
shr edi, 4
or edi, edx
shl ecx, 0x1c
mov dword [esp + 0x20], esi
mov edx, ebx
shr ebx, 4
mov dword [esp + 0x24], edi
mov esi, ebx
mov edi, dword [esp + 0x30]
shl edx, 0x1c
or esi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], esi
shr edi, 4
or edi, edx
cmp ecx, 0xffffffff
mov dword [esp + 0x30], edi
jne 0x6fa20150
mov edx, dword [esp + 0x28]
bswap eax
mov ecx, dword [esp + 0x2c]
bswap ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x90], ebp
mov ebx, ebp
bswap edx
bswap ecx
shr ebx, 0x10
mov dword [esp + 0x1c], edx
mov esi, edx
mov edi, edx
mov edx, eax
shr esi, 0x18
mov ebp, ecx
shr edx, 0x18
mov dword [esp + 0x4c], esi
movzx esi, ah
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x34]
shr edi, 0x10
mov dword [esp + 0x40], esi
shr ecx, 0x18
mov dword [esp + 0x54], edi
mov dword [esp + 0x44], ecx
mov edi, dword [esp + 0x20]
bswap edx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x5c], ebx
mov esi, edx
mov ebx, ebp
mov dword [esp + 0x28], ebp
shr esi, 0x10
shr ebx, 0x10
bswap edi
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x30]
bswap ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x2c], ecx
mov ebx, edi
shr ecx, 0x10
shr edi, 0x10
mov dword [esp + 0x24], ebx
bswap esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x50], ecx
mov edi, esi
mov ecx, esi
shr esi, 0x18
xor bl, byte [esi + esi + 0x6fab1e01]
shr edi, 0x10
mov ebp, eax
shr ebp, 0x10
mov byte [esp + 0x20], bl
mov ebx, edi
movzx edi, bl
movzx ebx, byte [edi + edi + 0x6fab1e00]
xor ebp, ebx
movzx ebx, byte [esp + 0x3c]
xor bl, byte [esi + esi + 0x6fab1e00]
movzx esi, byte [edi + edi + 0x6fab1e01]
xor ebx, esi
movzx esi, ch
mov byte [esp + 0x9f], bl
movzx ebx, byte [esp + 0x40]
xor bl, byte [esi + esi + 0x6fab1e00]
movzx esi, byte [esi + esi + 0x6fab1e01]
xor ebp, esi
mov edi, ebx
movzx esi, dh
mov ebx, ebp
movzx ebp, cl
mov ecx, edi
mov byte [esp + 0x9e], bl
xor cl, byte [ebp + ebp + 0x6fab1e01]
xor al, byte [ebp + ebp + 0x6fab1e00]
movzx ebx, byte [esp + 0x44]
mov ebp, dword [esp + 0x2c]
mov byte [esp + 0x9d], cl
mov ecx, edx
movzx edx, dl
shr ecx, 0x18
mov edi, ebp
xor al, byte [ecx + ecx + 0x6fab1e01]
xor bl, byte [ecx + ecx + 0x6fab1e00]
shr edi, 0x18
movzx ecx, byte [esp + 0x48]
mov byte [esp + 0x9c], al
movzx eax, byte [esp + 0x34]
xor bl, byte [eax + eax + 0x6fab1e01]
xor cl, byte [eax + eax + 0x6fab1e00]
xor cl, byte [esi + esi + 0x6fab1e01]
mov byte [esp + 0x9b], bl
mov ebx, dword [esp + 0x28]
mov byte [esp + 0x9a], cl
movzx ecx, byte [esp + 0x50]
movzx eax, bh
xor bl, byte [edx + edx + 0x6fab1e00]
xor al, byte [esi + esi + 0x6fab1e00]
xor al, byte [edx + edx + 0x6fab1e01]
xor bl, byte [edi + edi + 0x6fab1e01]
movzx edx, byte [esp + 0x54]
mov byte [esp + 0x99], al
mov byte [esp + 0x98], bl
mov ebx, ebp
movzx eax, byte [esp + 0x4c]
movzx esi, bh
movzx ebp, bl
xor al, byte [edi + edi + 0x6fab1e00]
xor dl, byte [ecx + ecx + 0x6fab1e00]
xor dl, byte [esi + esi + 0x6fab1e01]
xor al, byte [ecx + ecx + 0x6fab1e01]
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x97], al
movzx eax, ch
xor al, byte [esi + esi + 0x6fab1e00]
mov byte [esp + 0x96], dl
movzx ebx, byte [esp + 0x1c]
xor bl, byte [ebp + ebp + 0x6fab1e00]
xor al, byte [ebp + ebp + 0x6fab1e01]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
movzx esi, byte [esp + 0x58]
mov edx, ebp
mov ecx, ebx
mov byte [esp + 0x95], al
shr edx, 0x18
mov ebx, edi
mov eax, edi
xor cl, byte [edx + edx + 0x6fab1e01]
movzx edi, byte [esp + 0x20]
shr eax, 0x18
xor al, byte [edx + edx + 0x6fab1e00]
mov edx, ebp
xor al, byte [esi + esi + 0x6fab1e01]
movzx ebp, dh
movzx edx, bh
xor dl, byte [ebp + ebp + 0x6fab1e00]
mov ebx, dword [esp + 0x98]
mov byte [esp + 0x94], cl
movzx ecx, byte [esp + 0x5c]
xor cl, byte [esi + esi + 0x6fab1e00]
xor dl, byte [edi + edi + 0x6fab1e01]
xor cl, byte [ebp + ebp + 0x6fab1e01]
mov byte [esp + 0x93], al
movzx eax, byte [edi + edi + 0x6fab1e00]
mov ebp, dword [esp + 0x94]
xor byte [esp + 0x90], al
mov byte [esp + 0x91], dl
mov edx, dword [esp + 0x9c]
mov byte [esp + 0x92], cl
mov ecx, dword [esp + 0x218]
mov esi, dword [esp + 0x90]
mov dword [ecx + 4], ebp
mov dword [ecx + 8], ebx
mov dword [ecx], esi
mov dword [ecx + 0xc], edx
add esp, 0x1fc
pop ebx
pop esi
pop edi
pop ebp
ret