Function at 0x83a7e4
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x83b21d
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0xc], 0
jne 0x83a825
cmp dword [ebp + 8], 0
je 0x83b1f5
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0xcc8]
test ebx, ebx
je 0x83b1f5
xor edx, edx
push ebp
push 0x83b1eb
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
push ebp
push 0x83b1da
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebx + 0x254]
call fcn.00637aa0
mov al, byte [eax + 0x30]
mov byte [ebp - 0xd], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
mov byte [eax + 0x30], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
call fcn.005ed464
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
mov edx, dword [0x8a9588]
mov edx, dword [edx]
mov edx, dword [edx + 0x800]
mov edx, dword [edx + 0x80]
call fcn.005ed478
lea eax, [ebp - 0x28]
mov edx, 0x83b238
call fcn.00404bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
mov edx, dword [eax]
call dword [edx + 0xd0]
call fcn.0088ae34
mov byte [ebp - 0x35], al
mov eax, dword [ebp - 4]
call fcn.0083a6e8
test al, al
jne 0x83a95d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
mov cl, 1
mov edx, dword [ebp - 0x28]
call fcn.005ed150
jmp 0x83adf7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
lea ecx, [ebp - 0x3c]
xor edx, edx
call fcn.005ecd70
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x20]
call fcn.0087ec54
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x25c]
mov edx, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x25c]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp dword [eax + 4], 0
je 0x83adce
call sub.kernel32.dll_GetTickCount
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x40]
call fcn.0040b1e8
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x24]
mov edx, 0x83b24c
call fcn.00404e48
mov dl, 1
mov eax, dword [0x63d47c]
call fcn.006459ec
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
test eax, eax
je 0x83aa0b
mov edx, eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x28]
jmp 0x83aa49
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
mov edx, dword [ebp - 0x20]
call fcn.00884cac
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x83aa2b
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
mov ecx, dword [ebp - 0x30]
mov edx, ebx
call fcn.005ecb00
xor eax, eax
push ebp
push 0x83ac54
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x5ea8e0]
call fcn.005ec758
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
call fcn.00603674
mov eax, dword [ebp - 0x34]
mov byte [eax + 0x30], 0
xor eax, eax
push ebp
push 0x83ac43
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
call dword [edx + 0xc]
mov ebx, eax
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
mov edx, 0xffffff
mov eax, dword [ebp - 0x34]
call fcn.005ed478
cmp dword [ebp - 8], 1
jne 0x83aad2
push 1
push 2
mov al, byte [ebp - 0x35]
push eax
mov edx, dword [ebp + 8]
add edx, esi
mov eax, 1
call fcn.005eaf84
mov ecx, eax
mov edx, ebx
mov eax, dword [ebp - 0x34]
call fcn.005ed80c
cmp dword [ebp - 8], 3
jne 0x83aafb
push 1
push 0
mov al, byte [ebp - 0x35]
push eax
mov edx, esi
sub edx, dword [ebp + 8]
mov eax, 1
call fcn.005eaf84
mov ecx, eax
mov edx, ebx
mov eax, dword [ebp - 0x34]
call fcn.005ed80c
cmp dword [ebp - 8], 2
jne 0x83ab24
push 0
push 1
mov al, byte [ebp - 0x35]
push eax
mov edx, ebx
sub edx, dword [ebp - 0xc]
mov eax, 1
call fcn.005eaf84
mov edx, eax
mov ecx, esi
mov eax, dword [ebp - 0x34]
call fcn.005ed80c
cmp dword [ebp - 8], 4
jne 0x83ab4d
push 2
push 1
mov al, byte [ebp - 0x35]
push eax
mov edx, dword [ebp - 0xc]
add edx, ebx
mov eax, 1
call fcn.005eaf84
mov edx, eax
mov ecx, esi
mov eax, dword [ebp - 0x34]
call fcn.005ed80c
cmp dword [ebp - 8], 5
jne 0x83ab85
push 2
push 2
mov al, byte [ebp - 0x35]
push eax
mov edx, dword [ebp + 8]
add edx, esi
mov eax, 1
call fcn.005eaf84
push eax
mov edx, dword [ebp - 0xc]
add edx, ebx
mov eax, 1
call fcn.005eaf84
mov edx, eax
mov eax, dword [ebp - 0x34]
pop ecx
call fcn.005ed80c
cmp dword [ebp - 8], 6
jne 0x83abbd
push 0
push 2
mov al, byte [ebp - 0x35]
push eax
mov edx, dword [ebp + 8]
add edx, esi
mov eax, 1
call fcn.005eaf84
push eax
mov edx, ebx
sub edx, dword [ebp - 0xc]
mov eax, 1
call fcn.005eaf84
mov edx, eax
mov eax, dword [ebp - 0x34]
pop ecx
call fcn.005ed80c
cmp dword [ebp - 8], 7
jne 0x83abf5
push 2
push 0
mov al, byte [ebp - 0x35]
push eax
mov edx, esi
sub edx, dword [ebp + 8]
mov eax, 1
call fcn.005eaf84
push eax
mov edx, dword [ebp - 0xc]
add edx, ebx
mov eax, 1
call fcn.005eaf84
mov edx, eax
mov eax, dword [ebp - 0x34]
pop ecx
call fcn.005ed80c
cmp dword [ebp - 8], 8
jne 0x83ac2d
push 0
push 0
mov al, byte [ebp - 0x35]
push eax
mov edx, esi
sub edx, dword [ebp + 8]
mov eax, 1
call fcn.005eaf84
push eax
mov edx, ebx
sub edx, dword [ebp - 0xc]
mov eax, 1
call fcn.005eaf84
mov edx, eax
mov eax, dword [ebp - 0x34]
pop ecx
call fcn.005ed80c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x83ac4a
lea eax, [ebp - 0x34]
call fcn.00411378
ret
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x28]
call fcn.00404bcc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
mov cl, 1
mov edx, dword [ebp - 0x24]
call fcn.005ed150
xor eax, eax
push ebp
push 0x83b02b
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 8], 1
jne 0x83ae41
push 1
push 2
mov al, byte [ebp - 0x35]
push eax
mov edx, dword [ebp - 0x18]
add edx, dword [ebp + 8]
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
mov edx, dword [ebp - 0x14]
pop ecx
call fcn.005ed80c
cmp dword [ebp - 8], 3
jne 0x83ae7d
push 1
push 0
mov al, byte [ebp - 0x35]
push eax
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp + 8]
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
mov edx, dword [ebp - 0x14]
pop ecx
call fcn.005ed80c
cmp dword [ebp - 8], 2
jne 0x83aeb9
push 0
push 1
mov al, byte [ebp - 0x35]
push eax
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0xc]
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
mov ecx, dword [ebp - 0x18]
pop edx
call fcn.005ed80c
cmp dword [ebp - 8], 4
jne 0x83aef5
push 2
push 1
mov al, byte [ebp - 0x35]
push eax
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0xc]
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
mov ecx, dword [ebp - 0x18]
pop edx
call fcn.005ed80c
cmp dword [ebp - 8], 5
jne 0x83af40
push 2
push 2
mov al, byte [ebp - 0x35]
push eax
mov edx, dword [ebp - 0x18]
add edx, dword [ebp + 8]
mov eax, 1
call fcn.005eaf84
push eax
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0xc]
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
pop edx
pop ecx
call fcn.005ed80c
cmp dword [ebp - 8], 6
jne 0x83af8b
push 0
push 2
mov al, byte [ebp - 0x35]
push eax
mov edx, dword [ebp - 0x18]
add edx, dword [ebp + 8]
mov eax, 1
call fcn.005eaf84
push eax
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0xc]
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
pop edx
pop ecx
call fcn.005ed80c
cmp dword [ebp - 8], 7
jne 0x83afd6
push 2
push 0
mov al, byte [ebp - 0x35]
push eax
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp + 8]
mov eax, 1
call fcn.005eaf84
push eax
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0xc]
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
pop edx
pop ecx
call fcn.005ed80c
cmp dword [ebp - 8], 8
jne 0x83b021
push 0
push 0
mov al, byte [ebp - 0x35]
push eax
mov edx, dword [ebp - 0x18]
sub edx, dword [ebp + 8]
mov eax, 1
call fcn.005eaf84
push eax
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0xc]
mov eax, 1
call fcn.005eaf84
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
pop edx
pop ecx
call fcn.005ed80c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x83b035
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
mov edx, dword [ebp - 0x1c]
call fcn.005ed478
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
mov edx, dword [eax]
call dword [edx + 0x88]
cmp dword [ebp - 8], 1
jne 0x83b084
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
xor edx, edx
call fcn.0062c8a4
cmp dword [ebp - 8], 2
jne 0x83b0a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
mov edx, 0x7fffffff
call fcn.0062c78c
cmp dword [ebp - 8], 3
jne 0x83b0c2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
mov edx, 0x7fffffff
call fcn.0062c8a4
cmp dword [ebp - 8], 4
jne 0x83b0de
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
xor edx, edx
call fcn.0062c78c
cmp dword [ebp - 8], 5
jne 0x83b110
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
xor edx, edx
call fcn.0062c78c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
xor edx, edx
call fcn.0062c8a4
cmp dword [ebp - 8], 6
jne 0x83b145
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
mov edx, 0x7fffffff
call fcn.0062c78c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
xor edx, edx
call fcn.0062c8a4
cmp dword [ebp - 8], 7
jne 0x83b17a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
xor edx, edx
call fcn.0062c78c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
mov edx, 0x7fffffff
call fcn.0062c8a4
cmp dword [ebp - 8], 8
jne 0x83b1b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
mov edx, 0x7fffffff
call fcn.0062c78c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
mov edx, 0x7fffffff
call fcn.0062c8a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x83b1e1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xcc8]
mov eax, dword [eax + 0x254]
call fcn.00637aa0
mov dl, byte [ebp - 0xd]
mov byte [eax + 0x30], dl
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x83b224
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.00404b58
lea eax, [ebp - 0x28]
mov edx, 3
call fcn.00404b58
ret