Function at 0x10030601
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
cmp byte [0x1008a133], 0
push ebx
push esi
push edi
jne 0x10030623
cmp byte [0x1008a132], 0
je 0x100309ee
cmp dword [0x1008a1ec], 0
jne 0x10030631
call fcn.100213b0
call fcn.100217fe
call fcn.1000a12d
cmp byte [0x1008a133], 0
jne 0x10030651
cmp byte [0x1008a132], 0
je 0x100309ce
cmp dword [0x10089348], 0
movss xmm3, dword [0x10084038]
push 0x47
pop eax
push 0x43
pop ecx
cmove eax, ecx
and dword [esp + 0x10], 0
and dword [esp + 0x14], 0
mov ecx, str.IGDL___Status
push eax
lea eax, [esp + 0x14]
push eax
call fcn.1000f53b
pop ecx
pop ecx
mov ebx, 0x1008a174
mov ecx, ebx
call fcn.1002811b
mov eax, dword [0x1008a18c]
mov esi, dword [eax]
mov dword [esp + 0x10], esi
cmp esi, eax
jne 0x100306b0
push str.__Status:_Idle
call fcn.100220a1
pop ecx
jmp 0x1003081b
mov eax, dword [esi + 0x28]
sub eax, 1
je 0x100307ab
sub eax, 1
je 0x100306d1
push str.__Status:_Idle
call fcn.100220a1
pop ecx
jmp 0x100307f3
mov eax, dword [0x1008a134]
movsd xmm0, qword [eax + 0x1968]
divsd xmm0, qword [0x10084050]
cvttsd2si eax, xmm0
and eax, 3
movsx eax, byte [eax + str.___]
push eax
push str.__Status:_Downloading__c
call fcn.100220a1
push dword [esi + 0x2c]
push str.MapsetID:__lu
call fcn.100220a1
lea eax, [esi + 0x30]
add esp, 0x10
cmp dword [eax + 0x14], 0xf
jbe 0x1003071a
mov eax, dword [eax]
push eax
push str.__Artist:__s
call fcn.100220a1
lea eax, [esi + 0x48]
cmp dword [eax + 0x14], 0xf
pop ecx
pop ecx
jbe 0x10030732
mov eax, dword [eax]
push eax
push str.SongName:__s
call fcn.100220a1
lea eax, [esi + 0x60]
cmp dword [eax + 0x14], 0xf
pop ecx
pop ecx
jbe 0x1003074a
mov eax, dword [eax]
push eax
push str.Category:__s
call fcn.100220a1
movsd xmm0, qword [esi + 0x78]
mulsd xmm0, qword [0x10084008]
movsd qword [esp], xmm0
movsd xmm0, qword [esi + 0x80]
mulsd xmm0, qword [0x10084008]
push ecx
push ecx
movsd qword [esp], xmm0
push str.FileSize:__.2fMB____.2fMB
call fcn.100220a1
movss xmm0, dword [esi + 0x88]
lea ecx, [esp + 0x2c]
and dword [esp + 0x30], 0
add esp, 0x14
mov dword [esp + 0x18], 0xbf800000
call fcn.10023853
jmp 0x100307f3
mov eax, dword [0x1008a134]
movsd xmm0, qword [eax + 0x1968]
divsd xmm0, qword [0x10084050]
cvttsd2si eax, xmm0
and eax, 3
movsx eax, byte [eax + str.___]
push eax
push str.__Status:_Parsing__c
call fcn.100220a1
sub esp, 0x10
add esi, 0x48
push 6
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
push str.____Link:__s
call fcn.100220a1
add esp, 0x1c
lea ecx, [esp + 0x10]
call fcn.10029792
mov esi, dword [esp + 0x10]
mov eax, dword [0x1008a18c]
cmp esi, eax
je 0x1003081b
call fcn.10023dc5
mov eax, dword [0x1008a18c]
cmp esi, eax
jne 0x100306b0
call fcn.1000f5a4
mov ecx, ebx
call fcn.10028187
cmp byte [0x1008a132], 0
je 0x100309ce
movss xmm3, dword [0x10084108]
lea eax, [esp + 0x18]
and dword [esp + 0x18], 0
mov ecx, str.IGDL___Settings
and dword [esp + 0x1c], 0
push 0x42
push eax
call fcn.1000f53b
call fcn.100230bd
push str.__OSZ_Version:
call fcn.100220a1
push ecx
call fcn.100243d8
movss xmm1, dword [0x10084108]
xorps xmm0, xmm0
call fcn.10010290
mov ecx, str.1.__Full__is_full_version._n2.__No_Video__doesnt_contain_video.
call fcn.10030a24
call fcn.10023dc5
push str.Run_tosu_silently_with_osu__automatically
call fcn.100220a1
and dword [esp + 0x2c], 0
lea eax, [esp + 0x2c]
and dword [esp + 0x30], 0
add esp, 0x14
xor esi, esi
mov edx, str.tosu.exe_path
mov ecx, str.input_tosu_path
push esi
push esi
push esi
push eax
push 0x104
push 0x1008a028
call fcn.100257c3
call fcn.10023dc5
push str.__Manual_Download__
call fcn.100220a1
movss xmm1, dword [0x10084108]
add esp, 0x1c
xorps xmm0, xmm0
call fcn.10010290
mov ecx, str.bid_and_sid_can_be_found_in_urls_n1._osu.ppy.sh_b_bid_n2._osu.ppy.sh_s_sid_n3._osu.ppy.sh_beatmapsets_sidosu_bid_n4._osu.ppy.sh_beatmaps_bid
call fcn.10030a24
push esi
mov ecx, 0x10083e84
call fcn.10023831
movss xmm1, dword [0x10084108]
xorps xmm0, xmm0
pop ecx
call fcn.10010290
push 1
mov ecx, 0x10083e88
call fcn.10023831
and dword [esp + 0x1c], esi
lea eax, [esp + 0x1c]
and dword [esp + 0x20], esi
mov edi, 0x1008a148
pop ecx
push esi
push esi
push esi
push eax
push 0x10
push edi
mov edx, str.song_id
mov ecx, str.input_song_id
call fcn.100257c3
movss xmm1, dword [0x10084108]
add esp, 0x18
xorps xmm0, xmm0
call fcn.10010290
and dword [esp + 0x18], esi
lea edx, [esp + 0x18]
and dword [esp + 0x1c], esi
call fcn.100227c3
test al, al
je 0x10030982
sub esp, 0x18
mov ecx, esp
push edi
call fcn.100294e5
mov ecx, dword [0x1008a158]
call fcn.10029027
add esp, 0x18
call fcn.10023dc5
push ecx
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0xbf800000
mov ecx, str.Stop_All_Task
mov dword [esp + 0x20], 0x42200000
call fcn.100225ba
pop ecx
test al, al
je 0x100309c9
push esi
push esi
push esi
push 0x100309f5
push esi
push esi
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
add esp, 0x18
test eax, eax
je 0x100309c9
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.1000f5a4
call fcn.1000afda
call fcn.10009363
mov eax, dword [0x1008a134]
xor ecx, ecx
add eax, 0x1bfc
cmp byte [eax], cl
cmovne ecx, eax
call fcn.10020d12
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret