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

Disassembly:
sub esp, 0xf8
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x90]
call fcn.101efb84
lea ecx, [esp + 0x30]
call fcn.101efb84
mov ebp, dword [esp + 0x108]
xor eax, eax
and ebp, 3
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], ebp
call fcn.1000c10d
cmp eax, 1
jne 0x101a66f2
mov edi, 0x800a9d34
jmp 0x101a6c97
call fcn.101db0bf
mov edi, eax
test edi, edi
js 0x101a6c97
push ebx
mov ebx, dword [esp + 0x110]
push 4
pop ecx
push 8
pop eax
test al, bl
je 0x101a6770
cmp dword [esi + 0x5c], 0
je 0x101a6765
push 0
push 0
push 0
push 1
push 0
push 0
mov ecx, esi
call fcn.101a6f91
mov edi, eax
test edi, edi
js 0x101a6c96
cmp dword [esi + 0x5c], 0
je 0x101a6c96
cmp dword [esi + 0x78], 0
je 0x101a6c91
mov ecx, esi
call fcn.100f0d07
push 4
pop ecx
mov eax, ecx
mov dword [esp + 0x10c], eax
and ebx, 0xfffb
jmp 0x101a6777
mov dword [esp + 0x10c], eax
or ebx, ecx
jmp 0x101a6777
mov eax, dword [esp + 0x10c]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], 2
test cl, al
je 0x101a6862
xor eax, eax
push 0
push dword [esi + 0x7c]
inc eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x70]
push eax
push 3
call fcn.101db19a
mov edi, eax
test edi, edi
js 0x101a6c96
cmp dword [esp + 0xb0], 5
jl 0x101a67d1
cmp dword [esp + 0xb0], 6
jg 0x101a67d1
xor eax, eax
mov dword [esp + 0x64], eax
jmp 0x101a67d5
mov eax, dword [esp + 0x64]
push 2
pop ecx
test byte [esp + 0xb8], cl
je 0x101a681f
mov ecx, dword [esi]
lea eax, [esp + 0xf8]
push eax
call fcn.101d7bfe
mov ecx, eax
movzx eax, word [esp + 0xb4]
cmp eax, dword [ecx]
push 2
pop ecx
jae 0x101a681b
cmp dword [esi + 0x5c], 0
jne 0x101a680b
test cl, bl
jne 0x101a6813
mov eax, dword [esp + 0x64]
cmp eax, ecx
jne 0x101a681f
xor eax, eax
mov dword [esp + 0x64], eax
jmp 0x101a681f
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x101a683a
mov dword [esp + 0x10], eax
test ebp, ebp
jne 0x101a6848
test cl, bl
jne 0x101a6c96
mov edi, 0xdeb6
jmp 0x101a6848
test cl, bl
je 0x101a6848
cmp eax, ecx
jne 0x101a6848
xor eax, eax
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x94]
call fcn.101f09fd
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x10c]
push 4
pop ecx
test edx, edx
jne 0x101a6912
test al, 8
je 0x101a6912
test bl, bl
jns 0x101a6885
cmp dword [esi + 0x78], edx
je 0x101a6885
inc edx
mov dword [esp + 0x10], edx
jmp 0x101a690c
push 0
push dword [esi + 0x7c]
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x70]
push eax
push ecx
call fcn.101db19a
mov edi, eax
test edi, edi
js 0x101a6c96
mov eax, dword [esp + 0x64]
test eax, eax
je 0x101a68e7
test ebx, 0x200
je 0x101a68e7
cmp dword [esp + 0xb0], 0x12
jl 0x101a68d5
cmp dword [esp + 0xb0], 0x13
jg 0x101a68d5
test byte [esp + 0xb8], 8
jne 0x101a68e7
push 4
pop ecx
test byte [esp + 0xb8], cl
jne 0x101a68e7
xor eax, eax
mov dword [esp + 0x64], eax
xor edx, edx
test eax, eax
setne dl
mov dword [esp + 0x10], edx
test edx, edx
je 0x101a6912
lea eax, [esp + 0x64]
push eax
mov ecx, esi
call fcn.101a775d
mov edx, eax
mov dword [esp + 0x10], edx
test edx, edx
je 0x101a6912
and ebx, 0xfffb
test ebp, ebp
jne 0x101a6921
push 4
pop eax
test al, bl
je 0x101a6ad7
test bl, 6
jne 0x101a6932
push 2
pop eax
test byte [esp + 0x10c], al
je 0x101a6987
lea eax, [esp + 0x1c]
push eax
push dword [esi + 0x7c]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0xd4]
push eax
push 1
call fcn.101db19a
mov edi, eax
test edi, edi
js 0x101a6c96
cmp dword [esp + 0x1c], 0
je 0x101a6965
and ebx, 0xfffb
cmp dword [esp + 0xc8], 0
jne 0x101a69b4
test bl, 0x10
je 0x101a69df
push 0
push 0
lea eax, [esi + 8]
push eax
mov ecx, esi
call fcn.1015692e
test eax, eax
jne 0x101a69aa
push 0
push dword [esi + 0x7c]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0xd4]
push eax
push 0
call fcn.101db19a
mov edi, eax
test edi, edi
js 0x101a6c96
cmp dword [esp + 0xc8], 0
je 0x101a69df
cmp dword [esi + 4], 0
jne 0x101a69e5
push 2
pop eax
test al, bl
je 0x101a69e5
test byte [esp + 0x58], al
je 0x101a69e5
mov ecx, dword [esi]
lea eax, [esp + 0x100]
push eax
call fcn.101d7bfe
movzx ecx, word [esp + 0x54]
cmp ecx, dword [eax]
jae 0x101a69e5
xor ebp, ebp
mov dword [esp + 0x18], ebp
lea ecx, [esp + 0x34]
call fcn.101f09fd
push 4
pop eax
test al, bl
je 0x101a6ab0
cmp dword [esp + 0xc8], 0
je 0x101a6ab0
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0xe0]
push eax
call fcn.1015692e
xor edx, edx
cmp dword [esp + 0x64], edx
setne dl
mov dword [esp + 0x10], edx
test edx, edx
je 0x101a6adb
test ebx, 0x100
je 0x101a6a98
push 4
pop eax
test byte [esp + 0x58], al
jne 0x101a6a98
xor edx, edx
cmp dword [esp + 0x4c], 1
mov dword [esp + 0x10], edx
jne 0x101a6adb
cmp dword [esp + 0x40], 1
jne 0x101a6adb
mov ecx, dword [esi]
mov eax, dword [ecx + 0x68]
push edx
push edx
push 1
mov dword [esp + 0x38], eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0xd4]
push eax
push dword [ecx + 0x6c]
push dword [esp + 0x5c]
call fcn.101e779c
mov ecx, dword [esi]
mov eax, dword [esp + 0x24]
xor edx, edx
cmp eax, dword [ecx + 0x68]
sete dl
mov dword [esp + 0x10], edx
test edx, edx
je 0x101a6adb
lea eax, [esp + 0x64]
push eax
mov ecx, esi
call fcn.101a775d
mov edx, eax
mov dword [esp + 0x10], edx
jmp 0x101a6ad7
test ebp, ebp
je 0x101a6ad3
test byte [esp + 0x58], 1
je 0x101a6ad3
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x4c]
lea eax, [esp + 0xdc]
push 0
push eax
call fcn.1015692e
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x101a6b10
test bl, 0x40
je 0x101a6b10
push 0
push dword [esi + 0x7c]
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x70]
push eax
push 6
call fcn.101db19a
mov edi, eax
test edi, edi
js 0x101a6c96
xor edx, edx
cmp dword [esp + 0x64], edx
setne dl
mov dword [esp + 0x10], edx
push 8
mov eax, ebx
pop ecx
and eax, ecx
mov dword [esp + 0x2c], eax
je 0x101a6b42
test edx, edx
jne 0x101a6b42
cmp word [esp + 0x10c], cx
jne 0x101a6b42
push 4
pop ecx
mov eax, ecx
mov dword [esp + 0x10c], eax
and ebx, 0xfffb
jmp 0x101a6783
mov eax, dword [esi + 4]
xor ebp, ebp
test eax, eax
je 0x101a6b6b
cmp dword [esi + 0x5c], ebp
je 0x101a6b64
xor eax, eax
push 4
pop ecx
cmp word [esi + 0x68], cx
sete al
mov dword [esp + 0x14], eax
mov ebp, eax
jmp 0x101a6b6b
test eax, eax
je 0x101a6b6b
xor ebp, ebp
inc ebp
xor ecx, ecx
mov ax, cx
inc ecx
mov dword [esp + 0x14], ecx
cmp ax, word [esp + 0x20]
jae 0x101a6c81
test ebp, ebp
je 0x101a6bc8
cmp dword [esp + 0x18], 0
je 0x101a6bae
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0xcc]
push eax
mov ecx, esi
call fcn.101a6d4f
mov edi, eax
test edi, edi
jns 0x101a6c6b
jmp 0x101a6c96
test byte [esp + 0x10c], 3
je 0x101a6c73
mov ecx, esi
call fcn.100f0d17
jmp 0x101a6c6b
test edx, edx
je 0x101a6c51
movzx ecx, bx
mov eax, ecx
and eax, 0x80
push eax
lea eax, [esp + 0x2c]
push eax
push 8
pop edx
xor eax, eax
cmp word [esp + 0x114], dx
sete al
and ecx, edx
push eax
push ecx
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.101a6f91
cmp dword [esi + 0x5c], 0
jne 0x101a6c6b
cmp dword [esp + 0x28], 0
jne 0x101a6c6b
cmp word [esp + 0x2c], 0
je 0x101a6c49
mov edx, dword [esp + 0x10]
push 8
pop eax
cmp word [esp + 0x10c], ax
jne 0x101a6c6f
mov ebp, dword [esp + 0x18]
push 4
pop ecx
mov eax, ecx
mov dword [esp + 0x10c], eax
and ebx, 0xfffb
jmp 0x101a6783
xor edx, edx
mov dword [esp + 0x10], edx
jmp 0x101a6c6f
mov ecx, dword [esi + 0x5c]
test ecx, ecx
je 0x101a6c6f
push 2
pop eax
test al, bl
je 0x101a6c6f
push 4
pop eax
mov word [esi + 0x68], ax
call fcn.101ee916
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor eax, eax
test ebp, ebp
sete al
mov ebp, eax
jmp 0x101a6b6d
test bl, 1
je 0x101a6c96
cmp dword [esp + 0x18], 0
jne 0x101a6c96
test edx, edx
jne 0x101a6c96
call sym.VBE7.dll_rtcBeep
pop ebx
lea ecx, [esp + 0x30]
call fcn.101efb9a
lea ecx, [esp + 0x90]
call fcn.101efb9a
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0xf8
ret 8