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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a7690
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x4d6674]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov esi, ecx
call fcn.0046df20
push eax
lea ecx, [esp + 0x28]
call fcn.0046e14b
xor edi, edi
mov dword [esp + 0x50], edi
call fcn.0046df20
push eax
lea ecx, [esp + 0x40]
call fcn.0046e14b
mov byte [esp + 0x50], 1
call fcn.0046df20
push eax
lea ecx, [esp + 0x3c]
call fcn.0046e14b
mov byte [esp + 0x50], 2
call fcn.0046df20
push eax
lea ecx, [esp + 0x38]
call fcn.0046e14b
mov byte [esp + 0x50], 3
call fcn.0046df20
push eax
lea ecx, [esp + 0x14]
call fcn.0046e14b
mov byte [esp + 0x50], 4
call fcn.0046df20
push eax
lea ecx, [esp + 0x34]
call fcn.0046e14b
mov byte [esp + 0x50], 5
call fcn.0046df20
push eax
lea ecx, [esp + 0x30]
call fcn.0046e14b
mov byte [esp + 0x50], 6
call fcn.0046df20
push eax
lea ecx, [esp + 0x2c]
call fcn.0046e14b
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.00443ce9
cmp dword [esi + 0x260], edi
je 0x43ee0e
call fcn.0047a570
mov eax, dword [esi + 0x274]
cmp dword [eax + 0x124], edi
jne 0x43eeb9
cmp dword [eax + 0x34], edi
je 0x43eeb5
push 1
mov ecx, esi
call fcn.00443ce9
push edi
push 0x8e3
call fcn.0043f6d2
xor esi, esi
inc esi
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x34]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x38]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x3c]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
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 0x43ee40
mov ebx, dword [0x4db468]
call fcn.00471d19
mov eax, dword [eax + 4]
push 0x3c
push str.BusyRetryTimes
push ebx
mov ecx, eax
call fcn.00471162
cmp dword [esi + 0x404], eax
jg 0x43eeb5
lea ebx, [esi + 0x54]
push ebx
lea ecx, [esp + 0x2c]
mov dword [esi + 0x694], edi
call fcn.0040189c
mov edi, dword [0x4db468]
call fcn.00471d19
mov eax, dword [eax + 4]
push 1
push str.FMLFindFastest
push edi
mov ecx, eax
call fcn.00471162
test eax, eax
je 0x43f097
and dword [esp + 0x18], 0
push dword [esp + 0x18]
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x44]
push eax
call fcn.0040db82
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 8
call fcn.0040189c
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
push dword [ebx]
lea ecx, [esp + 0x14]
call fcn.00403f2c
test eax, eax
jne 0x43ef66
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x10
jl 0x43ef1b
call fcn.00489565
push 0xa
cdq
pop ecx
idiv ecx
mov ebx, dword [esp + 0x1c]
cmp edx, 5
jg 0x43f00c
test ebx, ebx
jle 0x43f00c
dec ebx
js 0x43f097
cmp dword [esp + 0x14], 0xffffffff
jne 0x43f19a
mov edi, dword [esi + 0x274]
push ebx
lea eax, [esp + 0x44]
push eax
call fcn.0040db82
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 9
call fcn.0040189c
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
lea ecx, [esp + 0x10]
call fcn.004609f5
test eax, eax
jne 0x43f004
lea eax, [esp + 0x10]
push eax
mov edi, esi
call fcn.0043e89b
test eax, eax
jne 0x43f004
push str..torrent
lea edi, [esp + 0x14]
call fcn.0046038c
test eax, eax
pop ecx
jne 0x43f004
mov dword [esp + 0x14], ebx
dec ebx
jns 0x43ef94
jmp 0x43f08c
inc ebx
cmp ebx, 0x10
jge 0x43f097
cmp dword [esp + 0x14], 0xffffffff
jne 0x43f19a
mov edi, dword [esi + 0x274]
push ebx
lea eax, [esp + 0x44]
push eax
call fcn.0040db82
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 0xa
call fcn.0040189c
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
lea ecx, [esp + 0x10]
call fcn.004609f5
test eax, eax
jne 0x43f086
lea eax, [esp + 0x10]
push eax
mov edi, esi
call fcn.0043e89b
test eax, eax
jne 0x43f086
push str..torrent
lea edi, [esp + 0x14]
call fcn.0046038c
test eax, eax
pop ecx
jne 0x43f086
mov dword [esp + 0x14], ebx
inc ebx
cmp ebx, 0x10
jl 0x43f016
cmp dword [esp + 0x14], 0xffffffff
jne 0x43f19a
xor ebx, ebx
mov edi, dword [esi + 0x274]
push ebx
lea eax, [esp + 0x44]
push eax
call fcn.0040db82
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 0xb
call fcn.0040189c
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
cmp dword [esp + 0x20], 0xffffffff
jne 0x43f0f5
lea ecx, [esp + 0x10]
call fcn.004609f5
test eax, eax
jne 0x43f0f5
push str..torrent
lea edi, [esp + 0x14]
call fcn.0046038c
test eax, eax
pop ecx
jne 0x43f0f5
mov dword [esp + 0x20], ebx
push dword [esi + 0x54]
lea ecx, [esp + 0x14]
call fcn.00403f2c
test eax, eax
jne 0x43f109
mov dword [esp + 0x1c], ebx
inc ebx
cmp ebx, 0x10
jl 0x43f099
mov ebx, dword [esp + 0x1c]
inc ebx
cmp ebx, 0x10
jge 0x43f192
cmp dword [esp + 0x14], 0xffffffff
jne 0x43f19a
mov edi, dword [esi + 0x274]
push ebx
lea eax, [esp + 0x44]
push eax
call fcn.0040db82
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 0xc
call fcn.0040189c
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
lea ecx, [esp + 0x10]
call fcn.004609f5
test eax, eax
jne 0x43f185
lea eax, [esp + 0x10]
push eax
mov edi, esi
call fcn.0043e89b
test eax, eax
jne 0x43f185
push str..torrent
lea edi, [esp + 0x14]
call fcn.0046038c
test eax, eax
pop ecx
jne 0x43f185
mov dword [esp + 0x14], ebx
inc ebx
cmp ebx, 0x10
jl 0x43f119
cmp dword [esp + 0x14], 0xffffffff
jne 0x43f19a
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov edi, dword [esi + 0x274]
mov eax, edi
call fcn.0040e0d7
test eax, eax
je 0x43f206
cmp dword [esp + 0x14], 0xffffffff
je 0x43f403
push dword [esp + 0x14]
lea eax, [esp + 0x44]
push eax
call fcn.0040db82
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 0xd
call fcn.0040189c
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
lea ecx, [esp + 0x10]
call fcn.004609f5
test eax, eax
jne 0x43f201
lea eax, [esp + 0x10]
push eax
mov edi, esi
call fcn.0043e89b
test eax, eax
je 0x43f206
or dword [esp + 0x14], 0xffffffff
cmp dword [esp + 0x14], 0xffffffff
je 0x43f403
push dword [esp + 0x14]
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x44]
push eax
call fcn.0040db82
lea ebx, [esi + 0x54]
push eax
mov ecx, ebx
mov byte [esp + 0x54], 0xe
call fcn.0040189c
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
push ebx
push dword [esi + 0x274]
call fcn.0040a5df
push dword [esp + 0x14]
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x44]
push eax
call fcn.0040dc05
mov byte [esp + 0x50], 0xf
mov edi, dword [esi + 0x274]
push eax
call fcn.0040b638
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
push dword [esp + 0x14]
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x44]
push eax
call fcn.0040dc88
mov byte [esp + 0x50], 0x10
mov edi, dword [esi + 0x274]
push eax
call fcn.0040b6bb
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
cmp dword [esi + 0x27c], 0
jne 0x43f403
cmp dword [esi + 0x260], 0
jne 0x43f40c
push 0
mov ecx, esi
call fcn.004442eb
test eax, eax
jne 0x43f2fb
push ebx
mov ecx, esi
call fcn.0043e0f6
mov ecx, esi
call fcn.0043ed1b
mov esi, eax
jmp 0x43ee40
lea eax, [esp + 0x40]
push 0x4b578c
push eax
call fcn.00461468
pop ecx
pop ecx
mov byte [esp + 0x50], 0x11
mov edi, dword [esi + 0x274]
push eax
call fcn.0040b186
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
mov edi, dword [esp + 0x14]
mov ebx, dword [esi + 0x274]
lea edi, [edi*4 + 0x2e8]
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, dword [ebx + edi]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov ebx, dword [0x4db468]
mov dword [esp + 0x40], eax
call fcn.00471d19
mov eax, dword [eax + 4]
push 0x3c
push str.BusyPause
push ebx
mov ecx, eax
call fcn.00471162
cmp dword [esp + 0x40], eax
jge 0x43f399
mov eax, dword [esi + 0x274]
push 0x10
lea edi, [eax + 0x2e8]
pop ecx
xor eax, eax
push eax
rep stosd dword es:[edi], eax
push eax
mov ecx, esi
call fcn.00444c3e
jmp 0x43ee3d
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.00401a10
pop ecx
pop ecx
xor edi, edi
push edi
xor ebx, ebx
inc ebx
push ebx
push edi
lea ecx, [esp + 0x30]
call fcn.0043cdeb
cmp dword [esi + 0x260], edi
je 0x43f3dd
call fcn.0047a570
push 0x1f4
push 4
mov dword [esi + 0x144], ebx
call fcn.00429a71
test eax, eax
jne 0x43ee3d
mov ecx, esi
call fcn.00441039
jmp 0x43ee3d
cmp dword [esi + 0x260], 0
je 0x43f411
call fcn.0047a570
mov ecx, dword [esi + 0x274]
cmp dword [ecx + 0x34], 0
je 0x43f42d
push 1
mov ecx, esi
call fcn.00443ce9
push 0
jmp 0x43ee33
mov eax, ecx
call fcn.0040e0d7
test eax, eax
je 0x43eeb5
call fcn.0040e02e
xor edi, edi
inc edi
test eax, eax
jne 0x43f44a
mov eax, edi
xor ebx, ebx
cmp dword [esi + 0x1f4], ebx
je 0x43f489
mov ecx, dword [esi + 0x1f8]
mov edx, dword [esi + 0x274]
imul ecx, eax
cmp dword [edx + 0x1320], ecx
jl 0x43f497
cmp eax, edi
jl 0x43f497
push edi
mov ecx, esi
call fcn.00443ce9
push ebx
push 0x8e3
call fcn.0043f6d2
mov esi, edi
jmp 0x43ee40
mov ecx, dword [esi + 0x274]
cmp dword [ecx + 0x1320], eax
jmp 0x43f469
push ebx
push ebx
mov ecx, esi
call fcn.00444c3e
jmp 0x43f482