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

Disassembly:
sub esp, 0x74
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push ebp
mov ebp, dword [esp + 0x80]
push esi
xor esi, esi
mov dword [esp + 0x48], ebp
push edi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x1c], edi
mov word [esp + 0x20], si
lea ebp, [esi + 4]
mov byte [esp + 0x13], 0
nop word [eax + eax]
mov ebx, dword [esp + 0x20]
mov eax, 0x10
movzx edx, si
and ebx, 7
shr edx, 3
sub eax, edx
mov dword [esp + 0x14], 0
cmp eax, 4
cmovg eax, ebp
push eax
lea eax, [edx + edi]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1050a090
mov eax, dword [esp + 0x20]
mov cl, bl
shr eax, cl
inc si
add esp, 0xc
mov word [esp + 0x20], si
test al, 1
mov al, byte [esp + 0x13]
jne 0x104f6df5
inc al
mov byte [esp + 0x13], al
cmp al, 8
jb 0x104f6da0
mov ebp, dword [esp + 0x4c]
cmp al, 8
jne 0x104f6e1d
push 0x40
push 0
push ebp
call fcn.1050a0a0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.105116c0
add esp, 0x74
ret
movzx eax, al
lea ebp, [eax + eax*4]
mov bl, byte [ebp*2 + 0x10a45f76]
mov byte [esp + 0x13], bl
test bl, bl
jne 0x104f6e3d
mov bl, byte [ebp*2 + 0x10a45f77]
mov byte [esp + 0x13], bl
movzx eax, byte [ebp*2 + 0x10a45f71]
lea ecx, [esp + 0x1c]
push eax
call fcn.104fde00
movzx ecx, byte [ebp*2 + 0x10a45f72]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x3b], al
call fcn.104fde00
movzx ecx, byte [ebp*2 + 0x10a45f73]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x2b], al
call fcn.104fde00
mov cl, byte [ebp*2 + 0x10a45f70]
mov si, word [esp + 0x20]
mov byte [esp + 0x1b], al
lea eax, [ebp*2 + 0x10a45f74]
movzx ebx, bl
mov byte [esp + 0x11], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], eax
test cl, cl
jne 0x104f6fe7
mov dl, cl
mov dword [esp + 0x28], esi
cmp byte [ebp*2 + 0x10a45f75], 0
je 0x104f732e
mov byte [esp + 0x11], 0
test cl, cl
je 0x104f7349
nop dword [eax + eax]
mov al, byte [ebp*2 + 0x10a45f75]
mov edx, 4
mov ebx, dword [esp + 0x20]
mov byte [esp + 0x12], al
and ebx, 7
movzx ecx, si
mov eax, 0x10
shr ecx, 3
sub eax, ecx
mov dword [esp + 0x14], 0
cmp eax, 4
cmovg eax, edx
push eax
mov eax, dword [esp + 0x20]
add eax, ecx
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1050a090
movzx eax, byte [esp + 0x1e]
mov cl, bl
mov edx, dword [esp + 0x20]
add ax, si
movzx edi, byte [esp + 0x1d]
movzx esi, ax
mov al, 1
shr edx, cl
mov ebx, esi
mov cl, byte [esp + 0x1e]
and ebx, 7
shl al, cl
mov ecx, dword [esp + 0x38]
dec al
and dl, al
mov dword [esp + 0x20], 0
mov al, byte [ebp*2 + 0x10a45f75]
shl dl, cl
mov ecx, esi
mov byte [esp + 0x1e], al
mov eax, 0x10
shr ecx, 3
sub eax, ecx
mov byte [esp + edi*2 + 0x84], dl
cmp eax, 4
mov edx, 4
cmovg eax, edx
push eax
mov eax, dword [esp + 0x2c]
add eax, ecx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.1050a090
mov ah, byte [esp + 0x2a]
mov cl, bl
mov ebx, dword [esp + 0x44]
mov al, 1
movzx edx, ah
add esp, 0x18
add dx, si
mov esi, edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x14]
shr edx, cl
mov cl, ah
shl al, cl
mov ecx, ebx
dec al
mov word [esp + 0x20], si
and dl, al
mov al, byte [esp + 0x11]
shl dl, cl
inc al
mov byte [esp + edi*2 + 0x79], dl
mov dl, byte [ebp*2 + 0x10a45f70]
mov byte [esp + 0x11], al
cmp al, dl
jb 0x104f6ed0
jmp 0x104f7349
lea eax, [ebp*2 + 0x10a45f74]
mov al, byte [eax]
mov edi, 4
mov ebx, dword [esp + 0x20]
mov byte [esp + 0x12], al
and ebx, 7
movzx ecx, si
mov eax, 0x10
shr ecx, 3
sub eax, ecx
mov dword [esp + 0x14], 0
cmp eax, 4
cmovg eax, edi
push eax
mov eax, dword [esp + 0x20]
add eax, ecx
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1050a090
movzx eax, byte [esp + 0x1e]
mov cl, bl
mov edx, dword [esp + 0x20]
add ax, si
movzx edi, byte [esp + 0x1d]
movzx esi, ax
mov al, 1
shr edx, cl
mov ebx, esi
mov cl, byte [esp + 0x1e]
and ebx, 7
shl al, cl
mov ecx, dword [esp + 0x38]
dec al
and dl, al
mov dword [esp + 0x20], 0
mov al, byte [ebp*2 + 0x10a45f74]
shl dl, cl
lea ecx, [ebp*2 + 0x10a45f74]
mov byte [esp + 0x1e], al
mov ecx, esi
shr ecx, 3
mov eax, 0x10
sub eax, ecx
mov byte [esp + edi*2 + 0x6c], dl
cmp eax, 4
mov edx, 4
cmovg eax, edx
push eax
mov eax, dword [esp + 0x2c]
add eax, ecx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.1050a090
movzx edx, byte [esp + 0x2a]
mov cl, bl
mov ebx, dword [esp + 0x44]
add dx, si
mov esi, edx
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x2c]
mov al, 1
shr edx, cl
add esp, 0x18
mov cl, byte [esp + 0x12]
shl al, cl
mov ecx, ebx
dec al
mov word [esp + 0x20], si
and dl, al
mov al, byte [esp + 0x11]
shl dl, cl
inc al
mov cl, byte [ebp*2 + 0x10a45f70]
mov byte [esp + edi*2 + 0x61], dl
mov byte [esp + 0x11], al
cmp al, cl
jb 0x104f6fe0
mov byte [esp + 0x11], 0
lea edx, [ebp*2 + 0x10a45f74]
mov eax, edx
mov edi, edx
mov dword [esp + 0x38], eax
mov dl, cl
test cl, cl
je 0x104f7216
nop dword [eax]
mov al, byte [edi]
mov edx, 4
mov ebx, dword [esp + 0x20]
mov byte [esp + 0x12], al
and ebx, 7
movzx ecx, si
mov eax, 0x10
shr ecx, 3
sub eax, ecx
mov dword [esp + 0x14], 0
cmp eax, 4
mov dword [esp + 0x30], edi
cmovg eax, edx
push eax
mov eax, dword [esp + 0x20]
add eax, ecx
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1050a090
movzx eax, byte [esp + 0x1e]
mov cl, bl
mov edx, dword [esp + 0x20]
add ax, si
movzx edi, byte [esp + 0x1d]
movzx esi, ax
mov al, 1
shr edx, cl
mov ebx, esi
mov cl, byte [esp + 0x1e]
and ebx, 7
shl al, cl
mov ecx, dword [esp + 0x38]
dec al
and dl, al
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x3c]
shl dl, cl
mov ecx, esi
shr ecx, 3
mov byte [esp + edi*2 + 0x74], dl
mov edx, 4
mov al, byte [eax]
mov byte [esp + 0x1e], al
mov eax, 0x10
sub eax, ecx
cmp eax, 4
cmovg eax, edx
push eax
mov eax, dword [esp + 0x2c]
add eax, ecx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.1050a090
mov ah, byte [esp + 0x2a]
mov cl, bl
mov ebx, dword [esp + 0x44]
mov al, 1
movzx edx, ah
add esp, 0x18
add dx, si
mov esi, edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x14]
shr edx, cl
mov cl, ah
shl al, cl
mov ecx, ebx
dec al
mov word [esp + 0x20], si
and dl, al
mov al, byte [esp + 0x11]
shl dl, cl
inc al
mov cl, byte [ebp*2 + 0x10a45f70]
mov byte [esp + edi*2 + 0x69], dl
cmp al, cl
mov edi, dword [esp + 0x30]
mov dl, cl
mov byte [esp + 0x11], al
jb 0x104f7110
mov byte [esp + 0x11], 0
test cl, cl
je 0x104f6eb0
mov edx, dword [esp + 0x38]
mov edi, 4
mov ebx, dword [esp + 0x20]
movzx ecx, si
and ebx, 7
shr ecx, 3
mov al, byte [edx]
mov byte [esp + 0x12], al
mov eax, 0x10
sub eax, ecx
mov dword [esp + 0x14], 0
cmp eax, 4
mov dword [esp + 0x38], edx
cmovg eax, edi
push eax
mov eax, dword [esp + 0x20]
add eax, ecx
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1050a090
movzx eax, byte [esp + 0x1e]
mov cl, bl
mov edx, dword [esp + 0x20]
add ax, si
movzx edi, byte [esp + 0x1d]
movzx esi, ax
mov al, 1
shr edx, cl
mov ebx, esi
mov cl, byte [esp + 0x1e]
and ebx, 7
shl al, cl
mov ecx, dword [esp + 0x38]
dec al
and dl, al
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x44]
shl dl, cl
mov ecx, esi
shr ecx, 3
mov byte [esp + edi*2 + 0x7c], dl
mov edx, 4
mov al, byte [eax]
mov byte [esp + 0x1e], al
mov eax, 0x10
sub eax, ecx
cmp eax, 4
cmovg eax, edx
push eax
mov eax, dword [esp + 0x2c]
add eax, ecx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.1050a090
mov ah, byte [esp + 0x2a]
mov cl, bl
mov ebx, dword [esp + 0x44]
mov al, 1
movzx edx, ah
add esp, 0x18
add dx, si
mov esi, edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x14]
shr edx, cl
mov cl, ah
shl al, cl
mov ecx, ebx
dec al
mov word [esp + 0x20], si
and dl, al
mov al, byte [esp + 0x11]
shl dl, cl
inc al
mov cl, byte [ebp*2 + 0x10a45f70]
mov byte [esp + edi*2 + 0x71], dl
cmp al, cl
mov byte [esp + 0x11], al
mov dl, cl
jb 0x104f7223
jmp 0x104f6eb0
push 6
lea eax, [esp + 0x7c]
push 0xff
push eax
call fcn.1050a0a0
mov dl, byte [ebp*2 + 0x10a45f70]
add esp, 0xc
mov ah, byte [esp + 0x13]
mov al, dl
mov edi, dword [esp + 0x1c]
test ah, ah
je 0x104f747c
mov byte [esp + 0x11], 0
test dl, dl
je 0x104f747c
mov edx, dword [esp + 0x28]
mov ecx, ebx
movzx eax, ah
mov dword [esp + 0x30], eax
mov al, 1
shl al, cl
dec al
mov byte [esp + 0x1a], al
nop
mov ebx, dword [esp + 0x20]
mov eax, 0x10
movzx ecx, dx
and ebx, 7
shr ecx, 3
mov edx, 4
sub eax, ecx
mov dword [esp + 0x14], 0
cmp eax, 4
cmovg eax, edx
push eax
lea eax, [edi + ecx]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1050a090
mov eax, dword [esp + 0x20]
mov cl, bl
mov edx, dword [esp + 0x3c]
add esp, 0xc
add edx, dword [esp + 0x20]
shr eax, cl
and al, byte [esp + 0x1a]
cmp byte [ebp*2 + 0x10a45f77], 0
movzx esi, dx
mov word [esp + 0x20], dx
mov dword [esp + 0x40], eax
jne 0x104f7432
mov ecx, esi
mov dword [esp + 0x14], 0
shr ecx, 3
mov eax, 0x10
sub eax, ecx
mov ebx, esi
and ebx, 7
mov edx, 4
cmp eax, 4
cmovg eax, edx
push eax
lea eax, [edi + ecx]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1050a090
mov edx, dword [esp + 0x3c]
mov cl, bl
mov ebx, dword [esp + 0x20]
add edx, esi
shr ebx, cl
add esp, 0xc
and bl, byte [esp + 0x1a]
mov word [esp + 0x20], dx
jmp 0x104f7434
mov bl, al
movzx eax, byte [esp + 0x11]
mov ecx, dword [esp + 0x40]
add eax, eax
or byte [esp + eax + 0x60], cl
or byte [esp + eax + 0x68], cl
or byte [esp + eax + 0x70], cl
or byte [esp + eax + 0x78], cl
mov cl, byte [esp + 0x11]
or byte [esp + eax + 0x61], bl
inc cl
or byte [esp + eax + 0x69], bl
or byte [esp + eax + 0x71], bl
or byte [esp + eax + 0x79], bl
mov al, byte [ebp*2 + 0x10a45f70]
mov byte [esp + 0x11], cl
cmp cl, al
jb 0x104f7380
mov ah, byte [esp + 0x13]
mov ecx, dword [esp + 0x3c]
mov cl, byte [ecx]
add cl, ah
test al, al
je 0x104f7557
movzx ecx, cl
mov esi, 1
shl esi, cl
xor ebx, ebx
movzx edi, al
nop dword [eax + eax]
movzx eax, byte [esp + ebx + 0x60]
lea ebx, [ebx + 2]
imul eax, eax, 0xff
dec eax
add eax, esi
mov edx, eax
shr edx, cl
add edx, eax
movzx eax, byte [esp + ebx + 0x5f]
imul eax, eax, 0xff
shr edx, cl
mov byte [esp + ebx + 0x5e], dl
dec eax
add eax, esi
mov edx, eax
shr edx, cl
add edx, eax
movzx eax, byte [esp + ebx + 0x66]
imul eax, eax, 0xff
shr edx, cl
mov byte [esp + ebx + 0x5f], dl
dec eax
add eax, esi
mov edx, eax
shr edx, cl
add edx, eax
movzx eax, byte [esp + ebx + 0x67]
imul eax, eax, 0xff
shr edx, cl
mov byte [esp + ebx + 0x66], dl
dec eax
add eax, esi
mov edx, eax
shr edx, cl
add edx, eax
movzx eax, byte [esp + ebx + 0x6e]
imul eax, eax, 0xff
shr edx, cl
mov byte [esp + ebx + 0x67], dl
dec eax
add eax, esi
mov edx, eax
shr edx, cl
add edx, eax
movzx eax, byte [esp + ebx + 0x6f]
imul eax, eax, 0xff
shr edx, cl
mov byte [esp + ebx + 0x6e], dl
dec eax
add eax, esi
mov edx, eax
shr edx, cl
add edx, eax
shr edx, cl
mov byte [esp + ebx + 0x6f], dl
sub edi, 1
jne 0x104f74a0
mov al, byte [ebp*2 + 0x10a45f70]
mov edi, dword [esp + 0x1c]
mov ah, byte [esp + 0x13]
mov cl, byte [ebp*2 + 0x10a45f75]
test cl, cl
je 0x104f75bc
add cl, ah
test al, al
je 0x104f75bc
movzx ecx, cl
lea esi, [esp + 0x79]
mov ebx, 1
movzx edi, al
shl ebx, cl
nop dword [eax]
movzx eax, byte [esi - 1]
lea esi, [esi + 2]
imul eax, eax, 0xff
dec eax
add eax, ebx
mov edx, eax
shr edx, cl
add edx, eax
movzx eax, byte [esi - 2]
imul eax, eax, 0xff
shr edx, cl
mov byte [esi - 3], dl
dec eax
add eax, ebx
mov edx, eax
shr edx, cl
add edx, eax
shr edx, cl
mov byte [esi - 2], dl
sub edi, 1
jne 0x104f7580
mov edi, dword [esp + 0x1c]
mov cl, byte [ebp*2 + 0x10a45f78]
mov dh, byte [ebp*2 + 0x10a45f79]
movzx eax, cl
sub eax, 2
mov byte [esp + 0x13], dh
shl eax, 4
add eax, 0x10a45e80
mov dword [esp + 0x44], eax
test dh, dh
je 0x104f75f2
movzx eax, dh
sub eax, 2
shl eax, 4
add eax, 0x10a45e80
movzx ecx, cl
xor dl, dl
shl cx, 4
mov dword [esp + 0x48], eax
dec cx
movzx eax, byte [ebp*2 + 0x10a45f70]
movzx ecx, cx
imul ecx, eax
mov dword [esp + 0x38], 0
mov byte [esp + 0x12], dl
movzx eax, cx
mov cl, byte [esp + 0x1b]
mov dword [esp + 0x3c], eax
movzx eax, cl
mov ebx, dword [esp + eax*4 + 0x44]
lea eax, [esp + eax + 0x28]
mov dword [esp + 0x50], eax
xor eax, eax
test cl, cl
mov dword [esp + 0x54], ebx
lea ecx, [esp + 0x28]
sete al
add ecx, eax
mov dword [esp + 0x58], ecx
mov eax, dword [esp + eax*4 + 0x44]
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x27]
mov dword [esp + 0x44], eax
nop dword [eax + eax]
shl dl, 2
mov byte [esp + 0x1b], dl
mov dword [esp + 0x40], 4
nop
movzx ecx, byte [ebp*2 + 0x10a45f70]
xor bl, bl
xor al, al
sub ecx, 2
je 0x104f76af
sub ecx, 1
jne 0x104f76d0
mov al, byte [esp + 0x37]
movzx esi, al
movzx ecx, dl
add ecx, ecx
mov ebx, dword [esi*4 + 0x10a45cc0]
shr ebx, cl
and bl, 3
je 0x104f76ce
movzx eax, bl
shl eax, 6
mov al, byte [eax + esi + 0x10a45dc0]
jmp 0x104f76d0
movzx eax, byte [esp + 0x37]
mov cl, dl
mov bx, word [eax*2 + 0x10a45c40]
shr bx, cl
and bl, 1
je 0x104f76ce
mov al, byte [eax + 0x10a45dc0]
jmp 0x104f76d0
xor al, al
cmp dl, al
mov al, byte [ebp*2 + 0x10a45f78]
sete cl
sub al, cl
mov byte [esp + 0x1a], al
test dh, dh
je 0x104f76f5
mov al, byte [ebp*2 + 0x10a45f79]
sub al, cl
mov byte [esp + 0x11], al
jmp 0x104f76fa
mov byte [esp + 0x11], 0
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
add eax, esi
movzx eax, ax
mov edx, eax
mov dword [esp + 0x14], 0
mov ecx, eax
shr edx, 3
and ecx, 7
mov eax, 0x10
sub eax, edx
mov dword [esp + 0x30], ecx
cmp eax, 4
mov ecx, 4
cmovg eax, ecx
push eax
lea eax, [edi + edx]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1050a090
mov cl, byte [esp + 0x3c]
mov al, 1
mov edx, dword [esp + 0x20]
add esp, 0xc
shr edx, cl
mov cl, byte [esp + 0x1a]
shl al, cl
dec al
and dl, al
cmp byte [esp + 0x13], 0
mov byte [esp + 0x28], dl
je 0x104f77bd
mov eax, dword [esp + 0x3c]
add eax, esi
mov dword [esp + 0x14], 0
movzx eax, ax
mov edx, eax
mov ecx, eax
shr edx, 3
and ecx, 7
mov eax, 0x10
mov dword [esp + 0x30], ecx
sub eax, edx
mov ecx, 4
cmp eax, 4
cmovg eax, ecx
push eax
lea eax, [edi + edx]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.1050a090
mov cl, byte [esp + 0x3c]
mov al, 1
mov edx, dword [esp + 0x20]
add esp, 0xc
shr edx, cl
mov cl, byte [esp + 0x11]
shl al, cl
dec al
and dl, al
jmp 0x104f77c1
mov cl, byte [esp + 0x11]
movzx eax, byte [esp + 0x1a]
add bl, bl
add word [esp + 0x38], ax
movzx eax, cl
add word [esp + 0x3c], ax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov byte [esp + 0x29], dl
mov edx, dword [esp + 0x5c]
movzx eax, byte [eax]
movzx edi, bl
mov cl, byte [eax + ecx]
mov eax, dword [esp + 0x58]
movzx ebx, byte [esp + edi + 0x61]
movzx eax, byte [eax]
mov al, byte [eax + edx]
mov byte [esp + 0x27], al
mov al, 0x40
sub al, cl
movzx edx, cl
movzx esi, al
mov ecx, edx
movzx eax, byte [esp + edi + 0x60]
imul ebx, edx
imul eax, esi
add ax, 0x20
add bx, ax
movzx eax, byte [esp + edi + 0x68]
shr bx, 6
mov dword [esp + 0x14], ebx
movzx ebx, byte [esp + edi + 0x69]
imul ebx, edx
imul eax, esi
add ax, 0x20
add bx, ax
movzx eax, byte [esp + edi + 0x71]
mov edx, eax
shr bx, 6
movzx eax, byte [esp + edi + 0x70]
imul edx, ecx
movzx ecx, byte [esp + edi + 0x79]
imul eax, esi
mov dword [esp + 0x30], ebx
movzx ebx, byte [esp + edi + 0x78]
add dx, 0x20
add dx, ax
mov al, 0x40
shr dx, 6
mov dword [esp + 0x2c], edx
mov dl, byte [esp + 0x27]
sub al, dl
movzx eax, al
imul ebx, eax
movzx eax, dl
imul ecx, eax
mov eax, dword [esp + 0x44]
add bx, 0x20
add bx, cx
shr bx, 6
sub eax, 1
je 0x104f78b7
sub eax, 1
je 0x104f78ab
sub eax, 1
jne 0x104f78c5
mov cl, bl
mov ebx, dword [esp + 0x2c]
jmp 0x104f78c9
mov al, bl
mov bl, byte [esp + 0x30]
mov byte [esp + 0x30], al
jmp 0x104f78c5
mov ecx, dword [esp + 0x14]
mov al, bl
mov bl, cl
mov cl, al
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov dl, byte [esp + 0x1b]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x1c]
mov dh, byte [esp + 0x13]
movzx eax, dl
inc dl
sub dword [esp + 0x40], 1
mov byte [esp + 0x1b], dl
mov byte [esi + eax*4], cl
mov ecx, dword [esp + 0x30]
mov byte [esi + eax*4 + 1], cl
mov ecx, dword [esp + 0x14]
mov byte [esi + eax*4 + 2], cl
mov byte [esi + eax*4 + 3], bl
jne 0x104f7670
mov dl, byte [esp + 0x12]
inc dl
mov byte [esp + 0x12], dl
cmp dl, 4
jb 0x104f7660
mov ecx, dword [esp + 0x80]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.105116c0
add esp, 0x74
ret