Function at 0x4b7790
Capabilities:
Check for time delay via gettickcount

Disassembly:
push 0xffffffffffffffff
push 0x57f80d
mov eax, dword fs:[0]
push eax
sub esp, 0xc34
mov eax, dword [0x5d7050]
xor eax, esp
mov dword [esp + 0xc30], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5d7050]
xor eax, esp
push eax
lea eax, [esp + 0xc48]
mov dword fs:[0], eax
mov edi, ecx
cmp edi, 0x203
mov esi, edx
je 0x4b7bde
cmp edi, 0x204
je 0x4b7bde
cmp edi, 0x202
jne 0x4b77fb
mov eax, esi
call fcn.004b7ca0
jmp 0x4b7c6f
call fcn.0046c450
xor ebx, ebx
mov byte [eax + 2], bl
call fcn.0046c450
cmp edi, 0x200
mov byte [eax + 0x15], bl
je 0x4b78f4
cmp edi, 0x205
je 0x4b78f4
call fcn.004c7d30
cmp edi, 0x201
jne 0x4b7845
push esi
call fcn.004b8980
call fcn.0046c450
mov byte [eax + 0xd], bl
jmp 0x4b7c6f
call fcn.004b7740
call fcn.0046c450
mov byte [eax + 7], bl
call fcn.0046c450
mov byte [eax + 5], bl
call fcn.0046c450
mov byte [eax + 8], bl
call fcn.0046c450
mov byte [eax + 0xa], bl
call fcn.0046c450
mov byte [eax + 0x15], bl
call fcn.0046c450
mov byte [eax + 0x16], bl
push SysReAllocString
mov dword [esi + 0xa94], ebx
call dword [sym.imp.KERNEL32.dll_SetThreadExecutionState]
mov eax, esi
call fcn.004c1630
mov eax, esi
call fcn.004c16b0
mov eax, esi
call fcn.004c1710
mov ecx, edi
mov edx, esi
call fcn.004b8e50
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push ebx
call esi
push 1
mov edi, eax
call esi
mov esi, eax
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
push esi
mov esi, dword [sym.imp.USER32.dll_SetCursorPos]
push edi
call esi
push ebx
push ebx
push ebx
push ebx
push 1
call dword [sym.imp.USER32.dll_mouse_event]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
call esi
call fcn.0046c450
mov byte [eax + 0xd], bl
jmp 0x4b7c6f
mov ecx, esi
call fcn.004b7e90
push esi
call fcn.004bd0b0
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x3c]
mov edi, dword [eax + 0x22d0]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x5e736c]
mov ebp, eax
mov eax, dword [edx + 0xc]
mov ecx, 0x5e736c
sub ebp, edi
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov dword [esp + 0xc50], ebx
mov edx, dword [0x5e736c]
mov eax, dword [edx + 0xc]
mov ecx, 0x5e736c
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0xc50], 1
mov edx, dword [0x5e736c]
mov eax, dword [edx + 0xc]
mov ecx, 0x5e736c
call eax
add eax, 0x10
mov dword [esp + 0x1c], eax
lea edx, [esp + 0x1c]
push edx
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0xc58], 2
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax]
lea edx, [esp + 0x1c]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
push 0xbe0
lea ecx, [esp + 0x64]
push ebx
push ecx
mov dword [esp + 0x68], ebx
call sub.MSVCR80.dll_memset
mov eax, dword [esi + 0x3c]
mov edx, dword [eax]
mov edx, dword [edx + 0x3c]
add esp, 0xc
lea ecx, [esp + 0x5c]
push ecx
push eax
call edx
mov ecx, dword [esi + 0xd84]
mov eax, ecx
shr eax, 0x14
and eax, 0xf
test ecx, 0x1000000
mov dword [esi + 0x1864], eax
je 0x4b79dd
cmp eax, 2
jne 0x4b79dd
mov eax, 1
jmp 0x4b79df
xor eax, eax
mov dword [esi + 0x186c], eax
call fcn.0046c450
cmp byte [eax + 0x1e], bl
jne 0x4b7b4b
mov eax, dword [esp + 0x164]
mov ecx, eax
and cl, 2
neg cl
mov edx, dword [esp + 0x178]
sbb ecx, ecx
and al, 8
neg ecx
add ecx, 1
neg al
sbb eax, eax
neg eax
add eax, 1
push eax
push eax
mov eax, dword [esp + 0x17c]
push ebx
push ecx
mov ecx, dword [0x61983c]
push edx
mov edx, dword [esi + 0x1aa8]
push eax
mov eax, dword [esp + 0x38]
push 1
push ecx
mov ecx, dword [esi + 0x186c]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
push edx
push eax
push ecx
call fcn.004bd230
mov edx, dword [esi + 0x1864]
push eax
push ebx
push ebx
push 1
push edx
call fcn.0051f060
lea edi, [esp + 0x38]
call fcn.00439120
mov byte [esp + 0xc50], 3
call fcn.00438ee0
push eax
mov ecx, edi
call fcn.0043c130
test eax, eax
je 0x4b7b16
push 4
push ebx
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
push eax
mov ecx, 0x58c320
call fcn.0040ff50
mov byte [esp + 0xc5c], 4
mov eax, dword [esp + 0x5c]
push ebx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x40], esp
mov edi, esp
call fcn.00410660
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0xc64], 5
mov eax, dword [esp + 0x68]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x48], esp
mov edi, esp
call fcn.00410660
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0xc68], 6
mov eax, dword [esp + 0x54]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x50], esp
mov edi, esp
call fcn.00410660
push 1
add eax, 0x10
push ebx
mov dword [edi], eax
push 4
mov byte [esp + 0xc78], 3
call fcn.005200d0
cmp dword [esi + 0x186c], ebx
push ebx
je 0x4b7b23
push 3
jmp 0x4b7b2a
mov ecx, dword [esi + 0x1864]
push ecx
call fcn.005209a0
mov edx, dword [esi + 0xaa0]
push edx
push ebp
call fcn.0051f450
mov dword [esi + 0x186c], ebx
lea esi, [esp + 0x38]
call fcn.00439060
call fcn.0046c450
mov byte [eax + 0x1e], bl
call fcn.0046c450
mov byte [eax + 0xd], bl
mov byte [esp + 0xc50], 1
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b7b83
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xc50], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b7baa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0xc50], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4b7c6f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4b7c6f
test byte [0x6199c8], 1
jne 0x4b7c00
or dword [0x6199c8], 1
call fcn.0046c480
push 0x580670
call fcn.0056a011
add esp, 4
mov ebp, dword [sym.imp.USER32.dll_IsWindow]
xor ebx, ebx
mov byte [0x6199d5], bl
mov eax, dword [esi + 0x18a4]
cmp eax, ebx
je 0x4b7c2d
mov ecx, dword [eax + 4]
push ecx
call ebp
test eax, eax
je 0x4b7c2d
mov ebx, dword [esi + 0x18a4]
call fcn.004ccf20
cmp edi, 0x203
jne 0x4b7c5c
mov ebx, esi
call fcn.004bb260
mov edx, dword [esi + 0x44]
push edx
call ebp
test eax, eax
je 0x4b7c5c
mov eax, dword [esi + 0x44]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4b7c5c
lea ecx, [esi + 0x40]
call fcn.00480750
push edi
push str.KMainDlg::OnKsWirelessEvent_reset_wifi_return:_x
push 0x6180b8
call fcn.00435820
add esp, 0xc
xor eax, eax
mov ecx, dword [esp + 0xc48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xc30]
xor ecx, esp
call fcn.00569ed6
add esp, 0xc40
ret