Function at 0x446530
Capabilities:
Create thread

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 0x4ddc9c
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x130
mov eax, dword [0x508040]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
call fcn.0045de90
mov esi, eax
test esi, esi
je 0x446fd9
mov edx, dword [0x57edfc]
mov eax, closesocket
mov edi, dword [0x57ed14]
sub eax, edx
cmp eax, edi
jb 0x446ffa
cmp dword [0x57ee00], 0xf
mov ecx, 0x57edec
push edi
cmova ecx, dword [0x57edec]
mov eax, 0x57ed04
cmp dword [0x57ed18], 0xf
cmova eax, dword [0x57ed04]
push eax
push edx
push ecx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x68]
call fcn.0044c1e0
push 0x57ef0c
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 0
call fcn.00442880
mov dword [ebp - 0x28], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x38], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x28], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 0x57ee94
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 1
call fcn.00442880
mov dword [ebp - 0xd0], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0xcc], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xe0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xd0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 0x57ed74
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 2
call fcn.00442880
mov dword [ebp - 0x88], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x84], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x98], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x88], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0xf
jbe 0x44670f
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x446705
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446fff
push ecx
push edx
call fcn.004af3d3
add esp, 8
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0xf
mov byte [ebp - 0xe0], 0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x24]
cmp ecx, 0xf
jbe 0x446762
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x446758
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446fff
push ecx
push edx
call fcn.004af3d3
add esp, 8
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x54]
cmp ecx, 0xf
jbe 0x4467ac
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4467a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446fff
push ecx
push edx
call fcn.004af3d3
add esp, 8
cmp dword [ebp - 0x84], 0xf
lea eax, [ebp - 0x98]
mov dword [ebp - 0x58], 0
cmova eax, dword [ebp - 0x98]
push eax
push 0x2712
push esi
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
call fcn.004627a0
add esp, 0xc
push 0x443f70
push 0x4e2b
push esi
call fcn.004627a0
add esp, 0xc
push 0x57ed68
push 0x2711
push esi
call fcn.004627a0
add esp, 0xc
push esi
call fcn.0045def0
mov edi, eax
add esp, 4
test edi, edi
jne 0x447004
cmp dword [0x57ed68], 0xffffffff
jne 0x446889
push esi
mov dword [0x57ed68], eax
call fcn.0045de50
mov ecx, dword [ebp - 0x84]
add esp, 4
cmp ecx, 0xf
jbe 0x44686b
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x446861
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4470e7
push ecx
push edx
call fcn.004af3d3
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.004af2b0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp dword [0x57ee60], 0xf
mov eax, 0x57ee4c
cmova eax, dword [0x57ee4c]
push eax
push 0
call fcn.0045e110
cmp dword [0x57ee18], 0xf
mov ecx, 0x57ee04
cmova ecx, dword [0x57ee04]
push ecx
push eax
call fcn.0045e110
cmp dword [0x57ee48], 0xf
mov ecx, 0x57ee34
cmova ecx, dword [0x57ee34]
push ecx
push eax
call fcn.0045e110
mov edx, dword [0x57ed68]
lea ecx, [ebp - 0x80]
add esp, 0x18
mov edi, eax
call fcn.004437b0
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 7
mov eax, closesocket
mov edx, dword [0x57edfc]
sub eax, edx
cmp eax, dword [0x57ed14]
jb 0x447033
cmp dword [0x57ee00], 0xf
mov ecx, 0x57edec
push dword [0x57ed14]
cmova ecx, dword [0x57edec]
mov eax, 0x57ed04
cmp dword [0x57ed18], 0xf
cmova eax, dword [0x57ed04]
push eax
push edx
push ecx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.0044c1e0
push 0x57ee7c
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 8
call fcn.00442880
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xe0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xd0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 9
lea eax, [ebp - 0xe0]
push dword [ebp - 0x20]
lea ecx, [ebp - 0xc8]
push eax
push dword [ebp - 0x20]
call fcn.0044c000
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0xf
jbe 0x4469d9
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4469cf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x447038
push ecx
push edx
call fcn.004af3d3
add esp, 8
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0xf
jbe 0x446a11
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x446a07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x447038
push ecx
push edx
call fcn.004af3d3
add esp, 8
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0xf
jbe 0x446a5b
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x446a51
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x447038
push ecx
push edx
call fcn.004af3d3
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0xa0], 0
movups xmmword [ebp - 0xb0], xmm0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0xc8]
cmp dword [ebp - 0xb4], 0xf
cmova eax, dword [ebp - 0xc8]
push eax
push 0x2712
push esi
call fcn.004627a0
add esp, 0xc
push edi
push 0x2727
push esi
call fcn.004627a0
add esp, 0xc
push 0x443f10
push 0x4e2b
push esi
call fcn.004627a0
add esp, 0xc
lea eax, [ebp - 0xb0]
push eax
push 0x2711
push esi
call fcn.004627a0
add esp, 0xc
push esi
call fcn.0045def0
add esp, 4
mov dword [ebp - 0x20], eax
push edi
test eax, eax
jne 0x44703d
call fcn.0045e190
add esp, 4
push esi
call fcn.0045de50
sub esp, 0x24
mov byte [ebp - 4], 0xf
mov eax, esp
lea edx, [ebp - 0xb0]
lea ecx, [ebp - 0x30]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.0044a430
add esp, 0x30
push 0x4fa304
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x10
call fcn.0044a560
push str.avatar_urls
mov ecx, eax
call fcn.0044a560
push 0x4fa318
mov ecx, eax
call fcn.0044a560
cmp byte [eax], 0
je 0x446c04
push 0x4fa304
lea ecx, [ebp - 0x30]
call fcn.0044a560
push str.avatar_urls
mov ecx, eax
call fcn.0044a560
push 0x4fa318
mov ecx, eax
call fcn.0044a560
push 0x20
mov edi, eax
call fcn.004af986
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 0x11
lea ecx, [esi + 8]
mov byte [esi], 1
push edi
mov dword [esi + 4], 0x57edd0
call fcn.00452ae0
mov dword [esi + 0x18], fcn.00443f90
mov dword [ebp - 0x20], esi
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x12
push eax
push 0
push esi
push 0x4531a0
push 0
push 0
call fcn.004c01b8
add esp, 0x18
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x4470c3
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x447076
push ecx
push eax
call fcn.004b1627
add esp, 8
test eax, eax
jne 0x44707d
mov byte [ebp - 4], 0x10
push 0x4fa304
lea ecx, [ebp - 0x30]
call fcn.0044a560
push str.username
mov ecx, eax
call fcn.0044a560
push eax
mov ecx, 0x57ed38
call fcn.0044f720
push 0x4fa304
lea ecx, [ebp - 0x30]
call fcn.0044a560
push str.user_id
mov ecx, eax
call fcn.0044a560
mov ecx, eax
call fcn.0044f200
push 0x4fa304
lea ecx, [ebp - 0x30]
mov dword [0x57ed68], eax
call fcn.0044a560
push str.is_staff
mov ecx, eax
call fcn.0044a560
mov ecx, eax
cmp byte [ecx], 4
jne 0x447084
mov al, byte [ecx + 8]
xorps xmm0, xmm0
push 0x4fa304
lea ecx, [ebp - 0x30]
mov byte [0x57ed6d], al
movq qword [ebp - 0x44], xmm0
mov dword [ebp - 0x3c], 0
call fcn.0044a560
push str.secondary_group_ids
mov ecx, eax
call fcn.0044a560
lea ecx, [ebp - 0x44]
push ecx
mov ecx, eax
call fcn.0044a7d0
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x15
push ecx
xorps xmm0, xmm0
mov dword [ebp - 0x6c], 0
lea eax, [ebp - 0xe0]
movq qword [ebp - 0x74], xmm0
movaps xmm0, xmmword [0x4fbaf0]
push eax
push ecx
lea ecx, [ebp - 0x74]
movups xmmword [ebp - 0xf0], xmm0
call fcn.00447190
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x16
push ecx
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
lea eax, [ebp - 0xc8]
movq qword [ebp - 0x5c], xmm0
movaps xmm0, xmmword [0x4fbae0]
push eax
push ecx
lea ecx, [ebp - 0x5c]
movups xmmword [ebp - 0xd8], xmm0
call fcn.00447190
mov byte [ebp - 4], 0x17
xor esi, esi
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x74]
sub eax, ecx
sar eax, 2
test eax, eax
je 0x446d6b
mov edx, dword [ebp - 0x40]
push dword [ecx + esi*4]
lea edi, [esi*4]
push edx
push dword [ebp - 0x44]
call fcn.004b1520
mov edx, dword [ebp - 0x40]
cmp eax, edx
jne 0x446d60
mov eax, dword [ebp - 0x70]
inc esi
mov ecx, dword [ebp - 0x74]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x446d34
jmp 0x446d6b
mov eax, dword [ebp - 0x5c]
mov eax, dword [edi + eax]
mov dword [0x57ed70], eax
push 4
call fcn.004af986
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [eax], fcn.004456a0
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0x18
push ecx
push 0
push eax
push 0x453220
push 0
push 0
call fcn.004c01b8
add esp, 0x18
mov dword [ebp - 0xe8], eax
test eax, eax
je 0x4470c3
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x4470d4
push ecx
push eax
call fcn.004b1627
add esp, 8
test eax, eax
jne 0x4470db
mov edx, dword [ebp - 0x5c]
mov dword [0x57ece8], 1
test edx, edx
je 0x446e25
mov ecx, dword [ebp - 0x54]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x446e06
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4470e2
push ecx
push edx
call fcn.004af3d3
add esp, 8
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov edx, dword [ebp - 0x74]
test edx, edx
je 0x446e71
mov ecx, dword [ebp - 0x6c]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x446e52
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4470e2
push ecx
push edx
call fcn.004af3d3
add esp, 8
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov edx, dword [ebp - 0x44]
test edx, edx
je 0x446ebd
mov ecx, dword [ebp - 0x3c]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x446e9e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4470e2
push ecx
push edx
call fcn.004af3d3
add esp, 8
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x30]
call fcn.004481e0
mov ecx, dword [ebp - 0x9c]
cmp ecx, 0xf
jbe 0x446eff
mov edx, dword [ebp - 0xb0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x446ef5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4470e7
push ecx
push edx
call fcn.004af3d3
add esp, 8
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
cmp ecx, 0xf
jbe 0x446f54
mov edx, dword [ebp - 0xc8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x446f4a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4470e7
push ecx
push edx
call fcn.004af3d3
add esp, 8
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
cmp ecx, 0xf
jbe 0x44686b
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x446861
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4470e7
jmp 0x446861
push str.Failed_to_initialize_CURL
lea ecx, [ebp - 0x100]
call fcn.004438c0
push 0x506630
lea eax, [ebp - 0x100]
push eax
call fcn.004b3094
call fcn.004301a0
call fcn.004bf6cd
push esi
call fcn.0045de50
add esp, 4
push edi
call fcn.0045e9a0
add esp, 4
lea ecx, [ebp - 0x10c]
push eax
call fcn.004438c0
push 0x506630
lea eax, [ebp - 0x10c]
push eax
call fcn.004b3094
call fcn.004301a0
call fcn.004bf6cd
call fcn.0045e190
add esp, 4
push esi
call fcn.0045de50
add esp, 4
push dword [ebp - 0x20]
call fcn.0045e9a0
add esp, 4
lea ecx, [ebp - 0x118]
push eax
call fcn.004438c0
push 0x506630
lea eax, [ebp - 0x118]
push eax
call fcn.004b3094
push 1
call fcn.004b10e5
push 1
call fcn.004b10e5
call fcn.00449800
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0xe0]
lea eax, [ebp - 0x20]
push eax
call fcn.004575b0
add esp, 4
push ecx
push eax
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x14
call fcn.00457380
add esp, 8
lea eax, [ebp - 0x140]
push 0x506620
push eax
call fcn.004b3094
push 6
mov dword [ebp - 0xe4], 0
call fcn.004b10e5
push 1
call fcn.004b10e5
push 1
call fcn.004b10e5
call fcn.004bf6cd
call fcn.004bf6cd
int3