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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0x10
push eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x60], esi
push eax
call fcn.1050a090
add esp, 0xc
lea eax, [esp + 0x74]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x10]
xor eax, eax
mov word [esp + 0x14], ax
push 2
call fcn.104fde00
mov byte [esp + 0x1b], al
xorps xmm0, xmm0
movlpd qword [esp + 0x5c], xmm0
movlpd qword [esp + 0x64], xmm0
movlpd qword [esp + 0x6c], xmm0
test al, 2
je 0x104f614e
push 3
lea ecx, [esp + 0x14]
call fcn.104fde00
shl al, 2
or byte [esp + 0x1b], al
movzx ecx, byte [esp + 0x1b]
lea eax, [ecx + ecx*2]
cmp byte [eax*2 + 0x10a45eb2], 0
jne 0x104f525f
push 0x60
push 0
push esi
call fcn.1050a0a0
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.105116c0
mov esp, ebp
pop ebp
ret
add ecx, 0xfffffffe
cmp ecx, 0x1c
ja case.0x104f5272.4
movzx eax, byte [ecx + 0x104f6958]
jmp dword [eax*4 + 0x104f6924]
push 0xa
lea ecx, [esp + 0x14]
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov si, ax
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov di, ax
call fcn.104fde00
push 5
lea ecx, [esp + 0x14]
mov bx, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x62], ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, si
push 4
mov word [esp + 0x60], ax
call fcn.104fde00
push 4
lea ecx, [esp + 0x14]
mov word [esp + 0x6c], ax
call fcn.104fde00
or word [esp + 0x66], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, di
push 1
mov word [esp + 0x68], ax
call fcn.104fde00
push 4
lea ecx, [esp + 0x14]
movzx esi, ax
call fcn.104fde00
or word [esp + 0x6a], ax
lea ecx, [esp + 0x10]
push 4
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x72], ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, bx
push 1
mov word [esp + 0x70], ax
call fcn.104fde00
add ax, ax
lea ecx, [esp + 0x10]
push 4
or si, ax
call fcn.104fde00
or word [esp + 0x70], ax
lea ecx, [esp + 0x10]
push 5
call fcn.104fde00
or word [esp + 0x60], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 2
lea ecx, [esp + 0x10]
push 5
or si, ax
call fcn.104fde00
or word [esp + 0x62], ax
push 1
lea ecx, [esp + 0x14]
call fcn.104fde00
shl ax, 3
or ax, si
jmp 0x104f645c
push 0xa
lea ecx, [esp + 0x14]
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov word [esp + 0x60], ax
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov word [esp + 0x68], ax
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov word [esp + 0x70], ax
call fcn.104fde00
or word [esp + 0x5e], ax
lea ecx, [esp + 0x10]
push 0xa
call fcn.104fde00
or word [esp + 0x66], ax
lea ecx, [esp + 0x10]
push 0xa
call fcn.104fde00
or word [esp + 0x6e], ax
jmp case.0x104f5272.4
push 0xa
lea ecx, [esp + 0x14]
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov si, ax
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov di, ax
call fcn.104fde00
push 4
lea ecx, [esp + 0x14]
mov bx, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x62], ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, si
push 1
mov word [esp + 0x60], ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 4
movzx esi, ax
call fcn.104fde00
movzx eax, ax
lea ecx, [esp + 0x10]
push 5
mov dword [esp + 0x20], eax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x6a], ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, di
push 4
mov word [esp + 0x68], ax
call fcn.104fde00
or ax, si
lea ecx, [esp + 0x10]
push 4
mov word [esp + 0x6e], ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x72], ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, bx
push 1
mov word [esp + 0x70], ax
call fcn.104fde00
add ax, ax
lea ecx, [esp + 0x10]
or ax, word [esp + 0x72]
push 4
movzx esi, ax
call fcn.104fde00
or word [esp + 0x70], ax
lea ecx, [esp + 0x10]
push 4
call fcn.104fde00
or word [esp + 0x60], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
or si, ax
call fcn.104fde00
shl ax, 2
or si, ax
push 4
lea ecx, [esp + 0x14]
call fcn.104fde00
or word [esp + 0x62], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 4
or ax, word [esp + 0x1c]
mov word [esp + 0x68], ax
jmp 0x104f5399
push 0xa
lea ecx, [esp + 0x14]
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov si, ax
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov di, ax
call fcn.104fde00
push 9
lea ecx, [esp + 0x14]
mov bx, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x62], ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, si
push 9
mov word [esp + 0x60], ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x6a], ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, di
push 9
mov word [esp + 0x68], ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x72], ax
call fcn.104fde00
shl ax, 0xa
or ax, bx
mov word [esp + 0x6c], ax
jmp case.0x104f5272.4
push 0xa
lea ecx, [esp + 0x14]
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov si, ax
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov di, ax
call fcn.104fde00
push 4
lea ecx, [esp + 0x14]
mov bx, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x62], ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, si
push 1
mov word [esp + 0x60], ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 4
movzx esi, ax
call fcn.104fde00
push 4
lea ecx, [esp + 0x14]
mov word [esp + 0x6c], ax
call fcn.104fde00
or word [esp + 0x66], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, di
push 1
mov word [esp + 0x68], ax
call fcn.104fde00
push 4
lea ecx, [esp + 0x14]
movzx edi, ax
call fcn.104fde00
or word [esp + 0x6a], ax
lea ecx, [esp + 0x10]
push 5
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x72], ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, bx
push 4
mov word [esp + 0x70], ax
call fcn.104fde00
or ax, si
lea ecx, [esp + 0x10]
push 4
mov word [esp + 0x74], ax
call fcn.104fde00
or word [esp + 0x60], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
add ax, ax
lea ecx, [esp + 0x10]
push 1
or di, ax
call fcn.104fde00
shl ax, 2
lea ecx, [esp + 0x10]
push 4
or di, ax
call fcn.104fde00
or word [esp + 0x62], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 4
or di, ax
jmp 0x104f644a
push 0xa
lea ecx, [esp + 0x14]
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov si, ax
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov di, ax
call fcn.104fde00
push 8
lea ecx, [esp + 0x14]
mov bx, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x62], ax
call fcn.104fde00
shl ax, 0xb
lea ecx, [esp + 0x10]
or ax, si
push 1
movzx esi, ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, si
push 8
mov word [esp + 0x60], ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x6a], ax
call fcn.104fde00
shl ax, 0xb
lea ecx, [esp + 0x10]
or ax, di
push 1
movzx esi, ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, si
push 8
mov word [esp + 0x68], ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x72], ax
call fcn.104fde00
shl ax, 0xb
or ax, bx
movzx esi, ax
push 1
lea ecx, [esp + 0x14]
call fcn.104fde00
shl ax, 0xa
or ax, si
mov word [esp + 0x6c], ax
jmp case.0x104f5272.4
push 9
lea ecx, [esp + 0x14]
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x60], ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
movzx eax, ax
push 9
mov dword [esp + 0x20], eax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x68], ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
or ax, word [esp + 0x68]
push 9
movzx edi, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x70], ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
or ax, word [esp + 0x72]
push 5
movzx ebx, ax
call fcn.104fde00
or word [esp + 0x5e], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
or ax, word [esp + 0x6a]
push 4
movzx esi, ax
call fcn.104fde00
or ax, di
lea ecx, [esp + 0x10]
push 5
mov word [esp + 0x6c], ax
call fcn.104fde00
or word [esp + 0x66], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
push 4
lea ecx, [esp + 0x14]
or bx, ax
call fcn.104fde00
or ax, si
lea ecx, [esp + 0x10]
push 5
mov word [esp + 0x6e], ax
call fcn.104fde00
or word [esp + 0x6e], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
add ax, ax
lea ecx, [esp + 0x10]
push 4
or bx, ax
call fcn.104fde00
or ax, word [esp + 0x1c]
lea ecx, [esp + 0x10]
push 5
mov word [esp + 0x74], ax
call fcn.104fde00
or word [esp + 0x60], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 2
or bx, ax
push 5
lea ecx, [esp + 0x14]
call fcn.104fde00
or word [esp + 0x62], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 3
or ax, bx
jmp 0x104f645c
push 0xa
lea ecx, [esp + 0x14]
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov si, ax
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov di, ax
call fcn.104fde00
push 4
lea ecx, [esp + 0x14]
mov bx, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x62], ax
call fcn.104fde00
shl ax, 0xf
lea ecx, [esp + 0x10]
or ax, si
push 1
movzx esi, ax
call fcn.104fde00
shl ax, 0xe
lea ecx, [esp + 0x10]
push 1
or si, ax
call fcn.104fde00
shl ax, 0xd
lea ecx, [esp + 0x10]
push 1
or si, ax
call fcn.104fde00
shl ax, 0xc
lea ecx, [esp + 0x10]
push 1
or si, ax
call fcn.104fde00
shl ax, 0xb
lea ecx, [esp + 0x10]
push 1
or si, ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, si
push 4
mov word [esp + 0x60], ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x6a], ax
call fcn.104fde00
shl ax, 0xf
lea ecx, [esp + 0x10]
or ax, di
push 1
movzx esi, ax
call fcn.104fde00
shl ax, 0xe
lea ecx, [esp + 0x10]
push 1
or si, ax
call fcn.104fde00
shl ax, 0xd
lea ecx, [esp + 0x10]
push 1
or si, ax
call fcn.104fde00
shl ax, 0xc
lea ecx, [esp + 0x10]
push 1
or si, ax
call fcn.104fde00
shl ax, 0xb
lea ecx, [esp + 0x10]
push 1
or si, ax
call fcn.104fde00
shl ax, 0xa
lea ecx, [esp + 0x10]
or ax, si
push 4
mov word [esp + 0x68], ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x72], ax
call fcn.104fde00
shl ax, 0xf
lea ecx, [esp + 0x10]
or ax, bx
push 1
movzx esi, ax
call fcn.104fde00
shl ax, 0xe
lea ecx, [esp + 0x10]
push 1
or si, ax
call fcn.104fde00
shl ax, 0xd
lea ecx, [esp + 0x10]
push 1
or si, ax
call fcn.104fde00
shl ax, 0xc
lea ecx, [esp + 0x10]
push 1
or si, ax
call fcn.104fde00
shl ax, 0xb
or si, ax
jmp 0x104f5826
push 8
lea ecx, [esp + 0x14]
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x60], ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 1
movzx ebx, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
movzx eax, ax
push 8
mov dword [esp + 0x20], eax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x68], ax
call fcn.104fde00
shl ax, 2
lea ecx, [esp + 0x10]
push 1
movzx edi, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
or ax, word [esp + 0x68]
push 8
movzx esi, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x70], ax
call fcn.104fde00
shl ax, 3
lea ecx, [esp + 0x10]
push 1
or di, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 6
or di, ax
call fcn.104fde00
or word [esp + 0x5e], ax
lea ecx, [esp + 0x10]
push 4
call fcn.104fde00
or ax, si
lea ecx, [esp + 0x10]
push 5
mov word [esp + 0x6c], ax
call fcn.104fde00
or word [esp + 0x66], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
push 4
lea ecx, [esp + 0x14]
or di, ax
call fcn.104fde00
or ax, bx
lea ecx, [esp + 0x10]
push 5
mov word [esp + 0x6e], ax
call fcn.104fde00
or word [esp + 0x6e], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
add ax, ax
lea ecx, [esp + 0x10]
or ax, di
push 4
mov word [esp + 0x76], ax
call fcn.104fde00
or ax, word [esp + 0x1c]
mov word [esp + 0x70], ax
push 6
lea ecx, [esp + 0x14]
call fcn.104fde00
or word [esp + 0x60], ax
lea ecx, [esp + 0x10]
push 6
call fcn.104fde00
or word [esp + 0x62], ax
jmp case.0x104f5272.4
push 8
lea ecx, [esp + 0x14]
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x60], ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov bx, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
movzx eax, ax
push 8
mov dword [esp + 0x20], eax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x68], ax
call fcn.104fde00
shl ax, 5
lea ecx, [esp + 0x10]
or ax, word [esp + 0x68]
push 1
movzx edi, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 8
or di, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x70], ax
call fcn.104fde00
shl ax, 5
lea ecx, [esp + 0x10]
or ax, word [esp + 0x6a]
push 1
movzx esi, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
or ax, bx
push 5
movzx ebx, ax
call fcn.104fde00
or word [esp + 0x5e], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 4
or si, ax
call fcn.104fde00
or ax, di
lea ecx, [esp + 0x10]
push 6
mov word [esp + 0x6c], ax
call fcn.104fde00
or word [esp + 0x66], ax
lea ecx, [esp + 0x10]
push 4
call fcn.104fde00
or ax, si
lea ecx, [esp + 0x10]
push 5
mov word [esp + 0x6e], ax
call fcn.104fde00
or word [esp + 0x6e], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
add ax, ax
lea ecx, [esp + 0x10]
push 4
or bx, ax
call fcn.104fde00
or ax, word [esp + 0x1c]
push 5
lea ecx, [esp + 0x14]
mov word [esp + 0x74], ax
call fcn.104fde00
or word [esp + 0x60], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 2
lea ecx, [esp + 0x10]
push 5
or bx, ax
call fcn.104fde00
or word [esp + 0x62], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 3
or ax, bx
jmp 0x104f645c
push 8
lea ecx, [esp + 0x14]
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x60], ax
call fcn.104fde00
add ax, ax
lea ecx, [esp + 0x10]
push 1
movzx esi, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 8
movzx ebx, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x68], ax
call fcn.104fde00
shl ax, 5
lea ecx, [esp + 0x10]
or bx, ax
push 1
mov dword [esp + 0x20], ebx
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
or ax, word [esp + 0x68]
push 8
movzx edi, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x70], ax
call fcn.104fde00
shl ax, 5
lea ecx, [esp + 0x10]
or ax, si
push 1
movzx ebx, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 5
or bx, ax
call fcn.104fde00
or word [esp + 0x5e], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
or ax, word [esp + 0x6a]
push 4
movzx esi, ax
call fcn.104fde00
or ax, di
lea ecx, [esp + 0x10]
push 5
mov word [esp + 0x6c], ax
call fcn.104fde00
or word [esp + 0x66], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
push 4
lea ecx, [esp + 0x14]
or bx, ax
call fcn.104fde00
or ax, si
lea ecx, [esp + 0x10]
push 6
mov word [esp + 0x6e], ax
call fcn.104fde00
or word [esp + 0x6e], ax
lea ecx, [esp + 0x10]
push 4
call fcn.104fde00
or ax, word [esp + 0x1c]
push 5
lea ecx, [esp + 0x14]
mov word [esp + 0x74], ax
call fcn.104fde00
or word [esp + 0x60], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 2
lea ecx, [esp + 0x10]
push 5
or bx, ax
call fcn.104fde00
or word [esp + 0x62], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 3
or ax, bx
jmp 0x104f645c
push 6
lea ecx, [esp + 0x14]
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x60], ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 1
movzx edi, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov si, ax
call fcn.104fde00
add ax, ax
lea ecx, [esp + 0x10]
or ax, si
push 1
movzx esi, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
movzx eax, ax
push 6
mov dword [esp + 0x28], eax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x68], ax
call fcn.104fde00
shl ax, 5
lea ecx, [esp + 0x10]
or ax, word [esp + 0x68]
push 1
movzx ebx, ax
call fcn.104fde00
shl ax, 5
lea ecx, [esp + 0x10]
or word [esp + 0x24], ax
push 1
call fcn.104fde00
shl ax, 2
lea ecx, [esp + 0x10]
or si, ax
push 1
mov dword [esp + 0x20], esi
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 6
or bx, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x70], ax
call fcn.104fde00
shl ax, 5
lea ecx, [esp + 0x10]
or ax, di
push 1
movzx esi, ax
call fcn.104fde00
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
shl ax, 3
push 1
or di, ax
call fcn.104fde00
shl ax, 5
lea ecx, [esp + 0x10]
push 1
or di, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
or ax, di
push 6
mov word [esp + 0x76], ax
call fcn.104fde00
or word [esp + 0x5e], ax
lea ecx, [esp + 0x10]
push 4
call fcn.104fde00
or ax, bx
lea ecx, [esp + 0x10]
push 6
mov word [esp + 0x6c], ax
call fcn.104fde00
or word [esp + 0x66], ax
lea ecx, [esp + 0x10]
push 4
call fcn.104fde00
or ax, si
lea ecx, [esp + 0x10]
push 6
mov word [esp + 0x6e], ax
call fcn.104fde00
or word [esp + 0x6e], ax
lea ecx, [esp + 0x10]
push 4
call fcn.104fde00
or ax, word [esp + 0x24]
lea ecx, [esp + 0x10]
push 6
mov word [esp + 0x74], ax
call fcn.104fde00
or word [esp + 0x60], ax
lea ecx, [esp + 0x10]
push 6
call fcn.104fde00
or word [esp + 0x62], ax
jmp case.0x104f5272.4
movzx ecx, al
sub ecx, 0
je 0x104f630b
sub ecx, 1
jne 0x104f6465
push 1
lea ecx, [esp + 0x14]
call fcn.104fde00
shl ax, 5
lea ecx, [esp + 0x10]
push 1
movzx ebx, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 1
movzx esi, ax
call fcn.104fde00
shl ax, 5
lea ecx, [esp + 0x10]
or si, ax
push 7
mov dword [esp + 0x20], esi
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x60], ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov si, ax
call fcn.104fde00
add ax, ax
lea ecx, [esp + 0x10]
or ax, si
push 1
movzx edi, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 7
movzx esi, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x68], ax
call fcn.104fde00
shl ax, 5
lea ecx, [esp + 0x10]
or si, ax
push 1
mov dword [esp + 0x34], esi
call fcn.104fde00
shl ax, 2
lea ecx, [esp + 0x10]
push 1
or di, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
or ax, bx
push 7
movzx esi, ax
call fcn.104fde00
push 1
lea ecx, [esp + 0x14]
mov word [esp + 0x70], ax
call fcn.104fde00
shl ax, 3
lea ecx, [esp + 0x10]
push 1
or di, ax
call fcn.104fde00
shl ax, 5
lea ecx, [esp + 0x10]
push 1
or di, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
or ax, di
push 6
mov word [esp + 0x76], ax
call fcn.104fde00
or word [esp + 0x5e], ax
push 4
lea ecx, [esp + 0x14]
call fcn.104fde00
or ax, si
lea ecx, [esp + 0x10]
push 6
mov word [esp + 0x6c], ax
call fcn.104fde00
or word [esp + 0x66], ax
lea ecx, [esp + 0x10]
push 4
call fcn.104fde00
or ax, word [esp + 0x1c]
lea ecx, [esp + 0x10]
push 6
mov word [esp + 0x6e], ax
call fcn.104fde00
or word [esp + 0x6e], ax
lea ecx, [esp + 0x10]
push 4
call fcn.104fde00
or ax, word [esp + 0x30]
lea ecx, [esp + 0x10]
push 6
mov word [esp + 0x74], ax
call fcn.104fde00
or word [esp + 0x60], ax
lea ecx, [esp + 0x10]
push 6
call fcn.104fde00
or word [esp + 0x62], ax
jmp case.0x104f5272.4
push 1
lea ecx, [esp + 0x14]
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 1
movzx edi, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
push 1
movzx ebx, ax
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
movzx eax, ax
push 0xa
mov dword [esp + 0x20], eax
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov word [esp + 0x60], ax
call fcn.104fde00
push 0xa
lea ecx, [esp + 0x14]
mov word [esp + 0x68], ax
call fcn.104fde00
push 5
lea ecx, [esp + 0x14]
mov word [esp + 0x70], ax
call fcn.104fde00
or word [esp + 0x5e], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 4
lea ecx, [esp + 0x10]
or ax, word [esp + 0x6a]
push 4
movzx esi, ax
call fcn.104fde00
or ax, di
lea ecx, [esp + 0x10]
push 5
mov word [esp + 0x6c], ax
call fcn.104fde00
or word [esp + 0x66], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
push 4
or di, ax
call fcn.104fde00
or ax, si
lea ecx, [esp + 0x10]
push 5
mov word [esp + 0x6e], ax
call fcn.104fde00
or word [esp + 0x6e], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
add ax, ax
lea ecx, [esp + 0x10]
push 4
or di, ax
call fcn.104fde00
or ax, bx
lea ecx, [esp + 0x10]
push 5
mov word [esp + 0x74], ax
call fcn.104fde00
or word [esp + 0x60], ax
lea ecx, [esp + 0x10]
push 1
call fcn.104fde00
shl ax, 2
or di, ax
push 5
lea ecx, [esp + 0x14]
call fcn.104fde00
or word [esp + 0x62], ax
push 1
lea ecx, [esp + 0x14]
call fcn.104fde00
shl ax, 3
or ax, di
mov word [esp + 0x72], ax
mov al, byte [esp + 0x1b]
mov ebx, dword [ebp + 0x10]
mov esi, 1
movzx eax, al
lea eax, [eax + eax*2]
mov ecx, dword [eax*2 + 0x10a45eb0]
mov ax, word [eax*2 + 0x10a45eb4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], ecx
mov word [esp + 0x2c], ax
test bl, bl
je 0x104f64d1
shr ecx, 0x10
mov dx, si
dec ecx
shl dx, cl
mov ecx, dword [esp + 0x5c]
movzx eax, dx
xor ecx, eax
sub ecx, eax
movzx eax, dx
mov word [esp + 0x5c], cx
mov ecx, dword [esp + 0x64]
xor ecx, eax
sub ecx, eax
movzx eax, dx
mov word [esp + 0x64], cx
mov ecx, dword [esp + 0x6c]
xor ecx, eax
sub ecx, eax
mov word [esp + 0x6c], cx
mov ecx, dword [esp + 0x1c]
mov eax, ecx
xor edx, edx
shr eax, 8
mov dword [esp + 0x30], eax
shr ecx, 0x10
movzx eax, cl
mov cl, byte [esp + 0x28]
mov dword [esp + 0x1c], eax
dec eax
mov dword [esp + 0x4c], eax
xor eax, eax
cmp byte [esp + 0x30], al
mov dword [esp + 0x38], edx
setne al
lea eax, [eax*2 + 1]
mov dword [esp + 0x24], eax
test bl, bl
jne 0x104f6513
test cl, cl
je 0x104f663d
movzx ecx, byte [esp + 0x2b]
lea edi, [esp + 0x5e]
dec ecx
mov eax, esi
shl ax, cl
add edi, edx
movzx ecx, ax
mov dword [esp + 0x50], edi
mov ax, word [edi]
xor ax, cx
sub ax, cx
movzx ecx, ax
mov word [edi], ax
mov eax, esi
mov dword [esp + 0x44], ecx
lea esi, [esp + 0x66]
movzx ecx, byte [esp + 0x2c]
add esi, edx
dec ecx
mov dword [esp + 0x54], esi
shl ax, cl
movzx ecx, ax
mov ax, word [esi]
xor ax, cx
sub ax, cx
movzx ecx, ax
mov word [esi], ax
mov eax, 1
mov dword [esp + 0x48], ecx
lea esi, [esp + 0x6e]
movzx ecx, byte [esp + 0x2d]
add esi, edx
dec ecx
mov dword [esp + 0x3c], esi
shl ax, cl
movzx ecx, ax
mov ax, word [esi]
xor ax, cx
sub ax, cx
cmp byte [esp + 0x28], 0
movzx ecx, ax
mov dword [esp + 0x40], ecx
mov word [esi], ax
je 0x104f6630
mov ecx, dword [esp + 0x1c]
mov eax, 1
shl ax, cl
dec ax
mov ebx, dword [ebp + 0x10]
movzx ecx, ax
mov eax, dword [esp + 0x5c]
add eax, dword [esp + 0x44]
and eax, ecx
mov word [edi], ax
movzx esi, ax
mov eax, dword [esp + 0x64]
add eax, dword [esp + 0x48]
and eax, ecx
movzx edi, ax
mov word [esp + edx + 0x66], ax
mov eax, dword [esp + 0x6c]
add eax, dword [esp + 0x40]
and eax, ecx
movzx ecx, ax
mov dword [esp + 0x40], ecx
mov word [esp + edx + 0x6e], ax
test bl, bl
je 0x104f6630
mov ecx, dword [esp + 0x4c]
mov edx, 1
shl dx, cl
mov ecx, dword [esp + 0x40]
movzx eax, dx
xor esi, eax
sub esi, eax
mov eax, dword [esp + 0x50]
mov word [eax], si
movzx eax, dx
xor edi, eax
sub edi, eax
mov eax, dword [esp + 0x54]
mov word [eax], di
movzx eax, dx
mov edx, dword [esp + 0x38]
xor ecx, eax
sub ecx, eax
mov eax, dword [esp + 0x3c]
mov word [eax], cx
mov eax, dword [esp + 0x24]
mov esi, 1
mov cl, byte [esp + 0x28]
add edx, 2
sub eax, 1
mov dword [esp + 0x38], edx
mov dword [esp + 0x24], eax
jne 0x104f6507
xor eax, eax
xor esi, esi
cmp byte [esp + 0x30], al
setne al
lea eax, [eax*2 + 2]
mov dword [esp + 0x3c], eax
mov edi, eax
nop dword [eax]
push dword [esp + 0x2a]
movzx eax, word [esp + esi + 0x60]
push ebx
push eax
call fcn.104f4e40
push dword [esp + 0x36]
mov word [esp + esi + 0x6c], ax
movzx eax, word [esp + esi + 0x74]
push ebx
push eax
call fcn.104f4e40
push dword [esp + 0x42]
mov word [esp + esi + 0x80], ax
movzx eax, word [esp + esi + 0x88]
push ebx
push eax
call fcn.104f4e40
add esp, 0x24
mov word [esp + esi + 0x6c], ax
lea esi, [esi + 2]
sub edi, 1
jne 0x104f6670
mov dl, byte [esp + 0x29]
test dl, dl
je 0x104f66db
push 5
lea ecx, [esp + 0x14]
call fcn.104fde00
mov dl, byte [esp + 0x29]
mov ah, al
jmp 0x104f66dd
xor ah, ah
test dl, dl
mov byte [esp + 0x1b], ah
sete ch
add ch, 3
movzx edi, ch
sub edi, 2
mov byte [esp + 0x23], ch
shl edi, 4
add edi, 0x10a45e80
xor al, al
mov dword [esp + 0x1c], edi
mov byte [esp + 0x22], al
nop word [eax + eax]
mov cl, al
mov dword [esp + 0x24], 4
shl cl, 2
mov byte [esp + 0x21], cl
xor bl, bl
xor al, al
test dl, dl
je 0x104f6746
movzx eax, ah
mov bx, word [eax*2 + 0x10a45c40]
shr bx, cl
and bl, 1
je 0x104f6744
mov al, byte [eax + 0x10a45dc0]
jmp 0x104f6746
xor al, al
mov si, word [esp + 0x14]
cmp cl, al
mov cl, ch
mov dword [esp + 0x30], 0
sete al
mov edx, 4
sub cl, al
mov eax, dword [esp + 0x14]
and eax, 7
mov byte [esp + 0x37], cl
mov dword [esp + 0x3c], eax
mov eax, 0x10
movzx ecx, si
shr ecx, 3
sub eax, ecx
cmp eax, 4
cmovg eax, edx
push eax
mov eax, dword [esp + 0x14]
add eax, ecx
push eax
lea eax, [esp + 0x38]
push eax
call fcn.1050a090
movzx eax, byte [esp + 0x43]
add bl, bl
mov cl, byte [esp + 0x48]
add si, ax
mov eax, dword [esp + 0x3c]
add esp, 0xc
shr eax, cl
mov cl, byte [esp + 0x37]
movzx edx, al
mov al, 1
shl al, cl
dec al
mov word [esp + 0x14], si
movzx eax, al
and edx, eax
mov al, 0x40
mov cl, byte [edx + edi]
sub al, cl
movzx edx, bl
movzx edi, cl
movzx ebx, al
mov dword [esp + 0x30], ebx
movzx ecx, word [esp + edx*2 + 0x5e]
movzx eax, word [esp + edx*2 + 0x5c]
imul ecx, edi
imul eax, ebx
mov ebx, dword [ebp + 0x10]
add ecx, 0x20
add eax, ecx
shr eax, 6
movzx esi, ax
mov ecx, esi
test bl, bl
je 0x104f6815
and ecx, 0x7fff
and esi, 0x8000
mov eax, ecx
shl eax, 5
sub eax, ecx
sar eax, 5
or eax, esi
jmp 0x104f681f
mov eax, ecx
shl eax, 5
sub eax, ecx
sar eax, 6
movzx ecx, word [esp + edx*2 + 0x66]
movzx eax, ax
mov dword [esp + 0x38], eax
movzx eax, word [esp + edx*2 + 0x64]
imul eax, dword [esp + 0x30]
imul ecx, edi
add ecx, 0x20
add eax, ecx
shr eax, 6
movzx esi, ax
mov ecx, esi
test bl, bl
je 0x104f6863
and ecx, 0x7fff
and esi, 0x8000
mov eax, ecx
shl eax, 5
sub eax, ecx
sar eax, 5
or eax, esi
jmp 0x104f686d
mov eax, ecx
shl eax, 5
sub eax, ecx
sar eax, 6
movzx ecx, word [esp + edx*2 + 0x6e]
movzx esi, ax
movzx eax, word [esp + edx*2 + 0x6c]
imul eax, dword [esp + 0x30]
imul ecx, edi
add ecx, 0x20
add eax, ecx
shr eax, 6
movzx edx, ax
mov ecx, edx
test bl, bl
je 0x104f68ad
and ecx, 0x7fff
and edx, 0x8000
mov eax, ecx
shl eax, 5
sub eax, ecx
sar eax, 5
or eax, edx
jmp 0x104f68b7
mov eax, ecx
shl eax, 5
sub eax, ecx
sar eax, 6
mov cl, byte [esp + 0x21]
mov ebx, dword [esp + 0x58]
mov edi, dword [esp + 0x38]
mov ch, byte [esp + 0x23]
movzx edx, ax
movzx eax, cl
inc cl
sub dword [esp + 0x24], 1
mov byte [esp + 0x21], cl
lea eax, [eax + eax*2]
mov word [ebx + eax*2], di
mov edi, dword [esp + 0x1c]
mov word [ebx + eax*2 + 4], dx
mov dl, byte [esp + 0x29]
mov word [ebx + eax*2 + 2], si
mov ah, byte [esp + 0x1b]
jne 0x104f6721
mov al, byte [esp + 0x22]
inc al
mov byte [esp + 0x22], al
cmp al, 4
jb 0x104f6710
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.105116c0
mov esp, ebp
pop ebp
ret