Function at 0x275784a0
Capabilities:
Allocate thread local storage
Parse url

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x275ab27a
mov eax, dword fs:[0]
push eax
sub esp, 0xb68
mov eax, dword [0x275ba2ec]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xb2c], eax
xor eax, eax
test byte [0x275bbd64], 1
mov edi, ecx
mov dword [ebp - 0xb28], eax
jne 0x27578549
or dword [0x275bbd64], 1
mov ecx, dword [0x275b9010]
mov edx, dword [0x275b9028]
push 0x275016ec
push ecx
mov ecx, dword [0x275b9020]
push edx
mov edx, dword [0x275b901c]
mov dword [ebp - 4], eax
mov eax, dword [0x275b9024]
push eax
mov eax, dword [0x275b9018]
push ecx
mov ecx, dword [0x275b9014]
push edx
push eax
push ecx
mov ecx, 0x275bbc68
call fcn.27578300
push 0x275ae0f0
call fcn.2757f4af
add esp, 4
mov dword [ebp - 4], 0xffffffff
push ebx
lea edx, [ebp - 0xb38]
push edx
call fcn.27595510
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edx, dword [eax]
push ecx
push esi
push edx
push 0x27526fa0
push 0x27526f58
lea eax, [ebp - 0xb28]
push eax
push 0x27526ed8
lea ecx, [ebp - 0xb24]
push 2
push ecx
mov dword [ebp - 4], 1
call fcn.2753a320
add esp, 0x24
mov eax, dword [ebp - 0xb38]
add eax, 0xfffffff0
mov byte [ebp - 4], 3
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x275785b5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [0x275bc8c4]
mov eax, dword [edx + 0xc]
mov ecx, 0x275bc8c4
call eax
add eax, 0x10
mov dword [ebp - 0xb34], eax
lea ecx, [edi + 0x18]
push ecx
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
cmp eax, 1
jle 0x27578604
mov edx, dword [ebp - 0xb2c]
push edx
call fcn.27577620
neg al
sbb eax, eax
and eax, 0xfffffffe
add eax, 0x48046
mov dword [ebp - 0xb28], eax
jmp 0x275789cd
push ebx
push 0x2752cad8
call fcn.275598f0
test eax, eax
je 0x27578622
mov dword [ebp - 0xb28], 0x8004801a
jmp 0x275789cd
cmp esi, 1
je 0x27578636
mov dword [ebp - 0xb28], 0x8004801b
jmp 0x275789cd
cmp dword [ebp - 0xb2c], 0
je 0x27578670
mov eax, dword [ebp - 0xb2c]
mov ecx, dword [eax]
xor esi, esi
test ecx, ecx
jbe 0x27578670
mov eax, dword [eax + 4]
test dword [eax], 0xffffff80
jne 0x275786ec
cmp dword [eax + 4], 0
je 0x2757872c
add esi, 1
add eax, 0xc
cmp esi, ecx
jb 0x27578650
mov dword [edi + 0x208], 1
mov edx, dword [ebx]
mov dword [edi + 0x1c], edx
mov eax, dword [ebx + 4]
mov dword [edi + 0x20], eax
mov ecx, dword [ebx + 8]
push 0x7fe
mov dword [edi + 0x24], ecx
mov edx, dword [ebx + 0xc]
lea eax, [ebp - 0xa16]
push 0
push eax
mov dword [edi + 0x28], edx
mov word [ebp - 0xa18], 0
call fcn.2757fdd0
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
add esp, 0xc
push 0x400
lea ecx, [ebp - 0xa18]
push ecx
push 0
mov byte [0x275bb990], 0
call esi
test eax, eax
jne 0x275787ab
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x2757876c
call esi
jmp 0x27578778
mov dword [ebp - 0xb28], 0x8004802c
call fcn.27595010
test al, al
je 0x275789cd
mov ecx, dword [ebp - 0xb2c]
mov edx, dword [ecx + 4]
lea eax, [esi + esi*2]
mov eax, dword [edx + eax*4]
push eax
push 0x27526e9c
push 0x27526e20
push 0
call fcn.27595fd0
add esp, 0x10
jmp 0x275789cd
mov dword [ebp - 0xb28], 0x8004802f
call fcn.27595010
test al, al
je 0x275789cd
mov edx, dword [ebp - 0xb2c]
mov eax, dword [edx + 4]
lea ecx, [esi + esi*2]
mov ecx, dword [eax + ecx*4]
push ecx
push 0x27526dd0
push 0x27526d50
push 0
call fcn.27595fd0
add esp, 0x10
jmp 0x275789cd
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0xb28], eax
call fcn.27595010
test al, al
je 0x275789cd
mov edx, dword [ebp - 0xb28]
push edx
push 0x27526d00
push 0x27526c80
push 0
call fcn.27595fd0
add esp, 0x10
jmp 0x275789cd
call fcn.27595010
test al, al
je 0x275788af
push 0x206
lea eax, [ebp - 0x216]
push 0
push eax
mov word [ebp - 0x218], 0
call fcn.2757fdd0
mov edx, dword [0x275bc8c4]
mov eax, dword [edx + 0xc]
add esp, 0xc
mov ecx, 0x275bc8c4
call eax
add eax, 0x10
mov dword [ebp - 0xb30], eax
mov edx, dword [0x275bb950]
push 0x104
lea ecx, [ebp - 0x218]
push ecx
push edx
mov byte [ebp - 4], 5
call esi
test eax, eax
jbe 0x2757884b
lea eax, [ebp - 0xb30]
push eax
lea ecx, [ebp - 0x218]
push ecx
call fcn.2759a030
call fcn.27595010
test al, al
je 0x2757884b
mov edx, dword [ebp - 0xb30]
push edx
lea eax, [ebp - 0x218]
push eax
push 0x27526c38
push 0x27526bb8
push 3
call fcn.27595fd0
add esp, 0x14
lea ecx, [ebp - 0xb30]
push ecx
lea edx, [ebp - 0xa18]
push edx
call fcn.2759a030
call fcn.27595010
test al, al
je 0x27578889
mov eax, dword [ebp - 0xb30]
push eax
lea ecx, [ebp - 0xa18]
push ecx
push 0x27526b68
push 0x27526ae8
push 3
call fcn.27595fd0
add esp, 0x14
mov eax, dword [ebp - 0xb30]
add eax, 0xfffffff0
mov byte [ebp - 4], 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x275788af
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.27595010
test al, al
je 0x275788cc
push 0x27526a88
push 0x27526a08
push 1
call fcn.27595fd0
add esp, 0xc
push 0
lea ecx, [ebp - 0xa18]
push ecx
call fcn.2759da80
test eax, eax
mov dword [ebp - 0xb28], eax
jge 0x2757890a
call fcn.27595010
test al, al
je 0x27578911
mov edx, dword [ebp - 0xb28]
push edx
push 0x27526938
push 0x275268b8
push 0
call fcn.27595fd0
add esp, 0x10
jmp 0x27578911
mov byte [0x275bb990], 1
call fcn.27595010
test al, al
je 0x2757892e
push 0x27526868
push 0x275267e8
push 1
call fcn.27595fd0
add esp, 0xc
lea ecx, [edi + 0xc0]
call fcn.2756fb60
test eax, eax
mov dword [ebp - 0xb28], eax
jl 0x275789a2
call fcn.27595010
test al, al
je 0x27578960
push 0x27526798
push 0x27526718
push 1
call fcn.27595fd0
add esp, 0xc
mov ecx, edi
call fcn.27570380
test eax, eax
mov dword [ebp - 0xb28], eax
jge 0x27578a2b
call fcn.27595010
test al, al
je 0x27578999
mov eax, dword [ebp - 0xb28]
push eax
push 0x275266b0
push 0x27526630
push 0
call fcn.27595fd0
add esp, 0x10
cmp dword [ebp - 0xb28], 0
jge 0x275789cd
call fcn.27595010
test al, al
je 0x275789c6
mov ecx, dword [ebp - 0xb28]
push ecx
push 0x275265d8
push 0x27526558
push 0
call fcn.27595fd0
add esp, 0x10
mov ecx, edi
call fcn.27571410
mov eax, dword [ebp - 0xb34]
mov esi, dword [ebp - 0xb28]
add eax, 0xfffffff0
mov byte [ebp - 4], 3
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x275789f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0xb24]
mov dword [ebp - 4], 0xffffffff
call fcn.2753a430
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.2757f388
mov esp, ebp
pop ebp
ret 0x10
call fcn.27595010
test al, al
je 0x27578a48
push 0x27526510
push 0x27526490
push 1
call fcn.27595fd0
add esp, 0xc
mov eax, dword [edi + 0xbc]
push eax
lea ecx, [edi + 0x13c]
call fcn.275a01e0
test eax, eax
mov dword [ebp - 0xb28], eax
jl 0x275789a2
call fcn.27595010
test al, al
je 0x27578a85
push 0x27526440
push 0x275263c0
push 1
call fcn.27595fd0
add esp, 0xc
mov ecx, dword [ebp - 0xb2c]
mov edx, dword [ebp + 0x10]
push ecx
push 0x275bbc68
push edx
push ebx
call fcn.2759c080
mov ecx, eax
call fcn.2759d4c0
test eax, eax
mov dword [ebp - 0xb28], eax
jl 0x275789a2
lea eax, [ebp - 0xb34]
push eax
push 0x275256f0
call fcn.2759c080
mov ecx, eax
call fcn.2759bdd0
mov dword [ebp - 0xb28], eax
call fcn.27595010
test al, al
je 0x27578af2
mov ecx, dword [ebp - 0xb34]
push ecx
push 0x27526370
push 0x275262f0
push 3
call fcn.27595fd0
add esp, 0x10
cmp dword [ebp - 0xb28], 0
jl 0x275789a2
push 0x38
lea edx, [ebp - 0xb70]
push 0
push edx
call fcn.2757fdd0
mov eax, dword [ebp - 0xb34]
add esp, 0xc
lea edx, [ebp - 0xb74]
push edx
mov esi, 1
mov dword [ebp - 0xb74], 0x3c
mov dword [ebp - 0xb60], esi
mov dword [ebp - 0xb44], esi
mov ecx, dword [eax - 0xc]
push 0
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
jne 0x27578b7b
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x27578b64
call esi
mov dword [ebp - 0xb28], eax
jmp 0x27578999
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0xb28], eax
jmp 0x27578999
mov eax, dword [ebp - 0xb64]
test eax, eax
je 0x27578b95
mov ecx, dword [ebp - 0xb60]
push ecx
push eax
lea ecx, [edi + 0x30]
call fcn.27538e90
mov eax, dword [ebp - 0xb48]
test eax, eax
je 0x27578baf
mov edx, dword [ebp - 0xb44]
push edx
push eax
lea ecx, [edi + 0x34]
call fcn.27538e90
mov ax, word [ebp - 0xb5c]
mov word [edi + 0x38], ax
call fcn.27570f20
test eax, eax
jne 0x27578bef
call fcn.27595010
test al, al
je 0x27578be0
push 0x275262c4
push 0x27526248
push 0
call fcn.27595fd0
add esp, 0xc
mov dword [ebp - 0xb28], 0x80048301
jmp 0x275789a2
call fcn.27595010
test al, al
je 0x27578c0b
push 0x275261e8
push 0x27526168
push esi
call fcn.27595fd0
add esp, 0xc
call fcn.2759c080
cmp byte [eax + 0x71], 0
jne 0x27578c2f
lea ecx, [edi + 0x154]
call fcn.2755cee0
test eax, eax
mov dword [ebp - 0xb28], eax
jl 0x275789a2
call fcn.27595010
test al, al
je 0x27578c4b
push 0x27526124
push 0x275260a8
push esi
call fcn.27595fd0
add esp, 0xc
lea ecx, [edi + 0x3c]
call fcn.27557b90
test eax, eax
mov dword [ebp - 0xb28], eax
jl 0x275789a2
call fcn.27595010
test al, al
je 0x27578c7d
push 0x2752607c
push 0x27526000
push esi
call fcn.27595fd0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
mov dword [edi + 0x2c8], eax
jne 0x27578cd3
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x27578c9e
call esi
jmp 0x27578caa
call esi
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 0xb28], eax
call fcn.27595010
test al, al
je 0x27578999
mov ecx, dword [ebp - 0xb28]
push ecx
push 0x27525fa8
push 0x27525f28
jmp 0x2757898f
call fcn.27595010
test al, al
je 0x27578cf6
mov edx, dword [edi + 0x2c8]
push edx
push 0x27525f04
push 0x27525e88
push esi
call fcn.27595fd0
add esp, 0x10
call fcn.27595010
test al, al
je 0x27578d12
push 0x27525e38
push 0x27525db8
push esi
call fcn.27595fd0
add esp, 0xc
lea ecx, [edi + 0x108]
call fcn.2757d670
test eax, eax
mov dword [ebp - 0xb28], eax
jge 0x275789cd
call fcn.27595010
test al, al
je 0x27578d4f
mov eax, dword [ebp - 0xb28]
push eax
push 0x27525d50
push 0x27525cd0
push 0
call fcn.27595fd0
add esp, 0x10
mov dword [ebp - 0xb28], 0
jmp 0x275789cd