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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x49bc69
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x4c7674]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00462b71
push eax
lea ecx, [esp + 0x28]
call fcn.0040176f
xor edi, edi
mov dword [esp + 0x50], edi
call fcn.00462b71
push eax
lea ecx, [esp + 0x40]
call fcn.0040176f
mov byte [esp + 0x50], 1
call fcn.00462b71
push eax
lea ecx, [esp + 0x3c]
call fcn.0040176f
mov byte [esp + 0x50], 2
call fcn.00462b71
push eax
lea ecx, [esp + 0x38]
call fcn.0040176f
mov byte [esp + 0x50], 3
call fcn.00462b71
push eax
lea ecx, [esp + 0x14]
call fcn.0040176f
mov byte [esp + 0x50], 4
call fcn.00462b71
push eax
lea ecx, [esp + 0x34]
call fcn.0040176f
mov byte [esp + 0x50], 5
call fcn.00462b71
push eax
lea ecx, [esp + 0x30]
call fcn.0040176f
mov byte [esp + 0x50], 6
call fcn.00462b71
push eax
lea ecx, [esp + 0x2c]
call fcn.0040176f
or dword [esp + 0x20], 0xffffffff
or dword [esp + 0x14], 0xffffffff
push 1
mov ecx, esi
mov byte [esp + 0x54], 7
mov dword [esp + 0x20], edi
call fcn.0043adec
cmp dword [esi + 0x260], edi
je 0x43622c
call fcn.0046edee
mov eax, dword [esi + 0x274]
cmp dword [eax + 0x11c], edi
jne 0x4362d7
cmp dword [eax + 0x30], edi
je 0x4362d3
push 1
mov ecx, esi
call fcn.0043adec
push edi
push 0x8e3
call fcn.00436af0
xor esi, esi
inc esi
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [esp + 0x34]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [esp + 0x38]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [esp + 0x3c]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, esi
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
jmp 0x43625e
mov ebx, dword [0x4cc408]
call fcn.00466a93
mov eax, dword [eax + 4]
push 0x3c
push str.BusyRetryTimes
push ebx
mov ecx, eax
call fcn.00465edc
cmp dword [esi + 0x404], eax
jg 0x4362d3
lea ebx, [esi + 0x54]
push ebx
lea ecx, [esp + 0x2c]
mov dword [esi + 0x694], edi
call fcn.004018cc
mov edi, dword [0x4cc408]
call fcn.00466a93
mov eax, dword [eax + 4]
push 1
push str.FMLFindFastest
push edi
mov ecx, eax
call fcn.00465edc
test eax, eax
je 0x4364b5
and dword [esp + 0x18], 0
push dword [esp + 0x18]
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x44]
push eax
call fcn.0040d753
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 8
call fcn.004018cc
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.00401755
push dword [ebx]
lea ecx, [esp + 0x14]
call fcn.00403c82
test eax, eax
jne 0x436384
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x10
jl 0x436339
call fcn.0047e380
push 0xa
cdq
pop ecx
idiv ecx
mov ebx, dword [esp + 0x1c]
cmp edx, 5
jg 0x43642a
test ebx, ebx
jle 0x43642a
dec ebx
js 0x4364b5
cmp dword [esp + 0x14], 0xffffffff
jne 0x4365b8
mov edi, dword [esi + 0x274]
push ebx
lea eax, [esp + 0x44]
push eax
call fcn.0040d753
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 9
call fcn.004018cc
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.00401755
lea ecx, [esp + 0x10]
call fcn.00456b20
test eax, eax
jne 0x436422
lea eax, [esp + 0x10]
push eax
mov edi, esi
call fcn.00435cb9
test eax, eax
jne 0x436422
push str..torrent
lea edi, [esp + 0x14]
call fcn.004564b7
test eax, eax
pop ecx
jne 0x436422
mov dword [esp + 0x14], ebx
dec ebx
jns 0x4363b2
jmp 0x4364aa
inc ebx
cmp ebx, 0x10
jge 0x4364b5
cmp dword [esp + 0x14], 0xffffffff
jne 0x4365b8
mov edi, dword [esi + 0x274]
push ebx
lea eax, [esp + 0x44]
push eax
call fcn.0040d753
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 0xa
call fcn.004018cc
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.00401755
lea ecx, [esp + 0x10]
call fcn.00456b20
test eax, eax
jne 0x4364a4
lea eax, [esp + 0x10]
push eax
mov edi, esi
call fcn.00435cb9
test eax, eax
jne 0x4364a4
push str..torrent
lea edi, [esp + 0x14]
call fcn.004564b7
test eax, eax
pop ecx
jne 0x4364a4
mov dword [esp + 0x14], ebx
inc ebx
cmp ebx, 0x10
jl 0x436434
cmp dword [esp + 0x14], 0xffffffff
jne 0x4365b8
xor ebx, ebx
mov edi, dword [esi + 0x274]
push ebx
lea eax, [esp + 0x44]
push eax
call fcn.0040d753
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 0xb
call fcn.004018cc
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.00401755
cmp dword [esp + 0x20], 0xffffffff
jne 0x436513
lea ecx, [esp + 0x10]
call fcn.00456b20
test eax, eax
jne 0x436513
push str..torrent
lea edi, [esp + 0x14]
call fcn.004564b7
test eax, eax
pop ecx
jne 0x436513
mov dword [esp + 0x20], ebx
push dword [esi + 0x54]
lea ecx, [esp + 0x14]
call fcn.00403c82
test eax, eax
jne 0x436527
mov dword [esp + 0x1c], ebx
inc ebx
cmp ebx, 0x10
jl 0x4364b7
mov ebx, dword [esp + 0x1c]
inc ebx
cmp ebx, 0x10
jge 0x4365b0
cmp dword [esp + 0x14], 0xffffffff
jne 0x4365b8
mov edi, dword [esi + 0x274]
push ebx
lea eax, [esp + 0x44]
push eax
call fcn.0040d753
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 0xc
call fcn.004018cc
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.00401755
lea ecx, [esp + 0x10]
call fcn.00456b20
test eax, eax
jne 0x4365a3
lea eax, [esp + 0x10]
push eax
mov edi, esi
call fcn.00435cb9
test eax, eax
jne 0x4365a3
push str..torrent
lea edi, [esp + 0x14]
call fcn.004564b7
test eax, eax
pop ecx
jne 0x4365a3
mov dword [esp + 0x14], ebx
inc ebx
cmp ebx, 0x10
jl 0x436537
cmp dword [esp + 0x14], 0xffffffff
jne 0x4365b8
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov edi, dword [esi + 0x274]
mov eax, edi
call fcn.0040dca8
test eax, eax
je 0x436624
cmp dword [esp + 0x14], 0xffffffff
je 0x436821
push dword [esp + 0x14]
lea eax, [esp + 0x44]
push eax
call fcn.0040d753
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 0xd
call fcn.004018cc
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.00401755
lea ecx, [esp + 0x10]
call fcn.00456b20
test eax, eax
jne 0x43661f
lea eax, [esp + 0x10]
push eax
mov edi, esi
call fcn.00435cb9
test eax, eax
je 0x436624
or dword [esp + 0x14], 0xffffffff
cmp dword [esp + 0x14], 0xffffffff
je 0x436821
push dword [esp + 0x14]
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x44]
push eax
call fcn.0040d753
lea ebx, [esi + 0x54]
push eax
mov ecx, ebx
mov byte [esp + 0x54], 0xe
call fcn.004018cc
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.00401755
push ebx
push dword [esi + 0x274]
call fcn.0040a332
push dword [esp + 0x14]
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x44]
push eax
call fcn.0040d7d6
mov byte [esp + 0x50], 0xf
mov edi, dword [esi + 0x274]
push eax
call fcn.0040b304
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.00401755
push dword [esp + 0x14]
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x44]
push eax
call fcn.0040d859
mov byte [esp + 0x50], 0x10
mov edi, dword [esi + 0x274]
push eax
call fcn.0040b387
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.00401755
cmp dword [esi + 0x27c], 0
jne 0x436821
cmp dword [esi + 0x260], 0
jne 0x43682a
push 0
mov ecx, esi
call fcn.0043b3ee
test eax, eax
jne 0x436719
push ebx
mov ecx, esi
call fcn.00435514
mov ecx, esi
call fcn.00436139
mov esi, eax
jmp 0x43625e
lea eax, [esp + 0x40]
push 0x4a87ac
push eax
call fcn.00457593
pop ecx
pop ecx
mov byte [esp + 0x50], 0x11
mov edi, dword [esi + 0x274]
push eax
call fcn.0040ae55
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.00401755
mov edi, dword [esp + 0x14]
mov ebx, dword [esi + 0x274]
lea edi, [edi*4 + 0x2e0]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + edi]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov ebx, dword [0x4cc408]
mov dword [esp + 0x40], eax
call fcn.00466a93
mov eax, dword [eax + 4]
push 0x3c
push str.BusyPause
push ebx
mov ecx, eax
call fcn.00465edc
cmp dword [esp + 0x40], eax
jge 0x4367b7
mov eax, dword [esi + 0x274]
push 0x10
lea edi, [eax + 0x2e0]
pop ecx
xor eax, eax
push eax
rep stosd dword es:[edi], eax
push eax
mov ecx, esi
call fcn.0043bc59
jmp 0x43625b
mov ebx, dword [esi + 0x274]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebx + edi], eax
inc dword [esi + 0x404]
lea eax, [esp + 0x24]
push str.Switching_to_Alternate
push eax
call fcn.00401a40
pop ecx
pop ecx
xor edi, edi
push edi
xor ebx, ebx
inc ebx
push ebx
push edi
lea ecx, [esp + 0x30]
call fcn.00434209
cmp dword [esi + 0x260], edi
je 0x4367fb
call fcn.0046edee
push 0x1f4
push 4
mov dword [esi + 0x144], ebx
call fcn.00428ffd
test eax, eax
jne 0x43625b
mov ecx, esi
call fcn.00438457
jmp 0x43625b
cmp dword [esi + 0x260], 0
je 0x43682f
call fcn.0046edee
mov ecx, dword [esi + 0x274]
cmp dword [ecx + 0x30], 0
je 0x43684b
push 1
mov ecx, esi
call fcn.0043adec
push 0
jmp 0x436251
mov eax, ecx
call fcn.0040dca8
test eax, eax
je 0x4362d3
call fcn.0040dbff
xor edi, edi
inc edi
test eax, eax
jne 0x436868
mov eax, edi
xor ebx, ebx
cmp dword [esi + 0x1f4], ebx
je 0x4368a7
mov ecx, dword [esi + 0x1f8]
mov edx, dword [esi + 0x274]
imul ecx, eax
cmp dword [edx + 0x1318], ecx
jl 0x4368b5
cmp eax, edi
jl 0x4368b5
push edi
mov ecx, esi
call fcn.0043adec
push ebx
push 0x8e3
call fcn.00436af0
mov esi, edi
jmp 0x43625e
mov ecx, dword [esi + 0x274]
cmp dword [ecx + 0x1318], eax
jmp 0x436887
push ebx
push ebx
mov ecx, esi
call fcn.0043bc59
jmp 0x4368a0