Function at 0x1003787
Capabilities:
Parse url

Disassembly:
push 0x9b0
mov eax, 0x101355a
call fcn.01008318
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x978], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x964], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x960], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x980], eax
lea eax, [ebp - 0x428]
xor ebx, ebx
mov dword [ebp - 0x42c], eax
mov eax, 0x80
mov dword [ebp - 0x970], ebx
mov dword [ebp - 0x95c], ebx
mov dword [ebp - 0x438], ebx
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x434], ebx
lea ecx, [ebp - 0x538]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x96c], esi
mov dword [ebp - 0x548], ebx
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x540], eax
mov dword [ebp - 0x544], ebx
push 0x3c
pop edi
push edi
lea eax, [ebp - 0x9bc]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x218]
mov dword [ebp - 0x9ac], eax
lea eax, [ebp - 0x9bc]
push eax
push ebx
push ebx
push esi
mov dword [ebp - 0x9bc], edi
mov dword [ebp - 0x9a8], 0x104
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
cmp eax, ebx
jne 0x1003883
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jle 0x100386d
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
lea ecx, [ebp - 0x548]
call fcn.01002970
or dword [ebp - 4], 0xffffffff
jmp 0x1003c1d
push dword [ebp - 0x9a8]
lea ecx, [ebp - 0x328]
push dword [ebp - 0x9ac]
call fcn.010034b4
mov esi, dword [ebp - 0x328]
cmp esi, ebx
mov byte [ebp - 4], 2
jge 0x10038b5
lea ecx, [ebp - 0x328]
call fcn.01002970
jmp 0x100386f
lea eax, [ebp - 0x974]
push eax
lea eax, [ebp - 0x968]
push eax
lea eax, [ebp - 0x438]
push eax
push dword [ebp + 0x10]
mov dword [ebp - 0x968], ebx
push dword [ebp - 0x978]
mov dword [ebp - 0x974], ebx
call fcn.0100acd4
mov esi, eax
cmp esi, ebx
jl 0x10038a8
cmp dword [ebp - 0x974], ebx
je 0x10038f9
mov esi, 0x80070005
jmp 0x10038a8
or edi, 0xffffffff
cmp dword [ebp - 0x968], ebx
jne 0x1003926
push edi
lea ecx, [ebp - 0x328]
call fcn.0100338b
push eax
lea ecx, [ebp - 0x438]
call fcn.010033f0
mov dword [ebp - 0x968], 1
mov esi, dword [ebp - 0x438]
cmp esi, ebx
jl 0x1003c04
cmp dword [ebp + 0x10], ebx
je 0x1003aae
lea eax, [ebp - 0x548]
push eax
push 0x10014f4
push ebx
call fcn.0100af05
test eax, eax
jl 0x10039c6
lea ecx, [ebp - 0x548]
call fcn.0100338b
push edi
push eax
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x324], ebx
mov dword [ebp - 0x328], ebx
call fcn.010033f0
mov esi, dword [ebp - 0x328]
cmp esi, ebx
lea ecx, [ebp - 0x328]
jl 0x1003c0a
call fcn.0100338b
mov esi, eax
push ebx
push esi
call fcn.01002783
cmp eax, ebx
je 0x10039a5
sub eax, esi
dec eax
dec eax
sar eax, 1
jmp 0x10039ab
mov eax, dword [ebp - 0x324]
push eax
push esi
lea ecx, [ebp - 0x438]
mov dword [ebp - 0x434], ebx
mov dword [ebp - 0x438], ebx
call fcn.010033f0
jmp 0x10039e4
push edi
push 0x10014e0
push ebx
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x324], ebx
mov dword [ebp - 0x328], ebx
call fcn.01003219
push edi
push 0x10014cc
push ebx
lea ecx, [ebp - 0x438]
call fcn.01003219
mov esi, dword [ebp - 0x438]
cmp esi, ebx
lea ecx, [ebp - 0x328]
jl 0x1003c0a
call fcn.0100338b
push 7
mov esi, 0x10014bc
mov edi, eax
push esi
push edi
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
lea ecx, [ebp - 0x328]
test eax, eax
je 0x1003a39
call fcn.0100338b
mov edi, eax
add edi, 0xe
jmp 0x1003a63
push 8
push 0x10014a8
call fcn.0100338b
push eax
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
je 0x1003a63
lea ecx, [ebp - 0x328]
call fcn.0100338b
mov edi, eax
add edi, 0x10
push 0xffffffffffffffff
push esi
push ebx
lea ecx, [ebp - 0x548]
mov dword [ebp - 0x544], ebx
mov dword [ebp - 0x548], ebx
call fcn.01003219
push 0xffffffffffffffff
push edi
lea ecx, [ebp - 0x548]
call fcn.010033f0
mov esi, dword [ebp - 0x548]
cmp esi, ebx
jl 0x10038a8
lea ecx, [ebp - 0x548]
call fcn.0100338b
mov dword [ebp - 0x96c], eax
or edi, 0xffffffff
mov eax, dword [ebp - 0x96c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x1003ab7
sub eax, edx
sar eax, 1
lea esi, [eax + 1]
push esi
lea ecx, [ebp - 0x958]
call fcn.010033c5
push esi
lea ecx, [ebp - 0x750]
mov byte [ebp - 4], 3
call fcn.010033c5
mov byte [ebp - 4], 4
cmp dword [ebp - 0x750], ebx
je 0x1003be1
cmp dword [ebp - 0x958], ebx
je 0x1003be1
lea eax, [ebp - 0x97c]
push eax
push esi
push dword [ebp - 0x750]
mov dword [ebp - 0x97c], 0x50
push esi
push dword [ebp - 0x958]
push dword [ebp - 0x96c]
call fcn.0100a57a
mov esi, eax
cmp esi, ebx
jl 0x1003be6
push 0x40
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x978], eax
mov byte [ebp - 4], 5
cmp eax, ebx
je 0x1003b55
mov ecx, eax
call fcn.01002bea
mov esi, eax
jmp 0x1003b57
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0x970], esi
cmp esi, ebx
je 0x1003be1
mov ecx, esi
call fcn.0100b47b
lea eax, [ebp - 0x95c]
push eax
lea ecx, [ebp - 0x438]
call fcn.0100338b
push eax
push dword [ebp - 0x750]
mov ecx, esi
push dword [ebp + 0x10]
call fcn.0100cf9e
test eax, eax
jge 0x1003b9a
mov esi, 0x80070002
jmp 0x1003be6
mov ecx, dword [ebp - 0x95c]
mov eax, dword [ecx]
push 1
push dword [ebp - 0x964]
call dword [eax + 0xc]
mov esi, eax
cmp esi, ebx
jl 0x1003be6
mov ecx, dword [ebp - 0x95c]
push dword [ebp - 0x960]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov esi, eax
cmp esi, ebx
jl 0x1003be6
mov ecx, dword [ebp - 0x95c]
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [ebp - 0x980]
mov dword [ecx], eax
xor esi, esi
jmp 0x1003be6
mov esi, 0x8007000e
lea ecx, [ebp - 0x750]
mov byte [ebp - 4], 3
call fcn.0100294d
lea ecx, [ebp - 0x958]
mov byte [ebp - 4], 2
call fcn.0100294d
lea ecx, [ebp - 0x328]
call fcn.01002970
lea ecx, [ebp - 0x548]
call fcn.01002970
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x438]
call fcn.01002970
mov eax, dword [ebp - 0x95c]
cmp eax, ebx
je 0x1003c3e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x95c], ebx
mov ecx, dword [ebp - 0x970]
cmp ecx, ebx
je 0x1003c4f
push 1
call fcn.01002c86
cmp esi, ebx
jge 0x1003cbb
mov eax, dword [ebp - 0x964]
cmp dword [eax], ebx
jge 0x1003c61
xor eax, eax
jmp 0x1003c64
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x964]
lea edi, [eax + eax]
call fcn.0100338b
cmp edi, ebx
je 0x1003c7c
mov byte [eax], bl
inc eax
dec edi
jne 0x1003c76
mov eax, dword [ebp - 0x960]
cmp dword [eax], ebx
jge 0x1003c8a
xor eax, eax
jmp 0x1003c8d
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x960]
lea edi, [eax + eax]
call fcn.0100338b
cmp edi, ebx
je 0x1003ca5
mov byte [eax], bl
inc eax
dec edi
jne 0x1003c9f
mov eax, dword [ebp - 0x964]
mov dword [eax + 4], ebx
mov dword [eax], ebx
mov eax, dword [ebp - 0x960]
mov dword [eax + 4], ebx
mov dword [eax], ebx
mov eax, esi
call fcn.0100836c
ret 0x18