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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x270
push edi
mov dword [ebp - 0x270], ecx
cmp dword [ebp + 8], 0
je 0x10017d06
cmp dword [ebp + 0xc], 0
je 0x10017d00
cmp dword [ebp + 0x10], 0
jne 0x10017d3a
cmp dword [ebp + 0x14], 0
jne 0x10017d3a
mov eax, dword [ebp - 0x270]
cmp dword [eax + 8], 0
je 0x10017d30
push str.apLoadFile:_Invalid_parameters_
push 1
mov ecx, dword [ebp - 0x270]
mov ecx, dword [ecx + 8]
mov edx, dword [ebp - 0x270]
mov eax, dword [edx + 8]
mov edx, dword [eax]
call dword [edx + 0x14]
mov eax, 3
jmp 0x100181b4
cmp dword [ebp + 0xc], 0
je 0x10017d72
mov eax, dword [ebp - 0x270]
cmp dword [eax + 8], 0
je 0x10017d72
mov ecx, dword [ebp + 8]
push ecx
push str.Loading_AP_file:__s
push 3
mov edx, dword [ebp - 0x270]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x270]
mov edx, dword [ecx + 8]
mov ecx, dword [edx]
push eax
call dword [ecx + 0x1c]
add esp, 0x10
push 4
push 0
lea edx, [ebp - 4]
push edx
call fcn.10029860
add esp, 0xc
push 3
mov ecx, dword [ebp - 0x270]
call fcn.10010a40
mov word [ebp - 4], ax
push 0x108
mov ecx, dword [ebp - 0x270]
call fcn.10010a40
mov word [ebp - 2], ax
push 0x108
push 0
lea eax, [ebp - 0x250]
push eax
call fcn.10029860
add esp, 0xc
push 0x104
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x24c]
push edx
call fcn.10029de0
add esp, 0xc
cmp dword [ebp + 0xc], 0
je 0x10017de1
cmp dword [ebp + 0x10], 0
jne 0x10017ded
mov dword [ebp - 0x250], 0
jmp 0x10017df7
mov dword [ebp - 0x250], 1
mov dword [ebp - 8], 0x10c
mov byte [ebp - 0x148], 0
mov ecx, 0x4a
xor eax, eax
lea edi, [ebp - 0x147]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 4
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x148]
push ecx
call fcn.10029520
add esp, 0xc
push 0x108
lea edx, [ebp - 0x250]
push edx
lea eax, [ebp - 0x144]
push eax
call fcn.10029520
add esp, 0xc
mov byte [ebp - 0x16], 0x62
mov byte [ebp - 0x15], 0
mov dword [ebp - 0x1c], 0xffffffff
mov word [ebp - 0x18], 0
push 0xffff
push 0
mov ecx, dword [ebp - 0x270]
add ecx, 0xbb4
push ecx
call fcn.10029860
add esp, 0xc
mov dword [ebp - 0x14], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x10], eax
push 0
mov edx, dword [ebp - 0x270]
mov eax, dword [edx + 0x10bb4]
push eax
lea ecx, [ebp - 0x14]
push ecx
push 0xffff
mov edx, dword [ebp - 0x270]
add edx, 0xbb4
push edx
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x148]
push ecx
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x270]
call fcn.1001d2c0
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x100181b1
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x254], 0
cmp dword [ebp - 0x14], 4
ja 0x10017f2d
mov edx, dword [ebp - 0x270]
cmp dword [edx + 8], 0
je 0x10017f23
mov eax, dword [ebp - 0x14]
push eax
push str._apLoadFile__Invalid_response_length__d__
push 1
mov ecx, dword [ebp - 0x270]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x270]
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
add esp, 0x10
mov eax, 0xc
jmp 0x100181b4
mov ecx, dword [ebp - 0x270]
mov edx, dword [ecx + 0xbb4]
mov dword [ebp - 0x25c], edx
mov ax, word [ebp - 0x25c]
push eax
mov ecx, dword [ebp - 0x270]
call fcn.10010a40
mov word [ebp - 0x25c], ax
mov cx, word [ebp - 0x25a]
push ecx
mov ecx, dword [ebp - 0x270]
call fcn.10010a40
mov word [ebp - 0x25a], ax
mov edx, dword [ebp - 0x25c]
and edx, 0xffff
test edx, edx
je 0x10017fc8
mov eax, dword [ebp - 0x270]
cmp dword [eax + 8], 0
je 0x10017fbe
mov ecx, dword [ebp - 0x25c]
and ecx, 0xffff
push ecx
push str._apLoadFile__Invalid_status__d_
push 1
mov edx, dword [ebp - 0x270]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x270]
mov edx, dword [ecx + 8]
mov ecx, dword [edx]
push eax
call dword [ecx + 0x1c]
add esp, 0x10
mov eax, 0xd
jmp 0x100181b4
mov edx, dword [ebp - 0x270]
add edx, 0xbb8
mov dword [ebp - 0x260], edx
cmp dword [ebp - 0x250], 0
jne 0x10018044
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x254]
push edx
mov ecx, dword [ebp - 0x270]
call fcn.10010c80
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov edx, dword [ebp - 0x270]
cmp dword [edx + 8], 0
je 0x1001803c
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
push ecx
push str._apLoadFile__File_size_is__d_
push 3
mov edx, dword [ebp - 0x270]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x270]
mov edx, dword [ecx + 8]
mov ecx, dword [edx]
push eax
call dword [ecx + 0x1c]
add esp, 0x10
mov eax, dword [ebp - 0xc]
jmp 0x100181b4
mov edx, dword [ebp - 0x260]
mov dword [ebp - 0x264], edx
mov eax, dword [ebp - 0x264]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x270]
call fcn.10010c80
mov dword [ebp - 0x26c], eax
mov edx, dword [ebp - 0x264]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x270]
call fcn.10010c80
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x254]
add ecx, dword [ebp - 0x268]
mov dword [ebp - 0x254], ecx
cmp dword [ebp - 0x268], 0
jbe 0x100180d2
mov edx, dword [ebp - 0x268]
push edx
mov eax, dword [ebp - 0x264]
add eax, 8
push eax
mov ecx, dword [ebp - 0x258]
push ecx
call fcn.10029520
add esp, 0xc
mov edx, dword [ebp - 0x258]
add edx, dword [ebp - 0x268]
mov dword [ebp - 0x258], edx
cmp dword [ebp - 0x26c], 0
jne 0x10018128
mov eax, dword [ebp - 0x270]
cmp dword [eax + 8], 0
je 0x10018110
mov ecx, dword [ebp - 0x254]
push ecx
push str._apLoadFile_:_File_transmitted__d_bytes_
push 3
mov edx, dword [ebp - 0x270]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x270]
mov edx, dword [ecx + 8]
mov ecx, dword [edx]
push eax
call dword [ecx + 0x1c]
add esp, 0x10
cmp dword [ebp + 0x14], 0
je 0x10018121
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x254]
mov dword [edx], eax
xor eax, eax
jmp 0x100181b4
push 0
mov ecx, dword [ebp - 0x270]
mov edx, dword [ecx + 0x10bb4]
push edx
lea eax, [ebp - 0x14]
push eax
push 0xffff
mov ecx, dword [ebp - 0x270]
add ecx, 0xbb4
push ecx
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x270]
call fcn.1001d015
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x1001816a
mov eax, dword [ebp - 0xc]
jmp 0x100181b4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x10]
cmp eax, dword [ebp + 0x18]
jb 0x10017eeb
mov eax, dword [ebp - 0x270]
cmp dword [eax + 8], 0
je 0x100181aa
push str._apLoadFile_:_Timeout_while_file_transmission_
push 1
mov ecx, dword [ebp - 0x270]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 0x270]
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
add esp, 0xc
mov eax, 8
jmp 0x100181b4
mov eax, dword [ebp - 0xc]
pop edi
mov esp, ebp
pop ebp
ret 0x14