Function at 0x405c1f
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
mov edx, 0x18
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x405c27
mov eax, dword [esp + 0x78]
mov dword [0x5417cc], eax
mov edx, dword [esp + 0x70]
lea ecx, [esp]
call fcn.00407000
lea edx, [esp + 0x58]
push edx
push 0x53aca0
push 8
push 5
push 4
call fcn.0043aa03
mov ebx, dword [esp + 0x74]
cmp ebx, 1
jne 0x405cd1
push dword [0x5417cc]
mov edx, dword [0x53e93c]
push dword [0x5417cc]
push edx
call fcn.0043afb0
mov edx, str.vlauncher_download_list.txt
push edx
call fcn.0043afb0
add dword [0x5417cc], 2
push 0xffffffff
mov edx, dword [0x53aca8]
add dword [esp + 4], edx
call fcn.00437970
pop dword [0x5417cc]
mov dword [esp + 0x14], eax
push 1
push dword [esp + 0x18]
call fcn.00437ed0
push edx
push eax
push dword [esp + 0x20]
call fcn.00437de0
call fcn.0042b2f3
push dword [0x5417cc]
push dword [0x5417cc]
push dword [0x5417cc]
mov edx, str.versions_
push edx
call fcn.0043afb0
mov edx, dword [esp + 0xc]
push edx
call fcn.0043afb0
mov edx, 0x539394
push edx
call fcn.0043afb0
mov edx, dword [esp + 0xc]
push edx
call fcn.0043afb0
mov edx, str..json
push edx
call fcn.0043afb0
mov edx, dword [0x53aca8]
add dword [esp], edx
call fcn.0040582c
add dword [0x5417cc], 2
push 0xffffffff
mov edx, dword [0x53aca8]
add dword [esp + 4], edx
call fcn.0042c036
pop dword [0x5417cc]
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0
je 0x40654f
mov eax, str.libraries
push eax
push dword [esp + 0x10]
call fcn.0042c05c
push eax
call fcn.0042c078
mov dword [esp + 4], eax
mov dword [esp + 0x38], 0
jmp 0x405d7e
push dword [esp + 4]
call fcn.0042c0bf
mov ebx, eax
dec ebx
cmp ebx, dword [esp + 0x38]
jl 0x40654f
push dword [esp + 0x38]
push dword [esp + 8]
call fcn.0042c0d8
mov dword [esp + 8], eax
mov dword [esp + 0x40], 1
mov edx, str.empty
lea ecx, [esp + 0x54]
call fcn.00407008
mov eax, str.rules
push eax
push dword [esp + 0xc]
call fcn.0042c078
mov dword [esp + 0x30], eax
cmp dword [esp + 0x30], 0
je 0x405eef
mov dword [esp + 0x3c], 0
jmp 0x405de3
push dword [esp + 0x30]
call fcn.0042c0bf
mov ebx, eax
dec ebx
cmp ebx, dword [esp + 0x3c]
jl 0x405eef
mov eax, 0x53a944
push eax
push dword [esp + 0x40]
push dword [esp + 0x38]
call fcn.0042c0d8
push eax
call fcn.0042c078
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], 0
je 0x405e48
push dword [0x5417cc]
push dword [0x5417cc]
mov eax, str.name
push eax
push dword [esp + 0x40]
call fcn.0042c078
push eax
call fcn.0042c095
lea eax, [esp + 0x58]
push eax
call fcn.0043af50
push dword [0x5417cc]
push dword [0x5417cc]
mov eax, str.action
push eax
push dword [esp + 0x48]
push dword [esp + 0x40]
call fcn.0042c0d8
push eax
call fcn.0042c078
push eax
call fcn.0042c095
add dword [0x5417cc], 2
mov edx, str.allow
pop ecx
mov dword [0x5417cc], ecx
add ecx, dword [0x53aca8]
call fcn.00407060
je 0x405ecc
push dword [esp + 0x54]
mov edx, str.empty
pop ecx
call fcn.00407060
jne 0x405ebc
push dword [esp + 0x54]
mov edx, str.windows
pop ecx
call fcn.00407060
jne 0x405ebc
mov eax, 1
jmp 0x405ebe
xor eax, eax
and eax, eax
je 0x405eca
mov dword [esp + 0x40], 0
jmp 0x405ee5
push dword [esp + 0x54]
mov edx, str.windows
pop ecx
call fcn.00407060
je 0x405ee5
mov dword [esp + 0x40], 0
inc dword [esp + 0x3c]
jno 0x405de3
cmp dword [esp + 0x40], 0
je 0x406545
push dword [0x5417cc]
push dword [0x5417cc]
mov eax, str.name
push eax
push dword [esp + 0x14]
call fcn.0042c078
push eax
call fcn.0042c095
lea eax, [esp + 0x48]
push eax
call fcn.0043af50
mov ebp, dword [esp + 0x58]
mov edx, 0x53907a
lea ecx, [ebp + 0x10]
call fcn.00407008
mov dword [esp + 0x3c], 1
jmp 0x405f40
mov eax, 4
cmp eax, dword [esp + 0x3c]
jl 0x405f85
push dword [0x5417cc]
push dword [0x5417cc]
mov eax, 0x5392bc
push eax
push dword [esp + 0x48]
push dword [esp + 0x54]
call fcn.004367e0
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x5c]
shl ebx, 2
lea eax, [ebp + ebx]
push eax
call fcn.0043af50
inc dword [esp + 0x3c]
jno 0x405f40
push dword [0x5417cc]
push dword [0x5417cc]
mov eax, 0x539394
push eax
mov eax, 0x53926e
push eax
mov ebp, dword [esp + 0x68]
push dword [ebp + 4]
call fcn.00436360
mov edx, 0x539394
push edx
call fcn.0043afb0
mov edx, dword [ebp + 8]
push edx
call fcn.0043afb0
mov edx, 0x539394
push edx
call fcn.0043afb0
mov edx, dword [ebp + 0xc]
push edx
call fcn.0043afb0
mov edx, 0x539394
push edx
call fcn.0043afb0
mov edx, dword [ebp + 8]
push edx
call fcn.0043afb0
mov edx, 0x53926a
push edx
call fcn.0043afb0
mov edx, dword [ebp + 0xc]
push edx
call fcn.0043afb0
lea eax, [esp + 0x48]
push eax
call fcn.0043af50
mov edx, dword [ebp + 0x10]
xor ecx, ecx
call fcn.00407060
jne 0x406041
mov edx, dword [esp + 0x44]
push dword [0x5417cc]
push edx
call fcn.0043afb0
mov edx, 0x53926a
push edx
call fcn.0043afb0
mov ebp, dword [esp + 0x5c]
mov edx, dword [ebp + 0x10]
push edx
call fcn.0043afb0
lea eax, [esp + 0x48]
push eax
call fcn.0043af50
mov ebx, dword [esp + 0x74]
cmp ebx, 1
jne 0x406291
mov eax, str.downloads
push eax
push dword [esp + 0xc]
call fcn.0042c078
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], 0
je 0x406172
mov eax, str.artifact
push eax
push dword [esp + 0x24]
call fcn.0042c078
mov dword [esp + 0x1c], eax
mov eax, str.classifiers
push eax
push dword [esp + 0x24]
call fcn.0042c078
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], 0
je 0x406122
mov eax, str.natives_windows
push eax
push dword [esp + 0x2c]
call fcn.0042c078
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], 0
je 0x406120
push dword [0x5417cc]
push dword [0x5417cc]
mov eax, 0x53a000
push eax
push dword [esp + 0x38]
call fcn.0042c078
push eax
call fcn.0042c095
lea eax, [esp + 0x54]
push eax
call fcn.0043af50
mov eax, 0x539254
push eax
push dword [esp + 0x30]
call fcn.0042c078
push eax
call fcn.0042c0ff
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x44]
push dword [0x5417cc]
push edx
call fcn.0043afb0
mov edx, str._natives_windows
push edx
call fcn.0043afb0
lea eax, [esp + 0x48]
push eax
call fcn.0043af50
jmp 0x40616d
cmp dword [esp + 0x1c], 0
je 0x40616d
push dword [0x5417cc]
push dword [0x5417cc]
mov eax, 0x53a000
push eax
push dword [esp + 0x28]
call fcn.0042c078
push eax
call fcn.0042c095
lea eax, [esp + 0x54]
push eax
call fcn.0043af50
mov eax, 0x539254
push eax
push dword [esp + 0x20]
call fcn.0042c078
push eax
call fcn.0042c0ff
mov dword [esp + 0x10], eax
jmp 0x406222
mov eax, 0x53a000
push eax
push dword [esp + 0xc]
call fcn.0042c078
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
je 0x4061da
push dword [0x5417cc]
push dword [0x5417cc]
push dword [esp + 0x2c]
call fcn.0042c095
push dword [0x5417cc]
push dword [0x5417cc]
mov eax, 0x539272
push eax
mov eax, 0x539394
push eax
push dword [esp + 0x58]
call fcn.00436360
pop eax
mov edx, str..jar
push edx
call fcn.0043afb0
lea eax, [esp + 0x54]
push eax
call fcn.0043af50
jmp 0x406222
push dword [0x5417cc]
mov edx, str.https:__libraries.minecraft.net_
push edx
call fcn.0043afb0
push dword [0x5417cc]
push dword [0x5417cc]
mov eax, 0x539272
push eax
mov eax, 0x539394
push eax
push dword [esp + 0x58]
call fcn.00436360
pop eax
mov edx, str..jar
push edx
call fcn.0043afb0
lea eax, [esp + 0x54]
push eax
call fcn.0043af50
push dword [0x5417cc]
mov edx, dword [esp + 0x54]
push dword [0x5417cc]
push edx
call fcn.0043afb0
mov edx, 0x5392c4
push edx
call fcn.0043afb0
mov edx, dword [esp + 0x4c]
push edx
call fcn.0043afb0
mov edx, str..jar::
push edx
call fcn.0043afb0
push dword [0x5417cc]
push dword [0x5417cc]
mov eax, dword [esp + 0x20]
cdq
push edx
push eax
call fcn.00436bf0
pop eax
add dword [0x5417cc], 2
push dword [esp + 0x1c]
mov edx, dword [0x53aca8]
add dword [esp + 4], edx
call fcn.00437c30
pop dword [0x5417cc]
mov eax, str.natives
push eax
push dword [esp + 0xc]
call fcn.0042c078
and eax, eax
je 0x4062a8
xor eax, eax
jmp 0x4062ad
mov eax, 1
and eax, eax
je 0x4062f0
mov edx, dword [esp + 0x48]
push dword [0x5417cc]
push edx
call fcn.0043afb0
mov edx, str.libraries_
push edx
call fcn.0043afb0
mov edx, dword [esp + 0x48]
push edx
call fcn.0043afb0
mov edx, str..jar_
push edx
call fcn.0043afb0
lea eax, [esp + 0x4c]
push eax
call fcn.0043af50
jmp 0x406545
push dword [0x5417cc]
push dword [0x5417cc]
push 0xf
push dword [esp + 0x50]
call fcn.004363b0
add dword [0x5417cc], 2
mov edx, str.natives_windows
pop ecx
mov dword [0x5417cc], ecx
add ecx, dword [0x53aca8]
call fcn.00407060
je 0x40632e
xor eax, eax
jmp 0x406333
mov eax, 1
and eax, eax
je 0x40638a
push dword [0x5417cc]
push dword [0x5417cc]
mov edx, str.libraries_
push edx
call fcn.0043afb0
mov edx, dword [esp + 0x4c]
push edx
call fcn.0043afb0
mov edx, str._natives_windows.jar
push edx
call fcn.0043afb0
add dword [0x5417cc], 2
push 0xffffffff
mov edx, dword [0x53aca8]
add dword [esp + 4], edx
call fcn.0042be0f
pop dword [0x5417cc]
mov dword [esp + 0x18], eax
jmp 0x4063db
push dword [0x5417cc]
push dword [0x5417cc]
mov edx, str.libraries_
push edx
call fcn.0043afb0
mov edx, dword [esp + 0x4c]
push edx
call fcn.0043afb0
mov edx, str..jar
push edx
call fcn.0043afb0
add dword [0x5417cc], 2
push 0xffffffff
mov edx, dword [0x53aca8]
add dword [esp + 4], edx
call fcn.0042be0f
pop dword [0x5417cc]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], 0
je 0x406545
push dword [0x5417cc]
push dword [0x5417cc]
mov edx, str.versions_
push edx
call fcn.0043afb0
mov edx, dword [esp + 8]
push edx
call fcn.0043afb0
mov edx, 0x53a0b4
push edx
call fcn.0043afb0
mov edx, dword [0x53aca8]
add dword [esp], edx
call fcn.00404cc2
pop dword [0x5417cc]
push dword [esp + 0x18]
call fcn.0042be21
and eax, eax
je 0x40653c
push dword [esp + 0x18]
call fcn.0042be43
and eax, eax
je 0x40653c
push dword [esp + 0x18]
call fcn.0042be8e
mov ebx, eax
and ebx, ebx
jne 0x406537
push dword [0x5417cc]
push dword [0x5417cc]
push dword [esp + 0x20]
call fcn.0042be65
lea eax, [esp + 0x50]
push eax
call fcn.0043af50
push dword [0x5417cc]
push dword [0x5417cc]
mov edx, str.versions_
push edx
call fcn.0043afb0
mov edx, dword [esp + 8]
push edx
call fcn.0043afb0
mov edx, str._natives_
push edx
call fcn.0043afb0
mov edx, dword [esp + 0x54]
push edx
call fcn.0043afb0
mov edx, dword [0x53aca8]
add dword [esp], edx
call fcn.0043725a
pop dword [0x5417cc]
push edx
push eax
pop ebx
pop edi
cmp edi, 0
jl 0x4064d8
jg 0x4064d4
cmp ebx, 1
jb 0x4064d8
xor eax, eax
jmp 0x4064dd
mov eax, 1
or eax, eax
je 0x406537
push dword [0x5417cc]
push dword [0x5417cc]
mov edx, str.versions_
push edx
call fcn.0043afb0
mov edx, dword [esp + 8]
push edx
call fcn.0043afb0
mov edx, str._natives_
push edx
call fcn.0043afb0
mov edx, dword [esp + 0x54]
push edx
call fcn.0043afb0
add dword [0x5417cc], 2
push dword [esp + 0x20]
mov edx, dword [0x53aca8]
add dword [esp + 4], edx
call fcn.0042bedc
pop dword [0x5417cc]
jmp 0x406437
push dword [esp + 0x18]
call fcn.0042bcdc
inc dword [esp + 0x38]
jno 0x405d7e
push dword [esp + 0xc]
call fcn.0042befa
push dword [esp + 0x58]
call fcn.0043ab43
mov ebx, dword [esp + 0x74]
cmp ebx, 1
jne 0x406573
push dword [esp + 0x14]
call fcn.004376a0
mov edx, dword [esp + 0x48]
push dword [0x5417cc]
push edx
call fcn.0043afb0
pop eax
add eax, dword [0x53aca8]
jmp 0x40659c
push dword [esp + 0x50]
call fcn.0043b000
push dword [esp]
call fcn.0043b000
push dword [esp + 0x48]
call fcn.0043b000
push dword [esp + 0x4c]
call fcn.0043b000
push dword [esp + 0x54]
call fcn.0043b000
push dword [esp + 0x44]
call fcn.0043b000
push eax
push dword [esp + 0x5c]
call fcn.0043ab48
pop eax
add esp, 0x60
pop edi
pop ebx
pop ebp
ret 8