Function at 0x4988a0
Capabilities:
Access peb ldr_data
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
call fcn.00404044
mov eax, dword [ebp - 0xc]
call fcn.00404044
xor eax, eax
push ebp
push 0x499266
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0x1424], 0
mov eax, dword [ebp - 4]
mov dl, byte [ebp + 0x14]
mov byte [eax + 0x1400], dl
mov eax, dword [ebp - 4]
mov byte [eax + 0x1368], 0
mov byte [ebp - 0x19], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x329], 0
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
call fcn.0048f5a4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1360], 0
je 0x49923e
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00497dc4
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x308]
test edi, edi
je 0x49895a
mov eax, edi
mov dl, 1
mov ecx, dword [eax]
call dword [ecx - 4]
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x308], edx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1426], 2
jne 0x4989a8
cmp byte [esi], 0
je 0x4989a8
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1360], 0
je 0x4989a8
mov ecx, 0x499280
mov dl, 0x14
mov eax, dword [ebp - 4]
call fcn.00491c7c
mov eax, dword [ebp - 4]
mov dword [eax + 0x13f8], 0
mov dword [eax + 0x13fc], 0
mov eax, dword [ebp - 0xc]
call fcn.00409378
mov byte [esi], 0
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x48db40]
call fcn.0048defc
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0x308], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x2c8]
mov eax, ebx
call fcn.00492068
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
mov byte [eax + 0x310], 2
mov byte [eax + 0x300], 0
mov edx, dword [ebp - 4]
mov dl, byte [edx + 0x313]
mov byte [eax + 0x313], dl
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x318]
mov dword [eax + 0x318], edx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x142c]
mov dword [eax + 0xc8], edx
mov edx, dword [ebp - 4]
mov dword [eax + 0x30], edx
mov dword [eax + 0x2c], 0x49b034
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x8c]
mov dword [eax + 0x8c], ecx
mov ecx, dword [edx + 0x90]
mov dword [eax + 0x90], ecx
mov edx, dword [ebp - 4]
mov dword [eax + 0x28], edx
mov dword [eax + 0x24], 0x49b178
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov dword [eax + 0xf8], edx
mov edx, dword [ebp + 0xc]
mov dword [eax + 0xfc], edx
xor edx, edx
push ebp
push 0x499234
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0xc]
call fcn.00409280
test al, al
jne 0x498a96
mov eax, dword [ebp - 0xc]
call fcn.00464ea8
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
call fcn.00409390
xor eax, eax
push ebp
push 0x498ac2
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x22
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [0x40f724]
call fcn.00413b7c
mov dword [ebp - 0x20], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x498b02
cmp byte [ebp + 0x14], 1
je 0x498b2c
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0xa
je 0x498b2c
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0xb
je 0x498b2c
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe0], 0xd
jne 0x498b64
mov byte [ebp + 0x14], 1
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.0049a594
test al, al
je 0x498b60
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1360], 0
je 0x498b60
mov eax, dword [ebp - 0x18]
mov edx, dword [0x54988c]
mov edx, dword [edx]
call fcn.00403fa0
jne 0x498b64
mov byte [ebp + 0x14], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1360], 0
jne 0x498b84
mov eax, dword [ebp - 4]
mov byte [eax + 0x1424], 2
call fcn.00403728
jmp 0x49923e
cmp byte [ebp + 0x14], 0
je 0x498bc4
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.00497fdc
test al, al
jne 0x498c36
mov eax, dword [ebp - 4]
mov byte [eax + 0x1424], 2
mov ecx, dword [ebp - 0x10]
mov dl, 1
mov eax, dword [0x4951a0]
call fcn.0040bbb8
call fcn.00403688
jmp 0x498c36
mov eax, dword [0x549798]
mov eax, dword [eax]
call fcn.0043b178
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1408]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x1404]
mov eax, dword [ebp - 4]
call fcn.0049ca14
mov edx, dword [ebp - 4]
mov ebx, dword [edx + 0x308]
mov dword [ebx + 0xf0], eax
mov eax, ebx
mov dl, 1
call fcn.004906d8
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 4]
call fcn.00492f3c
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
call fcn.004921ac
mov edx, dword [ebp - 0x2c]
pop eax
call fcn.00403e98
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 4]
call fcn.0049a9b4
mov eax, dword [ebp - 4]
cmp byte [eax + 0x329], 0
jne 0x498c4e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x32a], 0
je 0x498c58
call fcn.00403728
jmp 0x49923e
mov dl, 0xe
mov eax, dword [ebp - 4]
call fcn.0049b120
test al, al
je 0x498c70
call fcn.00403728
jmp 0x49923e
mov eax, dword [ebp - 4]
cmp word [eax + 0x112], 0
je 0x498ca1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x308]
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x110]
mov dword [eax + 0x110], ecx
mov ecx, dword [edx + 0x114]
mov dword [eax + 0x114], ecx
add dword [eax], eax
invalid
mov eax, dword [ebp - 4]
cmp byte [eax + 0x1360], 0