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

Disassembly:
push 0xffffffffffffffff
push 0x5aa5b0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
push ebx
push ebp
mov ebp, ecx
mov dword [esp + 8], ebp
mov eax, dword [ebp + 0x1d8]
test eax, eax
jle 0x4babde
mov ecx, dword [ebp + 0x1d4]
test ecx, ecx
je 0x4bb709
mov edx, dword [esp + 0x38]
mov eax, dword [ecx]
and edx, 0xffff
push edx
call dword [eax + 0xb8]
pop ebp
pop ebx
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
add esp, 0x2c
ret 0xc
mov ebx, dword [esp + 0x38]
push ebx
call fcn.0052a0f0
mov ecx, dword [0x64fe78]
add esp, 4
push eax
call fcn.00471c70
cmp bx, 8
jne 0x4bac1f
mov eax, dword [0x64fe78]
push 0
push 0
push 0
mov ecx, dword [eax + 0xa454]
push 0x75
mov edx, dword [ecx]
call dword [edx + 4]
test eax, eax
jne 0x4bb709
jmp 0x4bac40
cmp bx, 0xd
je 0x4bac40
cmp bx, 0xa
je 0x4bac40
cmp bx, 9
je 0x4bac40
test bx, bx
jbe 0x4bac40
cmp bx, 0x20
jb 0x4bb709
mov eax, dword [0x64fe78]
push esi
push edi
or edi, 0xffffffff
mov ecx, dword [eax + 0x84cc]
test ecx, ecx
je 0x4bad2b
mov ecx, dword [eax + 0x9224]
test ecx, ecx
jne 0x4bad2b
cmp dword [eax + 0xa5b0], edi
jne 0x4bad2b
push ebx
lea ecx, [eax + 0x84e8]
call fcn.00575eeb
mov ecx, dword [0x64fe78]
lea eax, [esp + 0x18]
push eax
call fcn.0047f7a0
mov ecx, dword [eax]
lea edx, [esp + 0x14]
mov dword [esp + 0x38], 0
mov eax, dword [ecx - 8]
push eax
mov eax, dword [0x64fe78]
push edx
lea ecx, [eax + 0x84e8]
call fcn.0056d296
mov ecx, dword [0x64fe78]
push eax
add ecx, 0x84e8
mov byte [esp + 0x3c], 1
call fcn.00575c21
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 0
call fcn.00575ae8
lea ecx, [esp + 0x18]
mov dword [esp + 0x38], edi
call fcn.00575ae8
mov ecx, dword [0x64fe78]
lea edx, [esp + 0x18]
push edx
mov esi, dword [ecx + 0x84e8]
call fcn.0047f7a0
mov eax, dword [eax]
push esi
push eax
call fcn.005591b6
add esp, 8
lea ecx, [esp + 0x18]
test eax, eax
sete bl
call fcn.00575ae8
test bl, bl
je 0x4bad22
mov ecx, dword [0x64fe78]
call fcn.00473f00
mov eax, dword [0x64fe78]
mov ebx, dword [esp + 0x40]
cmp dword [eax + 0x84ec], 1
jne 0x4badd2
mov ecx, dword [eax + 0x9224]
test ecx, ecx
jne 0x4badd2
cmp dword [eax + 0xa5b0], edi
jne 0x4badd2
push ebx
lea ecx, [eax + 0x84f4]
call fcn.00575eeb
mov eax, dword [0x64fe78]
lea edx, [esp + 0x18]
mov ecx, dword [eax + 0x84f0]
mov ecx, dword [ecx - 8]
push ecx
push edx
lea ecx, [eax + 0x84f4]
call fcn.0056d296
push eax
mov eax, dword [0x64fe78]
mov dword [esp + 0x3c], 2
lea ecx, [eax + 0x84f4]
call fcn.00575c21
lea ecx, [esp + 0x18]
mov dword [esp + 0x38], edi
call fcn.00575ae8
mov eax, dword [0x64fe78]
mov ecx, dword [eax + 0x84f0]
mov eax, dword [eax + 0x84f4]
push ecx
push eax
call fcn.005591b6
add esp, 8
test eax, eax
jne 0x4badd2
mov ecx, dword [0x64fe78]
push str.OnAlarm
call fcn.00495f00
xor esi, esi
mov dword [ebp + 0x1cc], esi
mov ax, word [0x60f3d4]
cmp ax, 0xd
jne 0x4badef
cmp bl, 0xa
je 0x4bae89
cmp dword [esp + 0x44], esi
jne 0x4bae13
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call fcn.00571ffa
cmp eax, ebp
jne 0x4bae13
push ebx
lea ecx, [ebp + 0x1e0]
call fcn.00529670
jmp 0x4bae83
cmp bx, 0xd
je 0x4bae1f
cmp bx, 0xa
jne 0x4bae25
mov dword [ebp + 0x1fc], esi
cmp bx, 8
jne 0x4bae57
mov eax, dword [ebp + 0x1fc]
cmp eax, esi
je 0x4bae3c
dec eax
mov dword [ebp + 0x1fc], eax
push 0x10e0000
push 1
push 8
mov ecx, ebp
call fcn.004e41e0
mov ax, word [0x60f3d4]
jmp 0x4bb047
cmp bx, 0x20
jbe 0x4bae63
inc dword [ebp + 0x1fc]
cmp bx, 0xd
je 0x4bae74
cmp bx, 0xa
je 0x4bae74
push 1
push ebx
jmp 0x4bae7b
push 1
push 0xa0d
lea ecx, [ebp + 0x40]
call fcn.004e7540
mov ax, word [0x60f3d4]
cmp bl, 0xd
je 0x4bae93
cmp bl, 0xa
jne 0x4baed3
mov ecx, dword [0x64fe78]
lea esi, [ebp + 0x40]
mov edi, dword [ecx + 0x9d84]
mov ecx, esi
call fcn.004e93a0
cmp eax, edi
jle 0x4baecd
push 0xa
mov ecx, esi
call fcn.004eafc0
mov edx, dword [0x64fe78]
mov ecx, esi
mov edi, dword [edx + 0x9d84]
call fcn.004e93a0
cmp eax, edi
jg 0x4baead
mov ax, word [0x60f3d4]
cmp bl, 0x20
je 0x4baf04
cmp bl, 9
jl 0x4baee2
cmp bl, 0xd
jle 0x4baf04
cmp bl, 0x2e
je 0x4baf04
cmp bl, 0x2d
je 0x4baf04
cmp bl, 0x2c
je 0x4baf04
cmp bl, 0x2a
je 0x4baf04
cmp bl, 0x28
je 0x4baf04
cmp bl, 0x29
jne 0x4bb047
mov edi, dword [ebp + 0x4c]
mov ecx, dword [0x64f9b4]
mov dword [esp + 0x44], edi
add edi, 0xfffffffe
lea esi, [ecx + 1]
cmp esi, edi
jl 0x4baf1d
mov esi, edi
test esi, esi
jle 0x4bb047
lea edx, [esi + 1]
push edx
call fcn.0057110b
add esp, 4
mov ebp, eax
test esi, esi
jle 0x4baf59
mov edx, dword [esp + 0x10]
lea eax, [edi + edi]
lea ecx, [esi + ebp - 1]
mov edi, esi
mov ebx, dword [edx + 0x48]
sub eax, 2
dec ecx
dec edi
mov bl, byte [ebx + eax + 2]
mov byte [ecx + 1], bl
jne 0x4baf44
mov ebx, dword [esp + 0x40]
push ebp
mov byte [esi + ebp], 0
call fcn.005594de
mov eax, dword [0x64f9b8]
add esp, 4
cmp esi, eax
mov dword [esp + 0x14], 0
jl 0x4bb034
mov ebx, ebp
or edi, 0xffffffff
mov al, byte [edi + ebp]
cmp al, 0x20
je 0x4bafab
cmp al, 9
jl 0x4baf8f
cmp al, 0xd
jle 0x4bafab
cmp al, 0x2e
je 0x4bafab
cmp al, 0x2d
je 0x4bafab
cmp al, 0x2c
je 0x4bafab
cmp al, 0x2a
je 0x4bafab
cmp al, 0x28
je 0x4bafab
cmp al, 0x29
je 0x4bafab
test edi, edi
jge 0x4bafbf
lea eax, [esp + 0x14]
mov ecx, 0x64f9c0
push eax
push ebx
call fcn.00570d1a
test eax, eax
jne 0x4bafcd
mov eax, dword [0x64f9b8]
dec esi
inc edi
inc ebx
cmp esi, eax
jge 0x4baf80
jmp 0x4bb030
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x48]
lea eax, [edx - 2]
mov edx, dword [esp + 0x14]
mov ax, word [ecx + eax*2]
mov edx, dword [edx + 8]
and eax, 0xffff
add edx, 0xe000
cmp eax, edx
je 0x4bb030
mov eax, dword [esp + 0x44]
push 1
mov di, word [ecx + eax*2 - 2]
mov ecx, dword [esp + 0x14]
dec eax
lea esi, [ecx + 0x40]
push eax
mov ecx, esi
call fcn.004eaa40
mov edx, dword [esp + 0x14]
push 1
mov ecx, esi
mov ax, word [edx + 8]
sub ax, 0x2000
push eax
call fcn.004e7540
push 1
push edi
mov ecx, esi
call fcn.004e7540
mov ebx, dword [esp + 0x40]
push ebp
call fcn.00571134
mov ax, word [0x60f3d4]
mov ebp, dword [esp + 0x14]
add esp, 4
mov ecx, dword [0x64fe78]
mov edx, dword [ecx + 0x9224]
test edx, edx
jne 0x4bb6ec
mov ecx, dword [esp + 0x48]
test ecx, ecx
jne 0x4bb6ec
cmp bl, 0x20
je 0x4bb098
cmp bl, 9
jl 0x4bb076
cmp bl, 0xd
jle 0x4bb098
cmp bl, 0x2e
je 0x4bb098
cmp bl, 0x2d
je 0x4bb098
cmp bl, 0x2c
je 0x4bb098
cmp bl, 0x2a
je 0x4bb098
cmp bl, 0x28
je 0x4bb098
cmp bl, 0x29
jne 0x4bb6e4
mov ecx, dword [ebp + 0x200]
test ecx, ecx
jle 0x4bb6f6
cmp al, 0x20
je 0x4bb6f6
cmp al, 9
jl 0x4bb0ba
cmp al, 0xd
jle 0x4bb6f6
cmp al, 0x2e
je 0x4bb6f6
cmp al, 0x2d
je 0x4bb6f6
cmp al, 0x2c
je 0x4bb6f6
cmp al, 0x2a
je 0x4bb6f6
cmp al, 0x28
je 0x4bb6f6
cmp al, 0x29
je 0x4bb6f6
mov edx, dword [0x614cb0]
mov dword [esp + 0x44], edx
lea ecx, [ebp + 0x40]
mov dword [esp + 0x38], 3
call fcn.004e74e0
dec eax
mov dword [esp + 0x14], eax
jns 0x4bb113
mov dword [esp + 0x14], 0
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
test ebp, ebp
jle 0x4bb172
lea esi, [ebp - 1]
lea ecx, [edi + 0x40]
push esi
call fcn.004e73f0
push eax
call fcn.0052a0f0
add esp, 4
cmp al, 0x20
mov byte [esp + 0x48], al
je 0x4bb172
cmp al, 9
jl 0x4bb144
cmp al, 0xd
jle 0x4bb172
cmp al, 0x2e
je 0x4bb172
cmp al, 0x2d
je 0x4bb172
cmp al, 0x2c
je 0x4bb172
cmp al, 0x2a
je 0x4bb172
cmp al, 0x28
je 0x4bb172
cmp al, 0x29
je 0x4bb172
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x44]
push eax
push 0
call fcn.0056d159
mov ebp, esi
test ebp, ebp
jg 0x4bb11f
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx - 8]
test eax, eax
je 0x4bb6cd
push 0x3a
lea ecx, [esp + 0x48]
call fcn.00575faf
cmp eax, 2
jne 0x4bb207
push eax
lea edx, [esp + 0x20]
push 3
push edx
lea ecx, [esp + 0x50]
call fcn.0056d200
mov esi, eax
lea eax, [esp + 0x18]
push 2
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x40], 4
call fcn.0056d312
push esi
lea ecx, [esp + 0x4c]
mov bl, 5
push eax
push ecx
mov byte [esp + 0x44], bl
call fcn.00575d17
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0x3c], 6
call fcn.00575c21
lea ecx, [esp + 0x48]
mov byte [esp + 0x38], bl
call fcn.00575ae8
lea ecx, [esp + 0x18]
mov byte [esp + 0x38], 4
call fcn.00575ae8
lea ecx, [esp + 0x1c]
mov byte [esp + 0x38], 3
call fcn.00575ae8
mov ebx, dword [esp + 0x40]
lea edx, [esp + 0x44]
mov ecx, edi
push edx
call fcn.004bc890
mov ecx, dword [0x64fe78]
cmp eax, 0x3e8
jle 0x4bb265
mov edx, dword [ecx + 0x8dcc]
mov esi, dword [edx - 8]
test esi, esi
je 0x4bb265
add eax, 0xfffffc18
lea ecx, [esp + 0x44]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0056d1dd
mov eax, dword [eax]
push 0
push eax
mov ecx, edi
mov byte [esp + 0x40], 7
call fcn.004bc1c0
lea ecx, [esp + 0x40]
mov byte [esp + 0x38], 3
call fcn.00575ae8
jmp 0x4bb6cd
test al, 0x40
je 0x4bb3f9
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x18]
call fcn.0057585d
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 8
call fcn.0057600a
mov eax, dword [0x64fe78]
xor esi, esi
mov edi, dword [eax + 0x8d8c]
test edi, edi
jle 0x4bb2c9
jmp 0x4bb2a1
mov eax, dword [0x64fe78]
mov edx, dword [eax + 0x8d88]
mov ecx, dword [esp + 0x14]
push ecx
lea eax, [edx + esi*4]
mov eax, dword [edx + esi*4]
push eax
call fcn.0055724d
add esp, 8
test eax, eax
je 0x4bb2c4
inc esi
cmp esi, edi
jl 0x4bb29c
mov eax, dword [0x64fe78]
cmp esi, dword [eax + 0x8da0]
jge 0x4bb3e6
mov edx, dword [eax + 0x8dcc]
mov ecx, dword [edx - 8]
test ecx, ecx
je 0x4bb3e6
add eax, 0x9e6c
lea ecx, [esp + 0x40]
push eax
call fcn.0057585d
mov eax, dword [esp + 0x40]
mov byte [esp + 0x38], 9
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x4bb31b
mov ecx, dword [0x64fe78]
add ecx, 0x9e68
push ecx
lea ecx, [esp + 0x44]
call fcn.00575c21
mov edx, dword [esp + 0x40]
cmp dword [edx - 8], 1
jle 0x4bb3bd
push 0x44
lea ecx, [esp + 0x44]
call fcn.00575faf
cmp eax, 0xffffffff
je 0x4bb3bd
mov eax, dword [0x64fe78]
lea ecx, [esp + 0x48]
add eax, 0x8e4c
push eax
call fcn.0057585d
lea ecx, [esp + 0x48]
mov byte [esp + 0x38], 0xa
call fcn.0057600a
mov eax, dword [esp + 0x48]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x4bb392
push 0x60f434
push eax
call fcn.0055724d
add esp, 8
test eax, eax
je 0x4bb392
mov ecx, dword [esp + 0x48]
push 0x60f430
push ecx
call fcn.0055724d
add esp, 8
test eax, eax
jne 0x4bb3ad
mov edx, dword [0x64fe78]
mov ecx, dword [esp + 0x10]
mov eax, dword [edx + 0x8d9c]
mov esi, dword [eax + esi*4]
push esi
push 7
call fcn.004bc1a0
lea ecx, [esp + 0x48]
mov byte [esp + 0x38], 9
call fcn.00575ae8
jmp 0x4bb3d8
mov ecx, dword [0x64fe78]
push 0
mov edx, dword [ecx + 0x8d88]
mov ecx, dword [esp + 0x14]
mov esi, dword [edx + esi*4]
push esi
call fcn.004bc1c0
lea ecx, [esp + 0x40]
mov byte [esp + 0x38], 8
call fcn.00575ae8
lea ecx, [esp + 0x14]
mov byte [esp + 0x38], 3
call fcn.00575ae8
jmp 0x4bb6cd
test al, 1
je 0x4bb5eb
lea eax, [esp + 0x48]
xor edi, edi
push eax
call fcn.0047f7a0
mov eax, dword [eax]
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.005591b6
add esp, 8
lea ecx, [esp + 0x48]
test eax, eax
setne bl
call fcn.00575ae8
test bl, bl
je 0x4bb599
mov edx, dword [esp + 0x44]
push edx
call fcn.004e13b0
mov ecx, dword [0x64fe78]
add esp, 4
lea eax, [esp + 0x1c]
push eax
call fcn.00475200
fadd qword [0x5baea0]
call fcn.00556a00
push eax
call fcn.004d27b0
mov ecx, dword [0x64fe78]
mov esi, eax
mov eax, dword [ecx + 0x8e24]
push eax
call fcn.004d1870
push eax
call fcn.004d1880
add esp, 0x10
mov edx, dword [esp + 0x44]
mov ecx, dword [0x64fe78]
mov dword [esp + 0x1c], eax
push edi
push edi
push edi
push edi
push edi
push eax
push esi
push 0x618f40
push edx
call fcn.004a6010
mov ebx, eax
test ebx, ebx
jne 0x4bb4df
mov eax, dword [0x64fe78]
mov ecx, dword [eax + 0x9294]
mov edi, dword [ecx + 0x78]
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx - 8]
test edx, edx
je 0x4bb5ab
mov edx, dword [eax + 0x8e18]
push 8
push edx
push 0x618f40
push ecx
mov ecx, 0x681168
call fcn.004d3af0
jmp 0x4bb5ab
mov eax, dword [0x64fe78]
cmp ebx, 1
jne 0x4bb4f7
mov ecx, dword [eax + 0x9294]
mov edi, dword [ecx + 0x84]
jmp 0x4bb52e
test bl, 0x10
je 0x4bb50a
mov edx, dword [eax + 0x9294]
mov edi, dword [edx + 0x9c]
jmp 0x4bb52e
test bl, 0x4e
je 0x4bb51d
mov ecx, dword [eax + 0x9294]
mov edi, dword [ecx + 0x90]
jmp 0x4bb52e
test bl, 0x20
je 0x4bb52e
mov edx, dword [eax + 0x9294]
mov edi, dword [edx + 0xa8]
mov ecx, dword [eax + 0xa678]
test ecx, ecx
je 0x4bb5ab
mov eax, dword [esp + 0x44]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x4bb5ab
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x4c]
call fcn.0057585d
lea ecx, [esp + 0x48]
mov byte [esp + 0x38], 0xb
call fcn.0057600a
mov edx, dword [0x64fe78]
dec ebx
mov ecx, dword [esp + 0x48]
mov eax, dword [edx + 0x8e18]
neg ebx
sbb bl, bl
and ebx, 0x10
push ebx
push eax
push 0x618f40
push ecx
mov ecx, 0x681168
call fcn.004d3af0
lea ecx, [esp + 0x48]
mov byte [esp + 0x38], 3
call fcn.00575ae8
jmp 0x4bb5ab
mov edx, dword [0x64fe78]
mov eax, dword [edx + 0x9294]
mov edi, dword [eax + 0xb4]
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x20], ecx
push edx
mov dword [esp + 0x28], ecx
lea eax, [esp + 0x24]
mov dword [esp + 0x2c], ecx
push ebp
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x18]
push eax
add ecx, 0x40
mov dword [esp + 0x30], edi
mov byte [esp + 0x38], 1
mov byte [esp + 0x39], 0x11
call fcn.004e85a0
mov ebx, dword [esp + 0x40]
jmp 0x4bb6cd
mov edx, dword [ecx + 0x8d60]
test edx, edx
je 0x4bb6cd
mov edx, dword [ecx + 0x8dcc]
mov ecx, dword [edx - 8]
test ecx, ecx
je 0x4bb6cd
test al, 0x20
je 0x4bb642
lea eax, [esp + 0x40]
push 4
push eax
lea ecx, [esp + 0x4c]
call fcn.0056d312
mov eax, dword [eax]
push 0
push eax
mov ecx, edi
mov byte [esp + 0x40], 0xc
call fcn.004bc3c0
lea ecx, [esp + 0x40]
mov byte [esp + 0x38], 3
call fcn.00575ae8
jmp 0x4bb6cd
test al, 0x10
je 0x4bb6cd
push 0x60e52c
lea ecx, [esp + 0x48]
call fcn.0056d3ac
test eax, eax
je 0x4bb66e
push 0x60f42c
lea ecx, [esp + 0x48]
call fcn.0056d3ac
test eax, eax
jne 0x4bb6a9
mov ecx, dword [esp + 0x44]
cmp dword [ecx - 8], 4
jle 0x4bb6a9
lea edx, [esp + 0x40]
push 3
push edx
lea ecx, [esp + 0x4c]
call fcn.0056d1dd
mov eax, dword [eax]
push 0
push eax
mov ecx, edi
mov byte [esp + 0x40], 0xd
call fcn.004bc1c0
lea ecx, [esp + 0x40]
mov byte [esp + 0x38], 3
call fcn.00575ae8
jmp 0x4bb6cd
mov eax, dword [esp + 0x44]
push 0x60e52c
push eax
call fcn.0055724d
add esp, 8
test eax, eax
je 0x4bb6cd
mov ecx, dword [esp + 0x44]
push 0
push ecx
mov ecx, edi
call fcn.004bc1c0
lea ecx, [esp + 0x44]
mov dword [esp + 0x38], 0xffffffff
call fcn.00575ae8
mov ebp, dword [esp + 0x10]
jmp 0x4bb6f6
inc dword [ebp + 0x200]
jmp 0x4bb6f6
mov dword [ebp + 0x200], 0
mov word [0x60f3d4], bx
pop edi
mov dword [ebp + 0x1cc], 1
pop esi
mov ecx, dword [esp + 0x28]
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x2c
ret 0xc