Function at 0x10003fd0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push esi
push edi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x28], 1
jg 0x1000400a
push str.ChainLen_1
call fcn.10001120
add esp, 4
xor eax, eax
jmp 0x10004280
call fcn.100023e0
mov dword [ebp - 8], 0
jmp 0x10004021
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
cmp edx, dword [0x1005d764]
jge 0x1000406d
push 0x10
push 0x1001c0b8
mov eax, dword [ebp - 8]
imul eax, eax, 0x274
mov ecx, dword [0x1005d75c]
lea edx, [ecx + eax + 0x14]
push edx
call fcn.10007fb8
add esp, 0xc
test eax, eax
jne 0x1000406b
mov eax, dword [ebp - 8]
imul eax, eax, 0x274
mov ecx, dword [0x1005d75c]
mov edx, dword [ecx + eax + 0x24]
mov dword [ebp - 0x1c], edx
jmp 0x1000406d
jmp 0x10004018
mov dword [ebp - 8], 0
jmp 0x1000407f
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 8]
cmp edx, dword [ecx + 0x28]
jge 0x100040aa
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + eax*4 + 0x2c]
cmp edx, dword [ebp - 0x1c]
jne 0x100040a8
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + eax*4 + 0x30]
mov dword [ebp - 4], edx
jmp 0x100040aa
jmp 0x10004076
mov dword [ebp - 0x10], 0x104
mov eax, dword [ebp - 0x10]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], 0
jmp 0x100040d2
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
cmp edx, dword [0x1005d764]
jge 0x1000413a
mov eax, dword [ebp - 8]
imul eax, eax, 0x274
mov ecx, dword [0x1005d75c]
mov edx, dword [ebp - 4]
cmp edx, dword [ecx + eax + 0x24]
jne 0x10004138
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 8]
imul eax, eax, 0x274
mov ecx, dword [0x1005d75c]
lea edx, [ecx + eax + 0x14]
push edx
call sub.WS2_32.dll_WSCGetProviderPath
cmp eax, 0xffffffff
jne 0x10004136
push str.WSCGetProviderPath_Error_
call fcn.10001120
add esp, 4
mov eax, 0x277a
jmp 0x10004280
jmp 0x1000413a
jmp 0x100040c9
push 0x104
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
jne 0x10004168
push str.ExpandEnvironmentStrings_Error_
call fcn.10001120
add esp, 4
mov eax, 0x277a
jmp 0x10004280
mov edx, dword [ebp - 0x20]
push edx
push str.filterpath:_s
call fcn.100010c0
add esp, 8
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x100041a3
push str.LoadLibrary_Error_
call fcn.10001120
add esp, 4
mov eax, 0x277a
jmp 0x10004280
push 0x10019128
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x100041d2
push str.GetProcessAddress_Error_
call fcn.10001120
add esp, 4
mov eax, 0x277a
jmp 0x10004280
mov edx, dword [ebp + 0x50]
push edx
sub esp, 0x3c
mov ecx, 0xf
lea esi, [ebp + 0x14]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
movzx edx, word [ebp + 8]
push edx
call dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x10004210
push str.wspstartupfunc_Error_
call fcn.10001120
add esp, 4
mov eax, dword [ebp - 0x18]
jmp 0x10004280
mov esi, dword [ebp + 0x50]
mov ecx, 0x1e
mov edi, 0x1005d530
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x50]
mov dword [eax + 0x64], 0x10003890
mov ecx, dword [ebp + 0x50]
mov dword [ecx + 0x70], 0x100037a0
mov edx, dword [ebp + 0x50]
mov dword [edx + 0x18], 0x10003fa0
mov eax, dword [ebp + 0x50]
mov dword [eax + 0x5c], 0x10003850
mov ecx, dword [ebp + 0x50]
mov dword [ecx + 0xc], 0x10003830
mov edx, dword [ebp + 0x50]
mov dword [edx + 0x1c], 0x10002cb0
mov eax, dword [ebp + 0x50]
mov dword [eax + 0x4c], 0x10003cc0
mov ecx, dword [ebp + 0x50]
mov dword [ecx + 0x54], 0x10003d00
mov edx, dword [ebp + 0x50]
mov dword [edx + 0x70], 0x100037a0
call fcn.100024b0
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x4c