Function at 0x1005c320
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1011d9d7
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x78
mov eax, dword [0x101c7100]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x88], edi
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
movups xmmword [edi + 0x18], xmm0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0xf
mov byte [edi + 0x18], 0
movups xmmword [edi + 0x30], xmm0
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0xf
mov byte [edi + 0x30], 0
movups xmmword [edi + 0x48], xmm0
mov dword [edi + 0x58], 0
mov dword [edi + 0x5c], 0xf
mov byte [edi + 0x48], 0
movups xmmword [edi + 0x60], xmm0
mov dword [edi + 0x70], 0
mov dword [edi + 0x74], 0xf
mov byte [edi + 0x60], 0
movups xmmword [edi + 0x78], xmm0
mov dword [edi + 0x88], 0
mov dword [edi + 0x8c], 0xf
mov byte [edi + 0x78], 0
movups xmmword [edi + 0x90], xmm0
mov dword [edi + 0xa0], 0
mov dword [edi + 0xa4], 0xf
mov byte [edi + 0x90], 0
movups xmmword [edi + 0xa8], xmm0
mov dword [edi + 0xb8], 0
mov dword [edi + 0xbc], 0xf
mov byte [edi + 0xa8], 0
mov dword [ebp - 4], 0
mov esi, dword [ebx + 8]
mov dword [ebp - 0x84], 1
cmp esi, dword [ebx + 0xc]
je 0x1005ce0a
mov dl, byte [esi]
mov byte [ebp - 0x61], dl
cmp dl, 0x61
jl 0x1005c47f
cmp dl, 0x7a
jle 0x1005c48a
lea eax, [edx - 0x41]
cmp al, 0x19
ja 0x1005ce0a
mov ecx, dword [edi + 0x10]
inc esi
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x7c], connect
cmp ecx, eax
jae 0x1005c4bf
cmp dword [ebp - 0x78], 0xf
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
jbe 0x1005c4b2
mov eax, dword [edi]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x1005c5a4
mov eax, dword [ebp - 0x7c]
sub eax, ecx
cmp eax, 1
jb 0x1005ce05
lea eax, [ecx + 1]
mov ecx, eax
mov dword [ebp - 0x70], eax
or ecx, 0xf
cmp ecx, 0x7fffffff
jbe 0x1005c4e7
mov ecx, closesocket
jmp 0x1005c50c
mov edx, dword [ebp - 0x78]
mov eax, edx
shr eax, 1
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x6c]
cmp edx, eax
jbe 0x1005c502
mov ecx, closesocket
jmp 0x1005c50c
mov eax, dword [ebp - 0x6c]
add eax, edx
cmp ecx, eax
cmovb ecx, eax
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], ecx
push eax
push edi
call fcn.10038b90
mov edx, eax
add esp, 8
cmp dword [ebp - 0x78], 0xf
mov eax, dword [ebp - 0x70]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x6c]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x60], edx
push eax
lea ecx, [eax + edx]
mov dword [ebp - 0x70], ecx
jbe 0x1005c589
mov ecx, dword [edi]
push ecx
push edx
mov dword [ebp - 0x6c], ecx
call fcn.100eca50
mov ecx, dword [ebp - 0x70]
add esp, 0xc
mov al, byte [ebp - 0x61]
mov byte [ecx], al
mov eax, dword [ebp - 0x6c]
mov byte [ecx + 1], 0
mov ecx, dword [ebp - 0x78]
inc ecx
cmp ecx, 0x1000
jb 0x1005c57d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005ce25
mov eax, edx
push ecx
push eax
call fcn.100eb0f7
add esp, 8
jmp 0x1005c59f
push edi
push edx
call fcn.100eca50
mov ecx, dword [ebp - 0x70]
add esp, 0xc
mov al, byte [ebp - 0x61]
mov byte [ecx], al
mov byte [ecx + 1], 0
mov eax, dword [ebp - 0x60]
mov dword [edi], eax
mov ecx, dword [ebx + 0xc]
cmp esi, ecx
je 0x1005ce0a
nop
mov dl, byte [esi]
mov byte [ebp - 0x61], dl
cmp dl, 0x61
jl 0x1005c5bf
cmp dl, 0x7a
jle 0x1005c5e0
lea eax, [edx - 0x41]
cmp al, 0x19
jbe 0x1005c5e0
lea eax, [edx - 0x30]
cmp al, 9
jbe 0x1005c5e0
cmp dl, 0x2b
je 0x1005c5e0
cmp dl, 0x2d
je 0x1005c5e0
cmp dl, 0x2e
jne 0x1005c703
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x78], eax
cmp ecx, eax
jae 0x1005c60d
cmp dword [ebp - 0x78], 0xf
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
jbe 0x1005c600
mov eax, dword [edi]
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x1005c6f2
mov eax, dword [ebp - 0x7c]
sub eax, ecx
cmp eax, 1
jb 0x1005ce05
lea eax, [ecx + 1]
mov ecx, eax
mov dword [ebp - 0x68], eax
or ecx, 0xf
cmp ecx, 0x7fffffff
jbe 0x1005c635
mov ecx, closesocket
jmp 0x1005c65a
mov edx, dword [ebp - 0x78]
mov eax, edx
shr eax, 1
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x60]
cmp edx, eax
jbe 0x1005c650
mov ecx, closesocket
jmp 0x1005c65a
mov eax, dword [ebp - 0x60]
add eax, edx
cmp ecx, eax
cmovb ecx, eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], ecx
push eax
push edi
call fcn.10038b90
mov edx, eax
add esp, 8
cmp dword [ebp - 0x78], 0xf
mov eax, dword [ebp - 0x68]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x60]
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x6c], edx
push eax
lea ecx, [edx + eax]
mov dword [ebp - 0x70], ecx
jbe 0x1005c6d7
mov ecx, dword [edi]
push ecx
push edx
mov dword [ebp - 0x60], ecx
call fcn.100eca50
mov ecx, dword [ebp - 0x70]
add esp, 0xc
mov al, byte [ebp - 0x61]
mov byte [ecx], al
mov eax, dword [ebp - 0x60]
mov byte [ecx + 1], 0
mov ecx, dword [ebp - 0x78]
inc ecx
cmp ecx, 0x1000
jb 0x1005c6cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005ce25
mov eax, edx
push ecx
push eax
call fcn.100eb0f7
add esp, 8
jmp 0x1005c6ed
push edi
push edx
call fcn.100eca50
mov ecx, dword [ebp - 0x70]
add esp, 0xc
mov al, byte [ebp - 0x61]
mov byte [ecx], al
mov byte [ecx + 1], 0
mov eax, dword [ebp - 0x6c]
mov dword [edi], eax
mov ecx, dword [ebx + 0xc]
inc esi
cmp esi, ecx
je 0x1005ce0a
jmp 0x1005c5b0
inc esi
cmp dl, 0x3a
jne 0x1005ce0a
cmp esi, ecx
je 0x1005ce0a
mov eax, esi
inc esi
cmp byte [eax], 0x2f
jne 0x1005ce0a
cmp esi, ecx
je 0x1005ce0a
mov eax, esi
inc esi
cmp byte [eax], 0x2f
jne 0x1005ce0a
mov dword [ebp - 0x1c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
cmp esi, ecx
jne 0x1005c75f
xor eax, eax
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x2c], al
jmp 0x1005c76e
sub ecx, esi
push ecx
push esi
lea ecx, [ebp - 0x2c]
call fcn.10030ed0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
cmova ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x68], ecx
test eax, eax
je 0x1005c79e
push eax
push 0x23
push ecx
call fcn.100ed130
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1005c79e
sub esi, dword [ebp - 0x68]
jmp 0x1005c7a1
or esi, 0xffffffff
cmp esi, 0xffffffff
je 0x1005c7f4
push 0xffffffffffffffff
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1003e840
push eax
lea ecx, [edi + 0xa8]
call fcn.10038630
lea ecx, [ebp - 0x44]
call fcn.100385e0
mov eax, dword [ebp - 0x1c]
cmp esi, eax
ja 0x1005c7e7
cmp dword [ebp - 0x18], 0xf
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], esi
cmova eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0
jmp 0x1005c7f4
push 0
sub esi, eax
lea ecx, [ebp - 0x2c]
push esi
call fcn.100487e0
cmp dword [ebp - 0x18], 0xf
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
cmova ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x68], ecx
test eax, eax
je 0x1005c820
push eax
push 0x3f
push ecx
call fcn.100ed130
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1005c820
sub esi, dword [ebp - 0x68]
jmp 0x1005c823
or esi, 0xffffffff
cmp esi, 0xffffffff
je 0x1005c876
push 0xffffffffffffffff
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1003e840
push eax
lea ecx, [edi + 0x90]
call fcn.10038630
lea ecx, [ebp - 0x44]
call fcn.100385e0
mov eax, dword [ebp - 0x1c]
cmp esi, eax
ja 0x1005c869
cmp dword [ebp - 0x18], 0xf
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], esi
cmova eax, dword [ebp - 0x2c]
mov byte [esi + eax], 0
jmp 0x1005c876
push 0
sub esi, eax
lea ecx, [ebp - 0x2c]
push esi
call fcn.100487e0
cmp dword [ebp - 0x18], 0xf
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
cmova ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x68], ecx
test eax, eax
je 0x1005c8a2
push eax
push 0x2f
push ecx
call fcn.100ed130
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1005c8a2
sub esi, dword [ebp - 0x68]
jmp 0x1005c8a5
or esi, 0xffffffff
cmp esi, 0xffffffff
je 0x1005c8f4
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1003e840
push eax
lea ecx, [edi + 0x78]
call fcn.10038630
lea ecx, [ebp - 0x44]
call fcn.100385e0
mov eax, dword [ebp - 0x1c]
cmp esi, eax
ja 0x1005c8e5
cmp dword [ebp - 0x18], 0xf
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], esi
cmova eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0
jmp 0x1005c94f
push 0
sub esi, eax
lea ecx, [ebp - 0x2c]
push esi
call fcn.100487e0
jmp 0x1005c94f
mov ecx, dword [edi + 0x8c]
lea esi, [edi + 0x78]
cmp ecx, 1
jb 0x1005c919
mov eax, esi
cmp ecx, 0xf
jbe 0x1005c90b
mov eax, dword [esi]
mov dword [esi + 0x10], 1
mov word [eax], 0x2f
jmp 0x1005c94f
mov eax, ecx
shr eax, 1
add eax, ecx
mov ecx, 0xf
cmp eax, ecx
cmova ecx, eax
lea eax, [ebp - 0x60]
push eax
push esi
mov dword [ebp - 0x60], ecx
call fcn.10038b90
mov ecx, eax
mov dword [esi + 0x10], 1
mov eax, dword [ebp - 0x60]
add esp, 8
mov dword [esi + 0x14], eax
mov word [ecx], 0x2f
mov dword [esi], ecx
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
mov esi, dword [ebp - 0x1c]
cmova eax, dword [ebp - 0x2c]
mov dword [ebp - 0x68], eax
test esi, esi
je 0x1005c996
push esi
push 0x40
push eax
call fcn.100ed130
add esp, 0xc
test eax, eax
je 0x1005c996
sub eax, dword [ebp - 0x68]
jmp 0x1005c999
or eax, 0xffffffff
mov dword [ebp - 0x6c], eax
cmp eax, 0xffffffff
je 0x1005cc2a
cmp esi, eax
mov dword [ebp - 0x34], 0
mov ecx, eax
mov dword [ebp - 0x30], 0
cmovb ecx, esi
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
xorps xmm0, xmm0
push ecx
cmova eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x44]
push eax
movups xmmword [ebp - 0x44], xmm0
call fcn.10030ed0
lea eax, [ebp - 0x44]
mov dword [ebp - 0x84], 3
push eax
lea ecx, [ebp - 0x5c]
call fcn.10038630
mov ecx, dword [ebp - 0x30]
cmp ecx, 0xf
jbe 0x1005ca20
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005ca16
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005ce25
push ecx
push edx
call fcn.100eb0f7
add esp, 8
cmp dword [ebp - 0x48], 0xf
lea eax, [ebp - 0x5c]
mov esi, dword [ebp - 0x4c]
cmova eax, dword [ebp - 0x5c]
mov dword [ebp - 0x68], eax
test esi, esi
je 0x1005ca4a
push esi
push 0x3a
push eax
call fcn.100ed130
add esp, 0xc
test eax, eax
je 0x1005ca4a
sub eax, dword [ebp - 0x68]
jmp 0x1005ca4d
or eax, 0xffffffff
mov dword [ebp - 0x60], eax
cmp eax, 0xffffffff
je 0x1005cafd
cmp esi, eax
mov dword [ebp - 0x34], 0
mov edx, eax
mov dword [ebp - 0x30], 0
cmovb edx, esi
lea eax, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0xf
lea ecx, [ebp - 0x44]
push edx
cmova eax, dword [ebp - 0x5c]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x44], xmm0
call fcn.10030ed0
lea eax, [ebp - 0x44]
mov dword [ebp - 0x84], 7
push eax
lea ecx, [edi + 0x18]
call fcn.10038630
mov ecx, dword [ebp - 0x30]
cmp ecx, 0xf
jbe 0x1005cad4
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005caca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005ce25
push ecx
push edx
call fcn.100eb0f7
add esp, 8
mov eax, dword [ebp - 0x60]
lea ecx, [ebp - 0x5c]
push 0xffffffffffffffff
inc eax
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.1003e840
push eax
lea ecx, [edi + 0x30]
call fcn.10038630
lea ecx, [ebp - 0x44]
call fcn.100385e0
jmp 0x1005cc01
lea ecx, [edi + 0x18]
lea eax, [ebp - 0x5c]
cmp ecx, eax
je 0x1005cc01
cmp dword [ebp - 0x48], 0xf
mov edx, eax
mov eax, dword [ecx + 0x14]
cmova edx, dword [ebp - 0x5c]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x80], eax
cmp esi, eax
ja 0x1005cb4d
mov dword [ebp - 0x74], ecx
cmp eax, 0xf
jbe 0x1005cb31
mov eax, dword [ecx]
mov dword [ebp - 0x74], eax
jmp 0x1005cb33
mov eax, ecx
push esi
push edx
push eax
mov dword [ecx + 0x10], esi
call fcn.100eca50
mov eax, dword [ebp - 0x74]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x1005cc01
cmp esi, 0x7fffffff
ja 0x1005ce05
mov edx, esi
or edx, 0xf
cmp edx, 0x7fffffff
jbe 0x1005cb6d
mov edx, closesocket
jmp 0x1005cb91
mov edi, eax
shr edi, 1
sub dword [ebp - 0x7c], edi
mov dword [ebp - 0x68], edi
mov edi, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x7c]
jbe 0x1005cb86
mov edx, closesocket
jmp 0x1005cb91
add eax, dword [ebp - 0x68]
mov edi, dword [ebp - 0x74]
cmp edx, eax
cmovb edx, eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], edx
push eax
push ecx
call fcn.10038b90
push esi
push dword [ebp - 0x78]
mov ecx, eax
mov dword [edi + 0x28], esi
mov eax, dword [ebp - 0x60]
push ecx
mov dword [ebp - 0x70], ecx
mov dword [edi + 0x2c], eax
call fcn.100eca50
mov ecx, dword [ebp - 0x70]
add esp, 0x14
mov eax, dword [ebp - 0x80]
mov byte [esi + ecx], 0
cmp eax, 0xf
jbe 0x1005cbfe
lea ecx, [eax + 1]
mov eax, dword [edi + 0x18]
cmp ecx, 0x1000
jb 0x1005cbec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005ce25
mov eax, edx
push ecx
push eax
call fcn.100eb0f7
mov eax, dword [ebp - 0x70]
add esp, 8
mov dword [edi + 0x18], eax
jmp 0x1005cc01
mov dword [edi + 0x18], ecx
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x2c]
push 0xffffffffffffffff
inc eax
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.1003e840
push eax
lea ecx, [edi + 0x48]
call fcn.10038630
lea ecx, [ebp - 0x44]
call fcn.100385e0
jmp 0x1005cd2e
lea ecx, [edi + 0x48]
lea eax, [ebp - 0x2c]
cmp ecx, eax
je 0x1005cd2e
cmp dword [ebp - 0x18], 0xf
mov edx, eax
mov eax, dword [ecx + 0x14]
cmova edx, dword [ebp - 0x2c]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x6c], eax
cmp esi, eax
ja 0x1005cc7a
mov dword [ebp - 0x74], ecx
cmp eax, 0xf
jbe 0x1005cc5e
mov eax, dword [ecx]
mov dword [ebp - 0x74], eax
jmp 0x1005cc60
mov eax, ecx
push esi
push edx
push eax
mov dword [ecx + 0x10], esi
call fcn.100eca50
mov eax, dword [ebp - 0x74]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x1005cd2e
cmp esi, 0x7fffffff
ja 0x1005ce05
mov edx, esi
or edx, 0xf
cmp edx, 0x7fffffff
jbe 0x1005cc9a
mov edx, closesocket
jmp 0x1005ccbe
mov edi, eax
shr edi, 1
sub dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], edi
mov edi, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x7c]
jbe 0x1005ccb3
mov edx, closesocket
jmp 0x1005ccbe
add eax, dword [ebp - 0x80]
mov edi, dword [ebp - 0x74]
cmp edx, eax
cmovb edx, eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x60], edx
push eax
push ecx
call fcn.10038b90
push esi
push dword [ebp - 0x68]
mov ecx, eax
mov dword [edi + 0x58], esi
mov eax, dword [ebp - 0x60]
push ecx
mov dword [ebp - 0x70], ecx
mov dword [edi + 0x5c], eax
call fcn.100eca50
mov ecx, dword [ebp - 0x70]
add esp, 0x14
mov eax, dword [ebp - 0x6c]
mov byte [esi + ecx], 0
cmp eax, 0xf
jbe 0x1005cd2b
lea ecx, [eax + 1]
mov eax, dword [edi + 0x48]
cmp ecx, 0x1000
jb 0x1005cd19
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005ce25
mov eax, edx
push ecx
push eax
call fcn.100eb0f7
mov eax, dword [ebp - 0x70]
add esp, 8
mov dword [edi + 0x48], eax
jmp 0x1005cd2e
mov dword [edi + 0x48], ecx
cmp dword [edi + 0x5c], 0xf
lea eax, [edi + 0x48]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x60], eax
jbe 0x1005cd42
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
test ecx, ecx
je 0x1005cd5d
push ecx
push 0x3a
push eax
call fcn.100ed130
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1005cd5d
sub esi, dword [ebp - 0x60]
jmp 0x1005cd60
or esi, 0xffffffff
cmp esi, 0xffffffff
je 0x1005cdad
push 0xffffffffffffffff
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [edi + 0x48]
call fcn.1003e840
push eax
lea ecx, [edi + 0x60]
call fcn.10038630
lea ecx, [ebp - 0x44]
call fcn.100385e0
mov eax, dword [edi + 0x58]
lea ecx, [edi + 0x48]
cmp esi, eax
ja 0x1005cda3
mov dword [ecx + 0x10], esi
cmp dword [ecx + 0x14], 0xf
jbe 0x1005cd9d
mov ecx, dword [ecx]
mov byte [esi + ecx], 0
jmp 0x1005cdad
push 0
sub esi, eax
push esi
call fcn.100487e0
lea ecx, [ebp - 0x5c]
call fcn.100385e0
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x1005cde5
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005cddb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005ce25
push ecx
push edx
call fcn.100eb0f7
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100eaab6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10030d70
push str.Invalid_scheme
lea ecx, [ebp - 0x38]
call fcn.10057210
push 0x101c516c
lea eax, [ebp - 0x38]
push eax
call fcn.100ec9c7
call fcn.100f1ae9
int3