Function at 0x42018d
Capabilities:
Access peb ldr_data
Get ntdll base address
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4c9234
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1554
call fcn.00401910
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x1550], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x1568]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x30], esi
xor ebx, ebx
lea eax, [esp + 0xe0]
push 0x5c
push ebx
push eax
mov byte [esp + 0xe8], bl
mov word [esp + 0xe9], bx
mov byte [esp + 0xeb], bl
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [esp + 0xdc]
add esi, 0x14
mov dword [esp + 0x18], esi
push 0x60
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xc]
push 4
lea eax, [esp + 0xe0]
push 0x50f06c
push eax
call dword [sym.imp.msvcrt.dll_memcmp]
add esp, 0xc
test eax, eax
jne 0x4203d9
mov eax, dword [esp + 0xe2]
mov cx, word [esp + 0xe2]
shr cx, 8
shl eax, 8
or cx, ax
mov eax, dword [esp + 0xe4]
mov word [esp + 0xe2], cx
mov cx, word [esp + 0xe4]
shr cx, 8
shl eax, 8
or cx, ax
mov eax, dword [esp + 0x128]
mov word [esp + 0xe4], cx
mov cx, word [esp + 0x128]
shr cx, 8
shl eax, 8
or cx, ax
mov eax, dword [esp + 0x12a]
mov word [esp + 0x128], cx
mov cx, word [esp + 0x12a]
shl eax, 8
shr cx, 8
or cx, ax
push 5
pop eax
mov word [esp + 0x12a], cx
cmp cx, ax
jne 0x4203d9
xor eax, eax
mov dword [esp + 0x13c], ebx
lea edi, [esp + 0x140]
mov dword [esp + 0x24], ebx
stosd dword es:[edi], eax
lea ecx, [esp + 0x13c]
push 0x10
push ecx
mov ecx, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [esi]
call dword [eax + 0xc]
push 8
lea eax, [esp + 0x140]
push 0x50f064
push eax
call dword [sym.imp.msvcrt.dll_memcmp]
mov ecx, dword [esp + 0x150]
mov esi, 0xff0000
mov edi, ecx
mov eax, ecx
shr eax, 0x10
and edi, esi
or edi, eax
add esp, 0xc
mov eax, ecx
shr edi, 8
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shl eax, 8
or edi, eax
cmp edi, 0x20
ja 0x4203d9
mov ecx, dword [esp + 0x148]
mov edx, ecx
and edx, esi
mov eax, ecx
shr eax, 0x10
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
cmp edx, 0x2000
ja 0x4203d9
mov eax, edi
shl eax, 4
mov dword [esp + 0x14], eax
lea esi, [eax + edx]
mov eax, esi
and eax, reloc.WS2_32.dll_getsockopt
jns 0x420389
dec eax
or eax, 0xfffffff8
inc eax
push 8
pop ecx
sub ecx, eax
and ecx, reloc.WS2_32.dll_getsockopt
jns 0x42039b
dec ecx
or ecx, 0xfffffff8
inc ecx
add esi, ecx
lea ecx, [esp + 0x4c]
push esi
call fcn.0041eab3
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1570], ebx
push esi
push dword [esp + 0x60]
mov eax, dword [ecx]
call dword [eax + 0xc]
cmp eax, esi
je 0x4203ff
or dword [esp + 0x1570], 0xffffffff
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], vtable.micro::utils::QBuffer.0
call fcn.004044fd
xor al, al
mov ecx, dword [esp + 0x1568]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1550]
xor ecx, esp
call fcn.00401000
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x5c]
add eax, esi
mov dword [esp + 0x10], eax
test edi, edi
jle 0x42053b
add esi, 0xc
mov ecx, dword [esi - 0xc]
mov ebx, ecx
mov eax, ecx
shr ebx, 0x10
and eax, 0xff0000
or ebx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr ebx, 8
mov ecx, dword [esi - 8]
mov edx, ecx
shl eax, 8
and edx, 0xff0000
or ebx, eax
mov eax, ecx
shr eax, 0x10
or edx, eax
mov dword [esp + 0x14], ebx
shr edx, 8
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
mov dword [esi - 0xc], ebx
mov ecx, dword [esi]
shl eax, 8
or edx, eax
mov eax, ecx
mov dword [esi - 8], edx
mov edx, ecx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
mov ecx, dword [esi - 4]
shl eax, 8
or edx, eax
mov eax, ecx
mov dword [esi], edx
mov edx, ecx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov dword [esi - 4], edx
cmp ebx, 0x3e8
jne 0x4204fb
mov ecx, dword [esp + 0x10]
mov ecx, dword [edx + ecx]
mov ebx, ecx
and ebx, 0xff0000
mov eax, ecx
shr eax, 0x10
or ebx, eax
mov eax, ecx
and eax, 0xff00
shl ecx, 0x10
or eax, ecx
shr ebx, 8
shl eax, 8
or ebx, eax
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x14]
cmp ebx, 0x10e
mov ebx, dword [esp + 0x10]
jne 0x420515
push dword [edx + ebx + 4]
push dword [edx + ebx]
call fcn.0042012d
pop ecx
pop ecx
cmp dword [esi - 0xc], 0x10f
jne 0x42052f
mov eax, dword [esi - 4]
push dword [ebx + eax + 4]
push dword [ebx + eax]
call fcn.0042012d
pop ecx
pop ecx
add esi, 0x10
dec edi
jne 0x420418
xor ebx, ebx
or dword [esp + 0x1570], 0xffffffff
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], vtable.micro::utils::QBuffer.0
call fcn.004044fd
mov esi, dword [esp + 0x18]
lea edi, [esp + 0x150]
xor eax, eax
mov dword [esp + 0x14c], ebx
stosd dword es:[edi], eax
lea ecx, [esp + 0x14c]
push 0x10
push ecx
mov ecx, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [esi]
call dword [eax + 0xc]
push 8
lea eax, [esp + 0x150]
push 0x50f064
push eax
call dword [sym.imp.msvcrt.dll_memcmp]
add esp, 0xc
test eax, eax
jne 0x4203d9
mov ecx, dword [esp + 0x154]
mov edi, 0xff0000
mov ebx, ecx
mov eax, ecx
shr eax, 0x10
and ebx, edi
or ebx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr ebx, 8
shl eax, 8
or ebx, eax
jl 0x4203d9
mov ecx, dword [esp + 0x158]
mov edx, ecx
mov eax, ecx
and edx, edi
shr eax, 0x10
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
jl 0x4203d9
mov edi, ebx
lea ecx, [esp + 0x60]
shl edi, 4
mov dword [esp + 0x1c], edi
lea eax, [edi + edx]
push eax
mov dword [esp + 0x18], eax
call fcn.0041eab3
push dword [esp + 0x14]
mov dword [esp + 0x1574], 1
mov ecx, esi
mov eax, dword [esi]
push dword [esp + 0x74]
call dword [eax + 0xc]
cmp eax, dword [esp + 0x14]
je 0x42063c
xor ebx, ebx
jmp 0x420a38
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x10], ecx
test ebx, ebx
jle 0x4207cc
lea edi, [ecx + 0xc]
mov ecx, dword [edi - 0xc]
mov esi, ecx
mov eax, ecx
and esi, 0xff0000
shr eax, 0x10
or esi, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr esi, 8
mov ecx, dword [edi - 8]
mov edx, ecx
shl eax, 8
and edx, 0xff0000
or esi, eax
mov eax, ecx
shr eax, 0x10
or edx, eax
mov dword [edi - 0xc], esi
shr edx, 8
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
mov ecx, dword [edi]
shl eax, 8
or edx, eax
mov eax, ecx
mov dword [edi - 8], edx
mov edx, ecx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
mov ecx, dword [edi - 4]
shl eax, 8
or edx, eax
mov eax, ecx
mov dword [edi], edx
mov edx, ecx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
or eax, ecx
shr edx, 8
shl eax, 8
or edx, eax
mov dword [edi - 4], edx
cmp esi, 0x3fa
jne 0x42071a
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x10]
mov esi, dword [sym.imp.msvcrt.dll_strcpy]
add eax, edx
push eax
lea eax, [esp + 0x160]
push eax
call esi
pop ecx
pop ecx
cmp dword [edi - 0xc], 0x45d
jne 0x420743
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi - 4]
add ecx, dword [esp + 0x10]
mov esi, dword [sym.imp.msvcrt.dll_strcpy]
add eax, ecx
push eax
lea eax, [esp + 0xd60]
push eax
call esi
pop ecx
pop ecx
cmp dword [edi - 0xc], 0x464
jne 0x42076c
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi - 4]
add ecx, dword [esp + 0x10]
mov esi, dword [sym.imp.msvcrt.dll_strcpy]
add eax, ecx
push eax
lea eax, [esp + 0x560]
push eax
call esi
pop ecx
pop ecx
cmp dword [edi - 0xc], 0x465
jne 0x420795
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi - 4]
add ecx, dword [esp + 0x10]
mov esi, dword [sym.imp.msvcrt.dll_strcpy]
add eax, ecx
push eax
lea eax, [esp + 0x960]
push eax
call esi
pop ecx
pop ecx
cmp dword [edi - 0xc], 0x466
jne 0x4207be
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi - 4]
add ecx, dword [esp + 0x10]
mov esi, dword [sym.imp.msvcrt.dll_strcpy]
add eax, ecx
push eax
lea eax, [esp + 0x1160]
push eax
call esi
pop ecx
pop ecx
add edi, 0x10
dec ebx
jne 0x42064f
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x24]
sub edi, dword [esp + 0x14]
mov dword [esp + 0x18], eax
sub edi, 0x10
lea eax, [esp + 0x15c]
mov dword [esp + 0x10], edx
push eax
lea ecx, [ebx + 0x68]
call fcn.004ba792
lea eax, [esp + 0xd5c]
push eax
lea ecx, [ebx + 0x70]
call fcn.004ba792
lea eax, [esp + 0x55c]
lea esi, [ebx + 0x78]
push eax
mov ecx, esi
call fcn.004ba792
lea eax, [ebx + 0x80]
lea ecx, [esp + 0x95c]
mov dword [esp + 0x24], eax
push ecx
mov ecx, eax
call fcn.004ba792
lea eax, [esp + 0x115c]
push eax
lea ecx, [ebx + 0x88]
call fcn.004ba792
lea eax, [ebx + 8]
push eax
lea ecx, [esp + 0x140]
call fcn.004b9cf7
mov dword [esp + method.mc::MyStrPath.virtual_0], vtable.micro::files::QPathStr.0
mov eax, vtable.micro::utils::QString.0
xor ebx, ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ebx
lea eax, [esp + 0x1c]
mov byte [esp + 0x1570], 6
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x14c]
call fcn.004bcbca
push ecx
push ecx
mov ecx, esp
push esi
call fcn.004b9cf7
mov edx, 0x4dc114
lea ecx, [esp + 0x4c]
call fcn.00420cf3
pop ecx
pop ecx
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1574], 7
call fcn.004ba7cf
mov byte [esp + 0x1570], 6
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], vtable.micro::utils::QString.0
call fcn.004b9e50
mov esi, dword [esp + 0x24]
mov ecx, esi
push 0x4dc118
call fcn.004b9eea
test al, al
je 0x420912
push 0x4dc124
jmp 0x420927
push str.bzip2
mov ecx, esi
call fcn.004b9eea
test al, al
je 0x420930
push str..bz2
lea ecx, [esp + 0x2c]
call fcn.004ba7f0
lea ecx, [esp + 0x74]
call fcn.0040e57a
lea eax, [esp + 0x28]
mov byte [esp + 0x1570], 8
push eax
lea ecx, [esp + 0x78]
call fcn.004ba6d4
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
lea ecx, [esi + 0x30]
mov eax, dword [esi + 0x28]
mov dword [esp + 0xac], eax
mov eax, dword [esi + 0x2c]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x74]
push eax
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0xa8], 0x20
call fcn.004bbc49
lea ecx, [esp + 0x74]
mov byte [esp + 0x1570], 6
call fcn.0040e543
mov byte [esp + 0x1570], 5
lea ecx, [esp + 0x1c]
mov ebx, vtable.micro::utils::QString.0
mov dword [esp + 0x1c], ebx
call fcn.004b9e50
mov byte [esp + 0x1570], 4
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], ebx
call fcn.004b9e50
mov byte [esp + 0x1570], 3
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], ebx
call fcn.004b9e50
mov byte [esp + 0x1570], 2
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], ebx
call fcn.004b9e50
mov byte [esp + 0x1570], 1
lea ecx, [esp + 0x13c]
mov dword [esp + 0x13c], ebx
call fcn.004b9e50
mov bl, 1
or dword [esp + 0x1570], 0xffffffff
lea ecx, [esp + 0x60]
mov dword [esp + 0x60], vtable.micro::utils::QBuffer.0
call fcn.004044fd
mov al, bl
jmp 0x4203db