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

Disassembly:
sub esp, 0xfc
push ebx
mov ebx, 1
push esi
push edi
mov word [esp + 0x16], bx
mov word [esp + 0x24], bx
mov eax, 8
mov edx, 3
mov ecx, 2
mov edi, 5
mov esi, 4
mov ebx, 7
mov word [esp + 0xc], ax
mov word [esp + 0xe], ax
mov word [esp + 0x10], ax
mov word [esp + 0x12], ax
mov word [esp + 0x14], ax
mov word [esp + 0x18], ax
mov word [esp + 0x1a], dx
mov word [esp + 0x1c], cx
mov word [esp + 0x1e], di
mov word [esp + 0x20], dx
mov word [esp + 0x22], si
mov word [esp + 0x26], cx
mov word [esp + 0x28], bx
mov word [esp + 0x2a], bx
mov word [esp + 0x2c], bx
mov word [esp + 0x2e], bx
mov word [esp + 0x30], bx
mov word [esp + 0x32], bx
mov word [esp + 0x34], bx
mov word [esp + 0x36], bx
mov word [esp + 0x38], bx
mov word [esp + 0x3a], bx
mov word [esp + 0x3c], bx
mov word [esp + 0x3e], bx
mov word [esp + 0x40], bx
mov word [esp + 0x42], bx
mov word [esp + 0x44], cx
mov word [esp + 0x46], cx
mov word [esp + 0x48], cx
mov word [esp + 0x4a], cx
mov word [esp + 0x4c], cx
mov word [esp + 0x4e], cx
mov word [esp + 0x50], cx
mov word [esp + 0x52], cx
mov word [esp + 0x54], cx
mov word [esp + 0x56], cx
mov word [esp + 0x58], cx
mov word [esp + 0x5a], cx
mov word [esp + 0x5c], cx
mov word [esp + 0x5e], cx
mov word [esp + 0x60], dx
mov word [esp + 0x62], dx
mov word [esp + 0x64], dx
mov word [esp + 0x66], dx
mov word [esp + 0x68], dx
mov word [esp + 0x6a], dx
mov word [esp + 0x6c], dx
mov word [esp + 0x6e], dx
mov word [esp + 0x70], dx
mov word [esp + 0x72], dx
mov word [esp + 0x74], dx
mov word [esp + 0x76], dx
mov word [esp + 0x78], dx
mov word [esp + 0x7a], dx
mov word [esp + 0x7c], si
mov word [esp + 0x7e], si
mov word [esp + 0x80], si
mov word [esp + 0x82], si
mov word [esp + 0x84], si
mov word [esp + 0x86], si
mov word [esp + 0x88], si
mov word [esp + 0x8a], si
mov word [esp + 0x8c], si
mov word [esp + 0x8e], si
mov word [esp + 0x90], si
mov word [esp + 0x92], si
mov word [esp + 0x94], si
mov word [esp + 0x96], si
mov word [esp + 0x98], di
mov ecx, 6
mov word [esp + 0xd0], ax
mov word [esp + 0xd2], ax
mov word [esp + 0xd4], ax
mov word [esp + 0xd6], ax
mov word [esp + 0xd8], ax
mov word [esp + 0xda], ax
mov word [esp + 0xdc], ax
mov word [esp + 0xde], ax
mov word [esp + 0xe0], ax
mov word [esp + 0xe2], ax
mov word [esp + 0xe4], ax
mov word [esp + 0xe6], ax
mov word [esp + 0xe8], ax
mov word [esp + 0xea], ax
mov eax, 9
mov word [esp + 0xb4], cx
mov word [esp + 0xb6], cx
mov word [esp + 0xb8], cx
mov word [esp + 0xba], cx
mov word [esp + 0xbc], cx
mov word [esp + 0xbe], cx
mov word [esp + 0xc0], cx
mov word [esp + 0xc2], cx
mov word [esp + 0xc4], cx
mov word [esp + 0xc6], cx
mov word [esp + 0xc8], cx
mov word [esp + 0xca], cx
mov word [esp + 0xcc], cx
mov word [esp + 0xce], cx
mov ecx, dword [esp + 0x110]
mov word [esp + 0xec], ax
mov word [esp + 0xee], ax
mov word [esp + 0xf0], ax
mov word [esp + 0xf2], ax
mov word [esp + 0xf4], ax
mov word [esp + 0xf6], ax
mov word [esp + 0xf8], ax
mov word [esp + 0xfa], ax
mov word [esp + 0xfc], ax
mov word [esp + 0xfe], ax
mov word [esp + 0x100], ax
mov word [esp + 0x102], ax
mov word [esp + 0x104], ax
mov word [esp + 0x106], ax
xor eax, eax
test cx, cx
mov word [esp + 0x9a], di
mov word [esp + 0x9c], di
mov word [esp + 0x9e], di
mov word [esp + 0xa0], di
mov word [esp + 0xa2], di
mov word [esp + 0xa4], di
mov word [esp + 0xa6], di
mov word [esp + 0xa8], di
mov word [esp + 0xaa], di
mov word [esp + 0xac], di
mov word [esp + 0xae], di
mov word [esp + 0xb0], di
mov word [esp + 0xb2], di
mov dword [0x10001e90], eax
jbe 0x10016d99
mov edx, dword [esp + 0x10c]
and ecx, 0xffff
mov esi, ecx
cmp ax, 0x7e
jne 0x10016d82
xor eax, eax
mov bl, byte [edx]
mov ecx, eax
and ecx, 0xffff
mov cl, byte [esp + ecx*2 + 0xc]
xor bl, cl
inc eax
mov byte [edx], bl
inc edx
dec esi
jne 0x10016d7a
pop edi
pop esi
pop ebx
add esp, 0xfc
ret