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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f905d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x284
push ebx
mov ebx, ecx
push esi
push edi
mov eax, dword [ebx + 0x10c]
mov dword [ebp - 0x10], esp
test eax, eax
mov dword [ebp - 0xc0], ebx
jne 0x488484
mov eax, dword [ebx + 0x120]
lea ecx, [ebx + 0x120]
neg eax
sbb eax, eax
and eax, ecx
mov dword [ebp - 0x14], eax
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push eax
push ecx
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0
call fcn.004644b0
mov edx, dword [ebp + 8]
mov byte [ebp - 4], 2
lea eax, [edx - 0x500]
cmp eax, 0x13
ja case.0x48650d.1289
xor ecx, ecx
mov cl, byte [eax + 0x4884c0]
jmp dword [ecx*4 + 0x488498]
lea edx, [ebp - 0x88]
push 8
push edx
lea ecx, [ebp - 0x34]
call fcn.004647d0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
je 0x486570
sub eax, ecx
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.00464560
push esi
push eax
lea ecx, [ebx + 0x98]
call fcn.00464700
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x486570
mov ecx, ebx
call fcn.00488640
mov ecx, ebx
mov edi, eax
call fcn.00488590
mov ecx, dword [ebx + 0x10]
push 0
push 0
push edi
mov edx, dword [ecx]
push eax
push esi
push 0
call dword [edx + 4]
mov al, byte [ebp - 0x84]
test al, al
je 0x48679c
mov eax, dword [ebx + 0xa8]
mov byte [ebp - 4], 3
test eax, eax
je 0x486787
mov dword [ebx + 0xa8], 0
mov eax, dword [ebx + 0xa8]
mov ecx, dword [ebx + 0xa4]
cmp eax, ecx
jae 0x486787
mov al, byte [ebp + 0xb]
xor esi, esi
push esi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 0xb8], al
call fcn.00403b70
mov edi, 0x536ec0
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp - 4], 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x536ec0
lea ecx, [ebp - 0xb8]
call fcn.004053a0
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0xa0], esi
lea ecx, [ebp - 0xbc]
lea edx, [ebx + 0x98]
push ecx
push edx
mov byte [ebp - 4], 5
call fcn.00461cc0
mov eax, dword [ebx + 0x20]
lea ecx, [ebx + 0x18]
add esp, 8
lea edx, [ebp - 0xbc]
push edx
push eax
call fcn.00418d00
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 3
call fcn.00403b70
jmp 0x48659a
lea eax, [ebp - 0x88]
push 8
push eax
lea ecx, [ebp - 0x34]
call fcn.004647d0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
je 0x48668c
sub eax, ecx
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.00464560
push esi
push eax
lea ecx, [ebx + 0x98]
call fcn.00464700
mov al, byte [ebp - 0x84]
test al, al
je 0x48679c
mov eax, dword [ebx + 0xa8]
mov byte [ebp - 4], 7
test eax, eax
je 0x486787
mov dword [ebx + 0xa8], 0
mov eax, dword [ebx + 0xa8]
mov ecx, dword [ebx + 0xa4]
cmp eax, ecx
jae 0x486787
mov cl, byte [ebp + 0xb]
xor esi, esi
mov byte [ebp - 0x144], cl
push esi
lea ecx, [ebp - 0x144]
call fcn.00403b70
lea edx, [ebp + 0xf]
lea ecx, [ebp - 0x134]
push edx
mov byte [ebp - 4], 8
call fcn.0040e430
mov byte [ebp - 0x14c], 0
mov dword [ebp - 0x148], esi
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x120], esi
lea eax, [ebp - 0x14c]
lea ecx, [ebx + 0x98]
push eax
push ecx
mov byte [ebp - 4], 9
call fcn.00463200
mov eax, dword [ebx + 0x30]
lea ecx, [ebx + 0x28]
add esp, 8
lea edx, [ebp - 0x14c]
push edx
push eax
call fcn.0042fbf0
push 1
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xa
call fcn.00403b70
push 1
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 7
call fcn.00403b70
jmp 0x4866b6
push 0x536ec0
push 0
mov ecx, ebx
mov dword [ebp - 4], 2
call fcn.00485c10
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
jmp 0x488473
mov al, byte [ebp + 0xb]
xor esi, esi
push esi
lea ecx, [ebp - 0x7c]
mov byte [ebp - 0x7c], al
call fcn.00403b70
mov edi, 0x536ec0
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp - 4], 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x536ec0
lea ecx, [ebp - 0x7c]
call fcn.004053a0
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x64], esi
lea ecx, [ebp - 0x80]
lea edx, [ebp - 0x34]
push ecx
push edx
mov byte [ebp - 4], 0xd
call fcn.00461cc0
mov eax, dword [ebx + 0x14]
add esp, 8
cmp eax, esi
je 0x486dee
mov eax, dword [ebx + 0xb0]
cmp eax, 0x503
jne 0x486c74
mov al, byte [ebp + 0xb]
push esi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 0xb8], al
call fcn.00403b70
mov edi, 0x536ec0
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp - 4], 0xe
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x536ec0
lea ecx, [ebp - 0xb8]
call fcn.004053a0
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0xa0], esi
mov eax, dword [ebx + 0xe0]
mov byte [ebp - 4], 0xf
cmp eax, esi
jne 0x48688a
mov eax, 0x4fdc00
lea ecx, [ebp - 0xbc]
push ecx
push eax
call fcn.00460f60
mov dl, byte [ebp + 0xb]
add esp, 8
lea ecx, [ebp - 0x54]
mov dword [ebp + 0xc], esi
push esi
mov byte [ebp - 0x54], dl
call fcn.00403b70
xor eax, eax
mov dword [ebp - 0xc4], eax
mov dword [ebp + 0x10], eax
mov eax, 1
mov dword [ebx + 0x154], eax
mov dword [ebx + 0x5c], eax
mov edi, dword [ebx + 0x11c]
lea eax, [ebx + 0x11c]
neg edi
sbb edi, edi
and edi, eax
mov dword [ebp - 0x84], edi
call dword [sym.imp.kernel32.dll_GetTickCount]
mov esi, eax
mov dword [ebp - 0x88], esi
lea edx, [ebp + 0x10]
mov ecx, dword [ebx + 0x14]
push edx
lea edx, [ebp - 0xc4]
push edx
lea edx, [ebp - 0x54]
mov eax, dword [ecx]
push edx
lea edx, [ebp + 0xc]
mov byte [ebp - 4], 0x11
push edx
lea edx, [ebp - 0xbc]
push edx
lea edx, [ebp - 0x80]
push edx
call dword [eax + 4]
xor ecx, ecx
xor edx, edx
cmp eax, ecx
mov dword [ebx + 0x5c], ecx
sete dl
cmp edi, ecx
mov dword [ebp - 0x1c], edx
mov dword [ebx + 0x7c], ecx
mov dword [ebx + 0x154], ecx
mov byte [ebp - 4], 0x10
je 0x486945
call dword [sym.imp.kernel32.dll_GetTickCount]
mov ecx, dword [edi]
sub eax, esi
add ecx, eax
mov dword [edi], ecx
xor ecx, ecx
cmp dword [ebp - 0x1c], ecx
jne 0x486c2e
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c], 1
cmp eax, ecx
jne 0x486c2e
cmp dword [ebp - 0x4c], ecx
je 0x4869b8
mov eax, dword [0x4fdbfc]
lea ecx, [ebp - 0x54]
push eax
push 0
push ecx
lea ecx, [ebp - 0x7c]
call fcn.004051a0
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x1c], 0
test eax, eax
je 0x4869b8
mov esi, dword [ebp - 0x50]
test esi, esi
jne 0x486993
mov esi, 0x4fdc00
mov edi, dword [ebx + 0xe0]
test edi, edi
jne 0x4869a2
mov edi, 0x4fdc00
lea ecx, [ebp - 0x80]
call fcn.00461aa0
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x38], edx
push eax
push esi
mov edx, dword [ecx]
push edi
call dword [edx + 0x14]
lea ecx, [ebp - 0xdc]
mov byte [ebp - 0x84], 1
mov dword [ebp - 0x88], 7
call fcn.00464470
lea eax, [ebp - 0x88]
push 8
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x12
call fcn.00464700
mov edx, dword [ebp - 0x78]
test edx, edx
jne 0x4869f8
mov edx, 0x4fdc00
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
lea ecx, [ebp - 0xdc]
call fcn.00464700
mov ecx, dword [ebp - 0xc4]
push ecx
lea ecx, [ebp - 0xdc]
call fcn.004646d0
mov edx, dword [ebp + 0xc]
lea ecx, [ebp - 0xdc]
push edx
call fcn.004646d0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xdc]
push eax
call fcn.004646d0
mov ecx, dword [ebp - 0xa8]
push ecx
lea ecx, [ebp - 0xdc]
call fcn.004646d0
mov eax, dword [ebp + 0xc]
xor esi, esi
cmp eax, esi
mov dword [ebx + 0x130], eax
je 0x486b8b
mov edx, dword [ebx + 0xb4]
lea edi, [ebx + 0xb4]
mov ecx, edi
call dword [edx + 0x20]
mov ecx, dword [ebp + 0xc]
cmp eax, ecx
jae 0x486bba
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x24]
cmp eax, 0xffffffff
jne 0x486b79
call dword [sym.imp.kernel32.dll_GetLastError]
lea ecx, [ebp - 0x160]
push eax
push ecx
mov dword [ebp - 0x1c], eax
call fcn.00461090
add esp, 8
mov eax, dword [eax + 4]
mov byte [ebp - 4], 0x13
cmp eax, esi
mov esi, 0x4fdc00
je 0x486abd
mov esi, eax
lea edx, [ebp - 0x170]
mov ecx, edi
push edx
call fcn.00415940
mov eax, dword [eax + 4]
test eax, eax
jne 0x486ad7
mov eax, 0x4fdc00
mov ecx, dword [ebp + 0xc]
push esi
push ecx
push eax
lea edx, [ebp - 0x290]
push str.Failed_to_set_file_pointer_of__s_to__u._n_s
push edx
call fcn.004c335e
add esp, 0x14
lea ecx, [ebp - 0x170]
push 1
call fcn.00403b70
push 1
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x12
call fcn.00403b70
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x290]
push eax
push ecx
mov ecx, ebx
call fcn.004861f0
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x10
call fcn.004644e0
push 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xf
call fcn.00403b70
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xd
call fcn.00403b70
push 1
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 2
call fcn.00403b70
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
jmp 0x488473
mov dword [ebx + 0x84], esi
mov dword [ebx + 0x114], esi
mov dword [ebx + 0x11c], esi
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xcc]
push esi
push edx
push eax
push 0x503
mov ecx, ebx
call fcn.00488500
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x10
call fcn.004644e0
jmp 0x486c4e
push esi
push esi
push esi
push 0x50a
mov ecx, ebx
call fcn.00488500
push 0x536ec0
push esi
mov ecx, ebx
call fcn.00485c10
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x10
call fcn.004644e0
push 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xf
call fcn.00403b70
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xd
call fcn.00403b70
push 1
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 2
call fcn.00403b70
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
jmp 0x488473
push 0
push 0
push 0
push 0x50a
mov ecx, ebx
call fcn.00488500
push 0x536ec0
push 0
mov ecx, ebx
call fcn.00485c10
push 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xf
call fcn.00403b70
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xd
call fcn.00403b70
xor esi, esi
jmp 0x486e0a
cmp eax, 0x509
jne 0x486e0a
mov cl, byte [ebp + 0xb]
push esi
mov byte [ebp - 0xb8], cl
lea ecx, [ebp - 0xb8]
call fcn.00403b70
mov edi, 0x536ec0
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp - 4], 0x14
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x536ec0
lea ecx, [ebp - 0xb8]
call fcn.004053a0
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0xa0], esi
lea edx, [ebp - 0xbc]
lea eax, [ebp - 0x34]
push edx
push eax
mov byte [ebp - 4], 0x15
call fcn.00461cc0
mov cl, byte [ebp + 0xb]
add esp, 8
mov byte [ebp - 0xd4], cl
lea ecx, [ebp - 0xd4]
push esi
call fcn.00403b70
mov ecx, dword [ebx + 0x14]
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0xbc]
push eax
mov dword [ebx + 0x154], 1
mov edx, dword [ecx]
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0x16
call dword [edx + 8]
mov edi, eax
mov dword [ebx + 0x154], esi
cmp edi, esi
jne 0x486d4e
push esi
push esi
push esi
push 0x50a
mov ecx, ebx
call fcn.00488500
push 0x536ec0
push esi
mov ecx, ebx
call fcn.00485c10
jmp 0x486dca
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x88], 7
mov byte [ebp - 0x84], 1
call fcn.00464470
lea ecx, [ebp - 0x88]
push 8
push ecx
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x17
call fcn.00464700
push edi
lea ecx, [ebp - 0x5c]
call fcn.004646a0
mov edx, dword [ebp - 0xd0]
cmp edx, esi
jne 0x486d94
mov edx, 0x4fdc00
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
lea ecx, [ebp - 0x5c]
call fcn.00464700
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x4c]
push esi
push edx
push eax
push 0x509
mov ecx, ebx
call fcn.00488500
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x16
call fcn.004644e0
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x15
call fcn.00403b70
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xd
call fcn.00403b70
jmp 0x486e0a
push esi
push esi
push esi
push 0x50a
mov ecx, ebx
call fcn.00488500
push 0x536ec0
push esi
mov ecx, ebx
call fcn.00485c10
mov byte [ebp - 4], 2
push 1
lea ecx, [ebp - 0x7c]
jmp 0x487760
mov ecx, ebx
call fcn.00485ff0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
jmp 0x488473
lea ecx, [ebp - 0x88]
push 8
push ecx
lea ecx, [ebp - 0x34]
call fcn.004647d0
mov eax, dword [ebp - 0x88]
cmp eax, 2
jne 0x48780f
mov dl, byte [ebp + 0xb]
xor esi, esi
push esi
lea ecx, [ebp - 0x7c]
mov byte [ebp - 0x7c], dl
call fcn.00403b70
mov edi, 0x536ec0
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp - 4], 0x18
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x536ec0
lea ecx, [ebp - 0x7c]
call fcn.004053a0
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x64], esi
lea eax, [ebp - 0x80]
lea ecx, [ebp - 0x34]
push eax
push ecx
mov byte [ebp - 4], 0x19
call fcn.00461cc0
add esp, 8
lea ecx, [ebp - 0x80]
call fcn.00461aa0
mov dword [ebx + 0x128], eax
lea ecx, [ebp - 0x34]
mov dword [ebx + 0x12c], edx
call fcn.004647b0
mov edx, dword [ebp - 0x6c]
mov dword [ebx + 0x150], eax
lea eax, [ebp - 0x7c]
mov dword [ebx + 0x134], edx
lea ecx, [ebx + 0xec]
push eax
lea edx, [ebp - 0x98]
push ecx
push edx
call fcn.004601b0
add esp, 0xc
mov al, byte [ebp - 0x98]
push esi
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x1a
mov byte [ebp - 0xec], al
call fcn.00403b70
mov ecx, dword [0x4fdbfc]
lea edx, [ebp - 0x98]
push ecx
push esi
push edx
lea ecx, [ebp - 0xec]
call fcn.004051a0
mov eax, dword [0x4fdbfc]
push 1
push eax
lea eax, [ebp + 0xf]
push eax
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x1b
mov byte [ebp + 0xf], 0x5c
call fcn.00406540
mov esi, dword [0x4fdbfc]
lea edi, [eax + 1]
cmp dword [ebp - 0xe4], edi
jae 0x486f5d
call fcn.004d1a52
lea ecx, [ebp - 0xec]
call fcn.00405570
mov eax, dword [ebp - 0xe4]
sub eax, edi
cmp eax, esi
jae 0x486f76
mov esi, eax
test esi, esi
jbe 0x486fbc
mov ecx, dword [ebp - 0xe8]
sub eax, esi
add ecx, edi
push eax
lea edx, [ecx + esi]
push edx
push ecx
call fcn.004c3020
mov edi, dword [ebp - 0xe4]
add esp, 0xc
sub edi, esi
lea ecx, [ebp - 0xec]
push 0
push edi
call fcn.00403be0
test al, al
je 0x486fbc
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe4], edi
mov byte [edi + edx], 0
mov eax, dword [ebx + 0x14]
xor esi, esi
cmp eax, esi
je 0x487064
mov al, byte [ebx + 0xfc]
lea edi, [ebx + 0xfc]
push esi
lea ecx, [ebp - 0xd4]
mov byte [ebp - 0xd4], al
call fcn.00403b70
mov ecx, dword [0x4fdbfc]
push ecx
push esi
push edi
lea ecx, [ebp - 0xd4]
call fcn.004051a0
mov eax, dword [ebp - 0x78]
mov byte [ebp - 4], 0x1c
cmp eax, esi
jne 0x48700b
mov eax, 0x4fdc00
lea edx, [ebp - 0xd4]
push eax
push edx
call fcn.00460a00
mov eax, dword [ebp - 0x94]
add esp, 8
cmp eax, esi
mov esi, 0x4fdc00
je 0x48702c
mov esi, eax
mov edi, dword [ebp - 0xd0]
test edi, edi
jne 0x48703b
mov edi, 0x4fdc00
lea ecx, [ebp - 0x80]
call fcn.00461aa0
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x38], edx
push eax
push esi
mov edx, dword [ecx]
push edi
call dword [edx + 0x14]
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x1b
call fcn.00403b70
xor esi, esi
mov ecx, dword [ebx + 0x10]
cmp ecx, esi
je 0x48707c
mov edx, dword [ebx + 0x128]
mov eax, dword [ecx]
push esi
push esi
push esi
push esi
push esi
push edx
call dword [eax + 4]
cmp dword [ebx + 0xf4], esi
je 0x487735
mov eax, dword [ebp - 0xe8]
mov byte [ebp - 4], 0x1d
cmp eax, esi
jne 0x48709b
mov eax, 0x4fdc00
push eax
call fcn.0045f530
mov al, byte [ebp + 0xb]
add esp, 4
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0x1b
push esi
mov dword [ebp + 0xc], 0x22
mov dword [ebp + 0x10], esi
mov dword [ebp - 0xc4], esi
mov byte [ebp - 0x54], al
call fcn.00403b70
mov byte [ebp - 4], 0x1f
mov cl, byte [ebp + 0xb]
push esi
mov byte [ebp - 0xb8], cl
lea ecx, [ebp - 0xb8]
call fcn.00403b70
mov edi, 0x536ec0
or ecx, 0xffffffff
xor eax, eax
mov byte [ebp - 4], 0x20
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x536ec0
lea ecx, [ebp - 0xb8]
call fcn.004053a0
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0xa0], esi
mov eax, dword [ebp - 0x94]
mov byte [ebp - 4], 0x21
cmp eax, esi
jne 0x487132
mov eax, 0x4fdc00
lea edx, [ebp - 0xbc]
push edx
push eax
call fcn.00460f60
add esp, 8
cmp eax, esi
jne 0x4874ba
lea ecx, [ebp - 0x13c]
call fcn.00464020
mov eax, dword [ebp - 0x94]
mov byte [ebp - 4], 0x22
cmp eax, esi
jne 0x487168
mov eax, 0x4fdc00
push esi
push 0x2a
push eax
lea ecx, [ebp - 0x13c]
call fcn.004640d0
lea ecx, [ebp - 0x13c]
call fcn.00464210
cmp eax, esi
je 0x4874ab
lea ecx, [ebp - 0x13c]
call fcn.00464220
mov ecx, dword [ebx + 0x14]
cmp ecx, esi
je 0x4874ab
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
push edx
lea edx, [ebp - 0xc4]
push edx
lea edx, [ebp - 0x54]
push edx
lea edx, [ebp + 0x10]
push edx
lea edx, [ebp - 0x80]
push edx
mov dword [ebx + 0x154], 1
mov eax, dword [ecx]
lea edx, [ebp - 0xbc]
push edx
call dword [eax + 4]
xor ecx, ecx
cmp eax, esi
sete cl
mov eax, ecx
mov dword [ebx + 0x154], esi
cmp eax, esi
jne 0x48746a
mov ecx, ebx
call fcn.00486330
cmp dword [ebp - 0x1c], esi
je 0x4874ab
lea ecx, [ebp - 0x80]
call fcn.00461aa0
lea ecx, [ebp - 0x80]
mov edi, eax
mov dword [ebp - 0x38], edx
call fcn.00461aa0
mov ecx, dword [ebx + 0x10]
push esi
push esi
push esi
mov dword [ebp - 0x38], edx
mov edx, dword [ecx]
push esi
push edi
push eax
call dword [edx + 4]
mov esi, dword [ebx + 0x150]
inc esi
lea edi, [ebx + 0x158]
mov ecx, edi
call fcn.0048ba70
test eax, eax
jne 0x4873a3
lea ecx, [ebp - 0xdc]
call fcn.00464470
lea eax, [ebp - 0xdc]
lea ecx, [ebp + 0xc]
push eax
push ecx
mov ecx, edi
mov byte [ebp - 4], 0x23
call fcn.0048baa0
cmp dword [ebp + 0xc], 0x50d
je 0x4872ea
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x22
call fcn.004644e0
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x21
call fcn.00464050
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1f
call fcn.00403b70
push 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1b
call fcn.00403b70
push 1
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x1a
call fcn.00403b70
push 1
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x19
call fcn.00403b70
push 1
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 2
call fcn.00403b70
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov edi, dword [ebp - 0x14]
test edi, edi
jmp 0x487776
lea edx, [ebp - 0x3c]
push 8
push edx
lea ecx, [ebp - 0xdc]
call fcn.004647d0
cmp dword [ebp - 0x3c], 3
jne 0x487388
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x22
call fcn.004644e0
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x21
call fcn.00464050
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1f
call fcn.00403b70
push 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1b
call fcn.00403b70
push 1
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x1a
call fcn.00403b70
push 1
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x19
call fcn.00403b70
push 1
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 2
call fcn.00403b70
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov edi, dword [ebp - 0x14]
test edi, edi
jmp 0x487776
mov ecx, edi
call fcn.0048baf0
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x22
call fcn.004644e0
jmp 0x487224
lea ecx, [ebp - 0x10c]
call fcn.00464470
push 0
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0x24
call fcn.004646d0
push esi
lea ecx, [ebp - 0x10c]
call fcn.004646d0
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xfc]
push 0
push eax
push ecx
push 0x50f
mov ecx, ebx
call fcn.00488500
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0x22
call fcn.004644e0
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x21
call fcn.00464050
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1f
call fcn.00403b70
push 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1b
call fcn.00403b70
push 1
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x1a
call fcn.00403b70
push 1
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x19
call fcn.00403b70
push 1
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 2
call fcn.00403b70
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov edi, dword [ebp - 0x14]
test edi, edi
jmp 0x487776
push esi
push esi
push esi
push 0x50a
mov ecx, ebx
call fcn.00488500
push 0x536ec0
push esi
mov ecx, ebx
call fcn.00485c10
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x21
call fcn.00464050
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1f
call fcn.00403b70
jmp 0x487727
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x21
call fcn.00464050
push 1
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1f
call fcn.00403b70
cmp dword [ebp - 0x4c], esi
je 0x4874ec
mov edx, dword [0x4fdbfc]
lea eax, [ebp - 0x98]
push edx
push esi
push eax
lea ecx, [ebp - 0x54]
call fcn.004051a0
jmp 0x4870ce
cmp dword [ebp + 0x10], esi
je 0x4874f9
mov eax, dword [ebp + 0xc]
or al, 8
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x94]
cmp eax, esi
jne 0x487508
mov eax, 0x4fdc00
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebx + 0xb4]
lea edi, [ebx + 0xb4]
push esi
push ecx
push eax
mov ecx, edi
call dword [edx]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
cmp eax, esi
je 0x4876c2
mov ecx, dword [ebp - 0xc4]
xor eax, eax
cmp ecx, esi
je 0x487540
mov ecx, edi
call fcn.00464420
mov ecx, dword [ebp + 0x10]
cmp ecx, esi
je 0x48754f
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x28]
cmp eax, 0xffffffff
jne 0x4875ba
call dword [sym.imp.kernel32.dll_GetLastError]
mov edi, eax
lea ecx, [ebp - 0x180]
push edi
push ecx
call fcn.00461090
mov eax, dword [eax + 4]
add esp, 8
cmp eax, esi
jne 0x487578
mov eax, 0x4fdc00
mov ecx, dword [ebp - 0x94]
cmp ecx, esi
jne 0x487587
mov ecx, 0x4fdc00
mov edx, dword [ebp + 0x10]
push eax
push edx
push ecx
lea eax, [ebp - 0x290]
push str.Failed_to_set_file_pointer_of__s_to__u._n_s
push eax
call fcn.004c335e
add esp, 0x14
lea ecx, [ebp - 0x180]
push 1
call fcn.00403b70
lea ecx, [ebp - 0x290]
push ecx
jmp 0x48771f
lea ecx, [ebp - 0x80]
call fcn.00461aa0
mov edi, dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebx + 0x128], eax
mov dword [ebx + 0x12c], edx
call edi
mov edx, dword [ebp + 0x10]
mov dword [ebx + 0x11c], eax
mov eax, dword [ebx + 0x120]
mov dword [ebx + 0x114], esi
cmp eax, esi
mov dword [ebx + 0x130], edx
jne 0x4875fd
call edi
mov dword [ebx + 0x120], eax
cmp dword [ebx + 0x130], esi
je 0x487662
lea ecx, [ebp - 0x10c]
call fcn.00464470
mov eax, dword [ebx + 0x150]
lea ecx, [ebp - 0x10c]
push eax
mov byte [ebp - 4], 0x25
call fcn.004646d0
mov ecx, dword [ebx + 0x130]
push ecx
lea ecx, [ebp - 0x10c]
call fcn.004646d0
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0xfc]
push esi
push edx
push eax
push 0x514
mov ecx, ebx
call fcn.00488500
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0x1f
call fcn.004644e0
push 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1b
call fcn.00403b70
push 1
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x1a
call fcn.00403b70
push 1
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x19
call fcn.00403b70
mov eax, dword [ebp - 0x78]
cmp eax, esi
je 0x487d09
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4876b4
cmp al, 0xff
je 0x4876b4
dec al
mov byte [ecx], al
jmp 0x487d09
push ecx
call fcn.004dae3e
add esp, 4
jmp 0x487d09
call dword [sym.imp.kernel32.dll_GetLastError]
mov edi, eax
lea ecx, [ebp - 0x190]
push edi
push ecx
call fcn.00461090
mov eax, dword [eax + 4]
add esp, 8
cmp eax, esi
jne 0x4876e6
mov eax, 0x4fdc00
mov ecx, dword [ebp - 0x94]
cmp ecx, esi
jne 0x4876f5
mov ecx, 0x4fdc00
push eax
push ecx
lea edx, [ebp - 0x290]
push str.Can_not_open__s_for_writing._n_s
push edx
call fcn.004c335e
add esp, 0x10
lea ecx, [ebp - 0x190]
push 1
call fcn.00403b70
lea eax, [ebp - 0x290]
push eax
push edi
mov ecx, ebx
call fcn.004861f0
push 1
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x1b
call fcn.00403b70
push 1
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0x1a
call fcn.00403b70
push 1
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x19
call fcn.00403b70
mov byte [ebp - 4], 2
push 1
lea ecx, [ebp - 0x7c]
call fcn.00403b70
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov edi, dword [ebp - 0x14]
cmp edi, esi
je 0x488484
call dword [sym.imp.kernel32.dll_GetTickCount]
mov edx, dword [ebp - 0x18]
mov ecx, dword [edi]
sub eax, edx
add ecx, eax
mov dword [edi], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 3
jne 0x4879ec
lea ecx, [ebp - 0x34]
call fcn.004647b0
lea ecx, [ebp - 0x34]
mov dword [ebp + 0xc], eax
call fcn.004647b0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov edi, eax
mov eax, dword [ebp + 0xc]
mov esi, ecx
sub esi, edx
cmp eax, dword [ebx + 0x150]
je 0x48785e
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
jmp 0x488473
mov eax, dword [ebx + 0x130]
test eax, eax
je 0x487885
cmp eax, edi
jb 0x4878c3
add esi, edi
cmp eax, esi
ja 0x4878c3
sub eax, edi
lea ecx, [ebp - 0x34]
add eax, edx
push eax
call fcn.00464640
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov esi, dword [ebx + 0x114]
mov eax, ecx
sub eax, edx
add esi, eax
mov eax, ecx
mov dword [ebx + 0x114], esi
mov esi, dword [ebx + 0x118]
sub eax, edx
add esi, eax
mov eax, dword [ebx + 0x10]
test eax, eax
mov dword [ebx + 0x118], esi
je 0x487928
sub ecx, edx
mov dword [ebp + 0xc], ecx
je 0x4878f2
lea ecx, [ebp - 0x34]
call fcn.00464560
mov esi, eax
jmp 0x4878f4
mov edx, dword [ebx + 0xb4]
lea ecx, [ebx + 0xb4]
call dword [edx + 0x20]
cmp eax, edi
je 0x48787f
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
jmp 0x488473
xor esi, esi
mov ecx, ebx
call fcn.00488640
mov ecx, ebx
mov edi, eax
call fcn.00488590
push dword [ebp + 0xc]
mov ecx, dword [ebx + 0x10]
push esi
mov esi, dword [ebx + 0x114]
mov edx, dword [ecx]
push edi
push eax
mov eax, dword [ebx + 0x130]
add eax, esi
push eax
mov eax, dword [ebx + 0x128]
push eax
call dword [edx + 4]
mov edx, dword [ebx + 0xb4]
lea edi, [ebx + 0xb4]
mov ecx, edi
call dword [edx + 4]
test eax, eax
jne 0x487958
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], al
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
jmp 0x488473
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
cmp eax, esi
je 0x48797b
lea ecx, [ebp - 0x34]
mov dword [ebp + 0xc], eax
call fcn.00464560
mov ecx, dword [ebp + 0xc]
mov edx, dword [edi]
sub esi, ecx
mov ecx, edi
push esi
push eax
call dword [edx + 0xc]
mov al, byte [ebp - 0x84]
test al, al
je 0x487d09
xor esi, esi
lea eax, [ebp - 0xd4]
mov dword [ebx + 0x128], esi
push eax
mov ecx, edi
mov dword [ebx + 0x12c], esi
mov dword [ebx + 0x11c], esi
mov dword [ebx + 0x114], esi
mov dword [ebx + 0x130], esi
call fcn.00415940
mov edx, dword [edi]
mov ecx, edi
mov byte [ebp - 4], 0x26
call dword [edx + 8]
mov eax, dword [ebp - 0xd0]
cmp eax, esi
jne 0x4879d1
mov eax, 0x4fdc00
mov ecx, dword [ebx + 0x134]
push ecx
push eax
call fcn.00461710
mov eax, dword [ebp - 0xd0]
add esp, 8
jmp 0x487ca1
cmp eax, 8
jne 0x487cc1
lea ecx, [ebp - 0x34]
call fcn.004647b0
lea edx, [ebp - 0x114]
lea ecx, [ebp - 0x34]
push edx
mov dword [ebp + 0x10], eax
call fcn.00464810
mov esi, dword [eax]
mov al, byte [ebp + 0xb]
mov byte [ebp - 0x98], al
xor eax, eax
mov edi, esi
or ecx, 0xffffffff
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ebp - 4], 0x27
mov dword [ebp + 0xc], ecx
push ecx
lea ecx, [ebp - 0x98]
call fcn.00403be0
test al, al
je 0x487a76
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x94]
mov ecx, eax
push eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x98]
call fcn.00403bc0
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0x29
call fcn.004da87c
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
cmp eax, ecx
je 0x487c7e
lea ecx, [ebp - 0x34]
call fcn.004647b0
mov cl, byte [ebp + 0xb]
xor esi, esi
mov byte [ebp - 0x7c], cl
push esi
lea ecx, [ebp - 0x7c]
mov dword [ebx + 0x150], eax
call fcn.00403b70
mov edi, 0x536ec0
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ebp - 4], 0x2a
mov dword [ebp + 0xc], ecx
push ecx
lea ecx, [ebp - 0x7c]
call fcn.00403be0
test al, al
je 0x487afe
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x78]
mov ecx, eax
mov esi, 0x536ec0
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x74], eax
xor esi, esi
mov byte [ecx + eax], 0
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x64], esi
lea edx, [ebp - 0x80]
lea eax, [ebp - 0x34]
push edx
push eax
mov byte [ebp - 4], 0x2b
call fcn.00461cc0
mov eax, dword [ebx + 0x10]
add esp, 8
cmp eax, esi
je 0x487c54
cmp dword [ebp - 0x80], esi
jne 0x487c54
cmp dword [ebx + 0x14], esi
je 0x487c2e
lea ecx, [ebp - 0x7c]
lea edx, [ebx + 0xec]
push ecx
lea eax, [ebp - 0xd4]
push edx
push eax
call fcn.004601b0
add esp, 0xc
mov edx, dword [0x4fdbfc]
mov cl, byte [ebx + 0xfc]
lea eax, [ebx + 0xfc]
push edx
mov byte [ebp - 0x54], cl
push esi
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x2c
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
call fcn.004051a0
mov eax, dword [ebp - 0x78]
mov byte [ebp - 4], 0x2d
cmp eax, esi
jne 0x487b92
mov eax, 0x4fdc00
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00460a00
mov eax, dword [ebp - 0xd0]
add esp, 8
cmp eax, esi
mov esi, 0x4fdc00
je 0x487bb0
mov esi, eax
mov edi, dword [ebp - 0x50]
test edi, edi
jne 0x487bbc
mov edi, 0x4fdc00
lea ecx, [ebp - 0x80]
call fcn.00461aa0
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x38], edx
push eax
push esi
mov edx, dword [ecx]
push edi
call dword [edx + 0x14]
mov eax, dword [ebp - 0x50]
xor esi, esi
cmp eax, esi
je 0x487bf8
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x487bef
cmp al, 0xff
je 0x487bef
dec al
mov byte [ecx], al
jmp 0x487bf8
push ecx
call fcn.004dae3e
add esp, 4
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x50], esi
cmp eax, esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
mov byte [ebp - 4], 0x2b
je 0x487c2c
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x487c23
cmp al, 0xff
je 0x487c23
dec al
mov byte [ecx], al
jmp 0x487c2c
push ecx
call fcn.004dae3e
add esp, 4
xor esi, esi
lea ecx, [ebp - 0x80]
call fcn.00461aa0
lea ecx, [ebp - 0x80]
mov edi, eax
mov dword [ebp - 0x38], edx
call fcn.00461aa0
mov ecx, dword [ebx + 0x10]
push esi
push esi
push esi
mov dword [ebp - 0x38], edx
mov edx, dword [ecx]
push esi
push edi
push eax
call dword [edx + 4]
mov eax, dword [ebp - 0x78]
mov byte [ebp - 4], 0x29
cmp eax, esi
je 0x487c80
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x487c73
cmp al, 0xff
je 0x487c73
dec al
mov byte [ecx], al
jmp 0x487c80
push ecx
call fcn.004dae3e
add esp, 4
jmp 0x487c80
xor esi, esi
mov eax, dword [ebp - 0x94]
cmp eax, esi
jne 0x487c8f
mov eax, 0x4fdc00
push eax
mov eax, dword [ebp + 0x10]
push eax
mov ecx, ebx
call fcn.004861f0
mov eax, dword [ebp - 0x94]
cmp eax, esi
je 0x487d09
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4876b4
cmp al, 0xff
je 0x4876b4
dec al
mov byte [ecx], al
jmp 0x487d09
cmp eax, 5
je 0x487ccb
cmp eax, 6
jne 0x487d09
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x487ce2
mov edx, dword [ecx]
push str.Getting_folder_s__content...
call dword [edx + 0x1c]
mov eax, dword [ebp - 0x88]
cmp eax, 6
jne 0x487d09
lea ecx, [ebp - 0x34]
call fcn.004647b0
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.004647b0
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x487d09
mov edx, dword [ebx]
push eax
push esi
mov ecx, ebx
call dword [edx + 0x18]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
jmp 0x488473
lea eax, [ebp - 0x3c]
push 8
push eax
lea ecx, [ebp - 0x34]
call fcn.004647d0
mov eax, dword [ebp - 0x3c]
cmp eax, 8
jne 0x487e03
lea ecx, [ebp - 0x34]
call fcn.004647b0
lea ecx, [ebp - 0x110]
mov dword [ebp + 0x10], eax
push ecx
lea ecx, [ebp - 0x34]
call fcn.00464810
mov esi, dword [eax]
mov dl, byte [ebp + 0xb]
xor eax, eax
mov edi, esi
or ecx, 0xffffffff
mov byte [ebp - 0x54], dl
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ebp - 4], 0x2e
mov dword [ebp + 0xc], ecx
push ecx
lea ecx, [ebp - 0x54]
call fcn.00403be0
test al, al
je 0x487dac
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x50]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
mov byte [ecx + eax], 0
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x30
call fcn.004da87c
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x487dc7
mov eax, 0x4fdc00
mov edx, dword [ebp + 0x10]
push eax
push edx
mov ecx, ebx
call fcn.004861f0
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x487f28
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x487df5
cmp al, 0xff
je 0x487df5
dec al
mov byte [ecx], al
jmp 0x487f28
push ecx
call fcn.004dae3e
add esp, 4
jmp 0x487f28
cmp eax, 5
je 0x487f15
cmp eax, 6
je 0x487f15
cmp eax, 4
jne 0x487f28
lea ecx, [ebp - 0x34]
call fcn.004647b0
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x1c], eax
call fcn.004647b0
mov dword [ebp + 0x10], eax
mov al, byte [ebp + 0xb]
xor esi, esi
lea ecx, [ebp - 0xb8]
push esi
mov byte [ebp - 0xb8], al
call fcn.00403b70
mov edi, 0x536ec0
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ebp - 4], 0x31
mov dword [ebp + 0xc], ecx
push ecx
lea ecx, [ebp - 0xb8]
call fcn.00403be0
test al, al
je 0x487ea3
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0xb4]
mov ecx, eax
mov esi, 0x536ec0
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xb0], eax
xor esi, esi
mov byte [ecx + eax], 0
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0xa0], esi
lea edx, [ebp - 0xbc]
lea eax, [ebp - 0x34]
push edx
push eax
mov byte [ebp - 4], 0x32
call fcn.00461cc0
mov ebx, dword [ebx + 0x14]
add esp, 8
cmp ebx, esi
je 0x487eef
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebx]
lea eax, [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0x1c]
push ecx
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov eax, dword [ebp - 0xb4]
cmp eax, esi
je 0x487f28
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x487df5
cmp al, 0xff
je 0x487df5
dec al
mov byte [ecx], al
jmp 0x487f28
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x487f28
mov edx, dword [ebx]
push str.Getting_folder_s__content...
mov ecx, ebx
call dword [edx + 0x1c]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
jmp 0x488473
lea eax, [ebp - 0x3c]
push 8
push eax
lea ecx, [ebp - 0x34]
call fcn.004647d0
mov eax, dword [ebp - 0x3c]
cmp eax, 8
jne 0x488022
lea ecx, [ebp - 0x34]
call fcn.004647b0
lea ecx, [ebp - 0xf0]
mov dword [ebp + 0x10], eax
push ecx
lea ecx, [ebp - 0x34]
call fcn.00464810
mov esi, dword [eax]
mov dl, byte [ebp + 0xb]
xor eax, eax
mov edi, esi
or ecx, 0xffffffff
mov byte [ebp - 0x54], dl
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ebp - 4], 0x33
mov dword [ebp + 0xc], ecx
push ecx
lea ecx, [ebp - 0x54]
call fcn.00403be0
test al, al
je 0x487fcb
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x50]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
mov byte [ecx + eax], 0
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x35
call fcn.004da87c
mov eax, dword [ebp - 0x50]
test eax, eax
jne 0x487fe6
mov eax, 0x4fdc00
mov edx, dword [ebp + 0x10]
push eax
push edx
mov ecx, ebx
call fcn.004861f0
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x488118
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x488014
cmp al, 0xff
je 0x488014
dec al
mov byte [ecx], al
jmp 0x488118
push ecx
call fcn.004dae3e
add esp, 4
jmp 0x488118
cmp eax, 4
jne 0x4880fb
lea ecx, [ebp - 0x34]
call fcn.004647b0
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x1c], eax
call fcn.004647b0
mov dword [ebp + 0x10], eax
mov al, byte [ebp + 0xb]
xor esi, esi
mov byte [ebp - 0x7c], al
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], esi
mov edi, 0x536ec0
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ebp - 4], 0x36
mov dword [ebp + 0xc], ecx
push ecx
lea ecx, [ebp - 0x7c]
call fcn.00403be0
test al, al
je 0x48809e
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x78]
mov ecx, eax
mov esi, 0x536ec0
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x74], eax
xor esi, esi
mov byte [ecx + eax], 0
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x64], esi
lea edx, [ebp - 0x80]
lea eax, [ebp - 0x34]
push edx
push eax
mov byte [ebp - 4], 0x37
call fcn.00461cc0
mov ebx, dword [ebx + 0x14]
add esp, 8
cmp ebx, esi
je 0x4880d8
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebx]
lea eax, [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x1c]
push ecx
push eax
mov ecx, ebx
call dword [edx + 0x10]
mov eax, dword [ebp - 0x78]
cmp eax, esi
je 0x488118
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x488014
cmp al, 0xff
je 0x488014
dec al
mov byte [ecx], al
jmp 0x488118
cmp eax, 5
je 0x488105
cmp eax, 6
jne 0x488118
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x488118
mov edx, dword [ebx]
push str.Getting_folder_s__content...
mov ecx, ebx
call dword [edx + 0x1c]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
jmp 0x488473
lea eax, [ebp - 0x3c]
push 8
push eax
lea ecx, [ebp - 0x34]
call fcn.004647d0
mov eax, dword [ebp - 0x3c]
cmp eax, 6
jne 0x4881b7
lea ecx, [ebp - 0x34]
call fcn.004647b0
lea ecx, [ebp - 0x34]
mov dword [ebp + 0x10], eax
call fcn.004647b0
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.004647b0
lea ecx, [ebp - 0x34]
mov dword [ebp + 0xc], eax
call fcn.004647b0
mov esi, eax
mov ecx, 0x20
mov dword [ebx + 0x50], esi
mov dword [ebx + 0x54], 0
mov eax, dword [ebx + 0x50]
mov edx, dword [ebx + 0x54]
call fcn.004c5c70
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], edx
mov edx, dword [ebx + 0x50]
or edx, edi
mov dword [ebx + 0x50], edx
mov ecx, dword [ebx + 0x54]
mov dword [ebx + 0x54], ecx
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x4881fa
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebx]
push esi
push edi
push eax
push ecx
jmp 0x4881f6
cmp eax, 4
jne 0x4881fa
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x4881fa
lea ecx, [ebp - 0x34]
call fcn.004647b0
lea ecx, [ebp - 0x34]
mov dword [ebp + 0xc], eax
call fcn.004647b0
lea ecx, [ebp - 0x34]
mov edi, eax
call fcn.004647b0
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.004647b0
mov ebx, dword [ebx + 0x14]
push eax
mov eax, dword [ebp + 0xc]
push edi
mov edx, dword [ebx]
push esi
push eax
mov ecx, ebx
call dword [edx]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
jmp 0x488473
mov cl, byte [ebp + 0xb]
xor eax, eax
mov byte [ebp - 0x44], cl
mov edi, 0x536ec0
or ecx, 0xffffffff
mov dword [ebp + 0xc], eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 0x40], eax
mov esi, ecx
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp + 0x10], esi
call fcn.00405560
cmp eax, esi
jae 0x48824d
call fcn.004d1833
mov edi, dword [ebp - 0x40]
test edi, edi
je 0x488273
mov al, byte [edi - 1]
test al, al
je 0x488273
cmp al, 0xff
je 0x488273
test esi, esi
jne 0x488299
dec al
push esi
lea ecx, [ebp - 0x44]
mov byte [edi - 1], al
call fcn.00403b70
jmp 0x4882c6
test esi, esi
jne 0x488283
push 1
lea ecx, [ebp - 0x44]
call fcn.00403b70
jmp 0x4882c6
mov eax, dword [ebp - 0x38]
cmp eax, 0x1f
ja 0x48828f
cmp eax, esi
jae 0x4882a5
push 1
lea ecx, [ebp - 0x44]
call fcn.00403b70
push esi
lea ecx, [ebp - 0x44]
call fcn.00403d00
mov edi, dword [ebp - 0x40]
mov eax, dword [ebp + 0x10]
mov esi, 0x536ec0
mov ecx, eax
push eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x44]
call fcn.00403bc0
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x38
test eax, eax
je 0x488396
lea ecx, [ebp - 0x34]
call fcn.004647b0
mov dword [ebp + 0xc], eax
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x34]
call fcn.00464810
mov esi, dword [eax]
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [ebp - 4], 0x39
mov edi, ecx
cmp edi, 0xfffffffd
mov dword [ebp + 0x10], edi
jbe 0x488310
call fcn.004d1833
mov edx, dword [ebp - 0x40]
test edx, edx
je 0x488336
mov al, byte [edx - 1]
test al, al
je 0x488336
cmp al, 0xff
je 0x488336
test edi, edi
jne 0x48835c
dec al
push edi
lea ecx, [ebp - 0x44]
mov byte [edx - 1], al
call fcn.00403b70
jmp 0x488387
test edi, edi
jne 0x488346
push 1
lea ecx, [ebp - 0x44]
call fcn.00403b70
jmp 0x488387
mov eax, dword [ebp - 0x38]
cmp eax, 0x1f
ja 0x488352
cmp eax, edi
jae 0x488368
push 1
lea ecx, [ebp - 0x44]
call fcn.00403b70
push edi
lea ecx, [ebp - 0x44]
call fcn.00403d00
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x10]
mov edi, edx
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
mov byte [ecx + eax], 0
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 0x38
call fcn.004da87c
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x4883a2
mov eax, 0x4fdc00
mov edx, dword [ebp + 0xc]
push eax
push edx
mov ecx, ebx
call fcn.00485c10
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x4883d2
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4883c9
cmp al, 0xff
je 0x4883c9
dec al
mov byte [ecx], al
jmp 0x4883d2
push ecx
call fcn.004dae3e
add esp, 4
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
jmp 0x488473
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0
call fcn.004644e0
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x488484
call dword [sym.imp.kernel32.dll_GetTickCount]
mov edx, dword [ebp - 0x18]
mov ecx, dword [esi]
sub eax, edx
add ecx, eax
mov dword [esi], ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc