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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a6c7a
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x4d5674]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov esi, ecx
call fcn.0046d63c
push eax
lea ecx, [esp + 0x28]
call fcn.00401764
xor edi, edi
mov dword [esp + 0x50], edi
call fcn.0046d63c
push eax
lea ecx, [esp + 0x40]
call fcn.00401764
mov byte [esp + 0x50], 1
call fcn.0046d63c
push eax
lea ecx, [esp + 0x3c]
call fcn.00401764
mov byte [esp + 0x50], 2
call fcn.0046d63c
push eax
lea ecx, [esp + 0x38]
call fcn.00401764
mov byte [esp + 0x50], 3
call fcn.0046d63c
push eax
lea ecx, [esp + 0x14]
call fcn.00401764
mov byte [esp + 0x50], 4
call fcn.0046d63c
push eax
lea ecx, [esp + 0x34]
call fcn.00401764
mov byte [esp + 0x50], 5
call fcn.0046d63c
push eax
lea ecx, [esp + 0x30]
call fcn.00401764
mov byte [esp + 0x50], 6
call fcn.0046d63c
push eax
lea ecx, [esp + 0x2c]
call fcn.00401764
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.00443838
cmp dword [esi + 0x260], edi
je 0x43e95d
call fcn.004795e7
mov eax, dword [esi + 0x274]
cmp dword [eax + 0x11c], edi
jne 0x43ea08
cmp dword [eax + 0x30], edi
je 0x43ea04
push 1
mov ecx, esi
call fcn.00443838
push edi
push 0x8e3
call fcn.0043f221
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 0x43e98f
mov ebx, dword [0x4da468]
call fcn.00471426
mov eax, dword [eax + 4]
push 0x3c
push str.BusyRetryTimes
push ebx
mov ecx, eax
call fcn.0047086f
cmp dword [esi + 0x404], eax
jg 0x43ea04
lea ebx, [esi + 0x54]
push ebx
lea ecx, [esp + 0x2c]
mov dword [esi + 0x694], edi
call fcn.004018c1
mov edi, dword [0x4da468]
call fcn.00471426
mov eax, dword [eax + 4]
push 1
push str.FMLFindFastest
push edi
mov ecx, eax
call fcn.0047086f
test eax, eax
je 0x43ebe6
and dword [esp + 0x18], 0
push dword [esp + 0x18]
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x44]
push eax
call fcn.0040da40
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 8
call fcn.004018c1
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.00403e79
test eax, eax
jne 0x43eab5
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x10
jl 0x43ea6a
call fcn.00488c95
push 0xa
cdq
pop ecx
idiv ecx
mov ebx, dword [esp + 0x1c]
cmp edx, 5
jg 0x43eb5b
test ebx, ebx
jle 0x43eb5b
dec ebx
js 0x43ebe6
cmp dword [esp + 0x14], 0xffffffff
jne 0x43ece9
mov edi, dword [esi + 0x274]
push ebx
lea eax, [esp + 0x44]
push eax
call fcn.0040da40
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 9
call fcn.004018c1
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
lea ecx, [esp + 0x10]
call fcn.004600f3
test eax, eax
jne 0x43eb53
lea eax, [esp + 0x10]
push eax
mov edi, esi
call fcn.0043e3ea
test eax, eax
jne 0x43eb53
push str..torrent
lea edi, [esp + 0x14]
call fcn.0045fa8a
test eax, eax
pop ecx
jne 0x43eb53
mov dword [esp + 0x14], ebx
dec ebx
jns 0x43eae3
jmp 0x43ebdb
inc ebx
cmp ebx, 0x10
jge 0x43ebe6
cmp dword [esp + 0x14], 0xffffffff
jne 0x43ece9
mov edi, dword [esi + 0x274]
push ebx
lea eax, [esp + 0x44]
push eax
call fcn.0040da40
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 0xa
call fcn.004018c1
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
lea ecx, [esp + 0x10]
call fcn.004600f3
test eax, eax
jne 0x43ebd5
lea eax, [esp + 0x10]
push eax
mov edi, esi
call fcn.0043e3ea
test eax, eax
jne 0x43ebd5
push str..torrent
lea edi, [esp + 0x14]
call fcn.0045fa8a
test eax, eax
pop ecx
jne 0x43ebd5
mov dword [esp + 0x14], ebx
inc ebx
cmp ebx, 0x10
jl 0x43eb65
cmp dword [esp + 0x14], 0xffffffff
jne 0x43ece9
xor ebx, ebx
mov edi, dword [esi + 0x274]
push ebx
lea eax, [esp + 0x44]
push eax
call fcn.0040da40
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 0xb
call fcn.004018c1
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
cmp dword [esp + 0x20], 0xffffffff
jne 0x43ec44
lea ecx, [esp + 0x10]
call fcn.004600f3
test eax, eax
jne 0x43ec44
push str..torrent
lea edi, [esp + 0x14]
call fcn.0045fa8a
test eax, eax
pop ecx
jne 0x43ec44
mov dword [esp + 0x20], ebx
push dword [esi + 0x54]
lea ecx, [esp + 0x14]
call fcn.00403e79
test eax, eax
jne 0x43ec58
mov dword [esp + 0x1c], ebx
inc ebx
cmp ebx, 0x10
jl 0x43ebe8
mov ebx, dword [esp + 0x1c]
inc ebx
cmp ebx, 0x10
jge 0x43ece1
cmp dword [esp + 0x14], 0xffffffff
jne 0x43ece9
mov edi, dword [esi + 0x274]
push ebx
lea eax, [esp + 0x44]
push eax
call fcn.0040da40
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 0xc
call fcn.004018c1
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
lea ecx, [esp + 0x10]
call fcn.004600f3
test eax, eax
jne 0x43ecd4
lea eax, [esp + 0x10]
push eax
mov edi, esi
call fcn.0043e3ea
test eax, eax
jne 0x43ecd4
push str..torrent
lea edi, [esp + 0x14]
call fcn.0045fa8a
test eax, eax
pop ecx
jne 0x43ecd4
mov dword [esp + 0x14], ebx
inc ebx
cmp ebx, 0x10
jl 0x43ec68
cmp dword [esp + 0x14], 0xffffffff
jne 0x43ece9
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov edi, dword [esi + 0x274]
mov eax, edi
call fcn.0040df95
test eax, eax
je 0x43ed55
cmp dword [esp + 0x14], 0xffffffff
je 0x43ef52
push dword [esp + 0x14]
lea eax, [esp + 0x44]
push eax
call fcn.0040da40
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x54], 0xd
call fcn.004018c1
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
lea ecx, [esp + 0x10]
call fcn.004600f3
test eax, eax
jne 0x43ed50
lea eax, [esp + 0x10]
push eax
mov edi, esi
call fcn.0043e3ea
test eax, eax
je 0x43ed55
or dword [esp + 0x14], 0xffffffff
cmp dword [esp + 0x14], 0xffffffff
je 0x43ef52
push dword [esp + 0x14]
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x44]
push eax
call fcn.0040da40
lea ebx, [esi + 0x54]
push eax
mov ecx, ebx
mov byte [esp + 0x54], 0xe
call fcn.004018c1
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
push ebx
push dword [esi + 0x274]
call fcn.0040a527
push dword [esp + 0x14]
mov edi, dword [esi + 0x274]
lea eax, [esp + 0x44]
push eax
call fcn.0040dac3
mov byte [esp + 0x50], 0xf
mov edi, dword [esi + 0x274]
push eax
call fcn.0040b4f9
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.0040db46
mov byte [esp + 0x50], 0x10
mov edi, dword [esi + 0x274]
push eax
call fcn.0040b57c
mov byte [esp + 0x50], 7
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.0040174a
cmp dword [esi + 0x27c], 0
jne 0x43ef52
cmp dword [esi + 0x260], 0
jne 0x43ef5b
push 0
mov ecx, esi
call fcn.00443e3a
test eax, eax
jne 0x43ee4a
push ebx
mov ecx, esi
call fcn.0043dc45
mov ecx, esi
call fcn.0043e86a
mov esi, eax
jmp 0x43e98f
lea eax, [esp + 0x40]
push 0x4b478c
push eax
call fcn.00460b66
pop ecx
pop ecx
mov byte [esp + 0x50], 0x11
mov edi, dword [esi + 0x274]
push eax
call fcn.0040b04a
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 + 0x2e0]
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, dword [ebx + edi]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov ebx, dword [0x4da468]
mov dword [esp + 0x40], eax
call fcn.00471426
mov eax, dword [eax + 4]
push 0x3c
push str.BusyPause
push ebx
mov ecx, eax
call fcn.0047086f
cmp dword [esp + 0x40], eax
jge 0x43eee8
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.004446a5
jmp 0x43e98c
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.00401a35
pop ecx
pop ecx
xor edi, edi
push edi
xor ebx, ebx
inc ebx
push ebx
push edi
lea ecx, [esp + 0x30]
call fcn.0043c93a
cmp dword [esi + 0x260], edi
je 0x43ef2c
call fcn.004795e7
push 0x1f4
push 4
mov dword [esi + 0x144], ebx
call fcn.0042966a
test eax, eax
jne 0x43e98c
mov ecx, esi
call fcn.00440b88
jmp 0x43e98c
cmp dword [esi + 0x260], 0
je 0x43ef60
call fcn.004795e7
mov ecx, dword [esi + 0x274]
cmp dword [ecx + 0x30], 0
je 0x43ef7c
push 1
mov ecx, esi
call fcn.00443838
push 0
jmp 0x43e982
mov eax, ecx
call fcn.0040df95
test eax, eax
je 0x43ea04
call fcn.0040deec
xor edi, edi
inc edi
test eax, eax
jne 0x43ef99
mov eax, edi
xor ebx, ebx
cmp dword [esi + 0x1f4], ebx
je 0x43efd8
mov ecx, dword [esi + 0x1f8]
mov edx, dword [esi + 0x274]
imul ecx, eax
cmp dword [edx + 0x1318], ecx
jl 0x43efe6
cmp eax, edi
jl 0x43efe6
push edi
mov ecx, esi
call fcn.00443838
push ebx
push 0x8e3
call fcn.0043f221
mov esi, edi
jmp 0x43e98f
mov ecx, dword [esi + 0x274]
cmp dword [ecx + 0x1318], eax
jmp 0x43efb8
push ebx
push ebx
mov ecx, esi
call fcn.004446a5
jmp 0x43efd1