Function at 0x10022d10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x44
push ebx
push ebp
mov ebp, ecx
xor ebx, ebx
push esi
mov dword [esp + 0x28], ebx
push edi
cmp dword [ebp + 0xdc], 0xa
jb 0x10022d60
push 0xa
push str.attachment__b
push dword [ebp + 0xd8]
call dword [sym.imp.msvcrt.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x10022d60
cmp dword [ebp + 0xdc], 0xa
je 0x10022d5c
mov eax, dword [ebp + 0xd8]
movsx eax, byte [eax + 0xa]
xor eax, 0x2f
test al, al
jne 0x10022d60
mov al, 1
jmp 0x10022d62
xor al, al
mov edi, dword [sym.imp.msvcrt.dll_free]
mov byte [ebp + 0xc4], al
cmp dword [ebp + 0xc], ebx
je 0x10022d80
test dword [ebp + 0x74], 0x2080
jne 0x10022e56
mov eax, dword [ebp + 4]
lea edx, [ebp + 0xd8]
lea ecx, [esp + 0x1c]
mov eax, dword [eax + 0xc]
push dword [eax + ebp + 0x9c]
push str.filename
call fcn.100095b0
mov esi, eax
add esp, 8
mov eax, dword [ebp + 8]
cmp eax, 0x1005bdb0
je 0x10022db6
push eax
call edi
add esp, 4
mov eax, dword [esi]
mov dword [ebp + 8], eax
mov eax, dword [esi + 4]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x10], eax
mov al, byte [esi + 0xc]
mov byte [ebp + 0x14], al
mov dword [esi + 8], ebx
mov dword [esi + 4], ebx
mov ebx, 1
mov dword [esi], 0x1005bdb0
cmp dword [ebp + 0xc], 0
jne 0x10022e56
mov eax, dword [ebp + 4]
lea edx, [ebp + 0x7c]
lea ecx, [esp + 0x30]
mov eax, dword [eax + 0xc]
add edx, eax
push dword [eax + ebp + 0x9c]
push str.name
call fcn.100095b0
mov esi, eax
add esp, 8
mov eax, dword [ebp + 8]
cmp eax, 0x1005bdb0
je 0x10022e19
push eax
call edi
add esp, 4
mov eax, dword [esi]
mov ebx, 3
mov dword [ebp + 8], eax
mov eax, dword [esi + 4]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x10], eax
mov al, byte [esi + 0xc]
mov byte [ebp + 0x14], al
mov dword [esi], 0x1005bdb0
mov dword [esi + 8], 0
mov dword [esi + 4], 0
cmp dword [ebp + 0xc], 0
jne 0x10022e56
mov byte [esp + 0x12], 0
jmp 0x10022e60
mov byte [esp + 0x12], 1
test bl, 2
je 0x10022e74
mov eax, dword [esp + 0x30]
and ebx, 0xfffffffd
cmp eax, 0x1005bdb0
je 0x10022e74
push eax
call edi
add esp, 4
test bl, 1
je 0x10022e8d
mov eax, dword [esp + 0x1c]
and ebx, 0xfffffffe
cmp eax, 0x1005bdb0
je 0x10022e8d
push eax
call edi
add esp, 4
mov ecx, dword [ebp + 4]
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + ebp + 0xe8]
test edx, edx
je 0x10022eae
mov eax, dword [edx + 0xc]
add edx, 0x5c
mov eax, dword [eax + 8]
add edx, eax
mov eax, dword [ecx + 8]
jmp 0x10022eb6
mov eax, dword [ecx + 8]
lea edx, [ebp + 0x54]
add edx, eax
mov ecx, dword [0x1005be08]
push 1
push dword [eax + ebp + 0x44]
push edx
push dword [eax + ebp + 0x28]
lea ecx, [ecx + 0x1134]
call fcn.1003bb30
mov ecx, dword [ebp + 4]
mov ecx, dword [ecx + 8]
mov dword [ecx + ebp + 0xa4], eax
mov eax, dword [ebp + 4]
mov edi, dword [eax + 8]
mov esi, dword [edi + ebp + 0xa4]
test esi, esi
je 0x10023137
mov esi, dword [esi + 0x14]
mov ecx, dword [edi + ebp + 0xa0]
cmp esi, ecx
je 0x10022f45
test ecx, ecx
je 0x10022f27
mov eax, dword [ecx + 0xc]
add ecx, 0x14
mov eax, dword [eax + 8]
add ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add dword [eax + ecx], 0xffffffff
jne 0x10022f27
add ecx, 0xfffffff8
je 0x10022f27
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + ebp + 0xa0], esi
test esi, esi
je 0x10022f45
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + esi + 0x14]
add ecx, esi
mov eax, dword [eax + 4]
inc dword [eax + ecx + 0x14]
mov eax, dword [ebp + 4]
mov edi, dword [eax + 8]
mov eax, dword [edi + ebp + 0xa4]
mov esi, dword [eax + 0x14]
cmp byte [esi + 0x16], 0
jne 0x10022f68
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 8]
mov esi, dword [eax + esi + 0xa4]
mov ecx, dword [edi + ebp + 0x9c]
cmp esi, ecx
je 0x10022fb6
test ecx, ecx
je 0x10022f98
mov eax, dword [ecx + 0xc]
add ecx, 0x14
mov eax, dword [eax + 8]
add ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add dword [eax + ecx], 0xffffffff
jne 0x10022f98
add ecx, 0xfffffff8
je 0x10022f98
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + ebp + 0x9c], esi
test esi, esi
je 0x10022fb6
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + esi + 0x14]
add ecx, esi
mov eax, dword [eax + 4]
inc dword [eax + ecx + 0x14]
mov eax, dword [ebp + 4]
mov eax, dword [eax + 8]
mov eax, dword [eax + ebp + 0xa4]
mov ecx, dword [eax + 0x58]
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x1002300d
lea edi, [eax + eax]
lea eax, [edi + 2]
cmp dword [ebp + 0x30], eax
jae 0x10022fed
push eax
lea ecx, [ebp + 0x28]
call fcn.100049c0
test eax, eax
je 0x1002300d
mov eax, dword [ebp + 0x28]
mov ecx, dword [esp + 0x2c]
push edi
push dword [esp + 0x20]
mov dword [ebp + 0x2c], ecx
xor ecx, ecx
push eax
mov word [edi + eax], cx
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x1002301c
mov eax, dword [ebp + 0x28]
xor ecx, ecx
mov dword [ebp + 0x2c], 0
mov word [eax], cx
mov eax, dword [ebp + 4]
mov edi, dword [eax + 8]
mov eax, dword [edi + ebp + 0xa4]
mov ecx, dword [edi + ebp + 0xa8]
mov esi, dword [eax + 0x78]
cmp esi, ecx
je 0x10023063
test ecx, ecx
je 0x1002304e
mov eax, dword [ecx + 4]
mov eax, dword [eax + 4]
add dword [eax + ecx + 4], 0xffffffff
jne 0x1002304e
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + ebp + 0xa8], esi
test esi, esi
je 0x10023063
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
inc dword [eax + esi + 4]
mov ecx, dword [ebp + 4]
mov eax, dword [ecx + 8]
mov eax, dword [eax + ebp + 0xa4]
mov al, byte [eax + 0x24]
or byte [ebp + 0x83], al
mov eax, dword [ecx + 8]
mov eax, dword [eax + ebp + 0xa4]
mov al, byte [eax + 0x25]
or byte [ebp + 0x44], al
mov eax, dword [ecx + 8]
mov eax, dword [eax + ebp + 0xa4]
cmp dword [eax + 0x4c], 0
je 0x100230f1
cmp byte [esp + 0x12], 0
jne 0x100230f1
mov ecx, dword [eax + 0x48]
mov edi, dword [eax + 0x4c]
mov al, byte [eax + 0x54]
mov dword [esp + 0x2c], ecx
mov byte [ebp + 0x24], al
test edi, edi
jle 0x100230e4
lea eax, [edi + 1]
cmp dword [ebp + 0x20], eax
jae 0x100230cd
push eax
lea ecx, [ebp + 0x18]
call fcn.100035c0
test eax, eax
je 0x100230e4
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebp + 0x18]
push edi
push ecx
mov dword [ebp + 0x1c], edi
push eax
mov byte [eax + edi], 0
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x100230f1
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x1c], 0
mov byte [eax], 0
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + ebp + 0xa4]
lea esi, [ecx + ebp]
cmp dword [edx + 0x6c], 0
je 0x10023111
movzx eax, byte [edx + 0x35]
push eax
lea eax, [edx + 0x68]
jmp 0x1002312e
mov ecx, dword [ecx + ebp + 0xa0]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 8]
add ecx, eax
movzx eax, byte [ecx + 0x9c]
push eax
lea eax, [ecx + 0x8c]
push eax
lea ecx, [esi + 4]
call fcn.100216a0
mov edx, dword [ebp + 4]
mov ecx, dword [edx + 8]
cmp dword [ecx + ebp + 0xa0], 0
jne 0x100231bf
push dword [ecx + ebp + 0x44]
mov eax, dword [edx + 0xc]
add eax, 0xc
add eax, ebp
push eax
push dword [ecx + ebp + 0x28]
mov ecx, dword [0x1005be08]
lea ecx, [ecx + 0x1134]
call fcn.1003b4f0
mov ecx, dword [ebp + 4]
mov esi, eax
mov edi, dword [ecx + 8]
mov ecx, dword [edi + ebp + 0xa0]
cmp esi, ecx
je 0x100231bf
test ecx, ecx
je 0x100231a1
mov eax, dword [ecx + 0xc]
add ecx, 0x14
mov eax, dword [eax + 8]
add ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add dword [eax + ecx], 0xffffffff
jne 0x100231a1
add ecx, 0xfffffff8
je 0x100231a1
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + ebp + 0xa0], esi
test esi, esi
je 0x100231bf
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + esi + 0x14]
add ecx, esi
mov eax, dword [eax + 4]
inc dword [eax + ecx + 0x14]
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + 8]
cmp dword [edx + ebp + 0x9c], 0
jne 0x100232d5
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + ebp + 0xe8]
add eax, ebp
test ecx, ecx
je 0x10023218
mov eax, dword [ecx + 0xc]
mov edi, dword [eax + 8]
mov edi, dword [edi + ecx + 0xa4]
test edi, edi
je 0x10023207
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + edi + 0x14]
add ecx, edi
mov eax, dword [eax + 4]
inc dword [eax + ecx + 0x14]
mov esi, dword [esp + 0x2c]
mov eax, edi
mov dword [esp + 0x14], eax
mov edx, 4
jmp 0x1002325d
push dword [edx + ebp + 0x44]
mov ecx, dword [0x1005be08]
add eax, 0xc
push eax
push dword [edx + ebp + 0x28]
lea ecx, [ecx + 0x1134]
call fcn.1003b620
mov esi, eax
test esi, esi
je 0x1002324e
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + esi + 0x14]
add ecx, esi
mov eax, dword [eax + 4]
inc dword [eax + ecx + 0x14]
mov edi, dword [esp + 0x2c]
mov eax, esi
mov dword [esp + 0x14], esi
mov edx, 8
mov ecx, dword [ebp + 4]
or edx, ebx
mov dword [esp + 0x1c], edx
mov ebx, edx
mov ecx, dword [ecx + 8]
add ecx, 0x9c
add ecx, ebp
mov dword [esp + 0x2c], ecx
mov ecx, dword [ecx]
cmp eax, ecx
je 0x100232dd
test ecx, ecx
je 0x100232b5
mov ecx, dword [ecx + 0xc]
mov edx, dword [esp + 0x2c]
mov ecx, dword [ecx + 8]
mov ebx, dword [edx]
mov edx, dword [esp + 0x1c]
add ebx, ecx
mov ecx, dword [ebx + 0x14]
mov ecx, dword [ecx + 4]
add dword [ecx + ebx + 0x14], 0xffffffff
jne 0x100232b5
lea ecx, [ebx + 0xc]
test ecx, ecx
je 0x100232b5
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov ebx, edx
mov dword [ecx], eax
test eax, eax
je 0x100232dd
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 8]
add ecx, eax
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 4]
inc dword [eax + ecx + 0x14]
jmp 0x100232dd
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x2c]
test bl, 8
je 0x1002330a
and ebx, 0xfffffff7
test esi, esi
je 0x1002330a
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 8]
add ecx, 0x14
add ecx, esi
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add dword [eax + ecx], 0xffffffff
jne 0x1002330a
add ecx, 0xfffffff8
je 0x1002330a
mov eax, dword [ecx]
push 1
call dword [eax]
test bl, 4
je 0x10023337
and ebx, 0xfffffffb
test edi, edi
je 0x10023337
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 8]
add ecx, 0x14
add ecx, edi
mov eax, dword [ecx]
mov eax, dword [eax + 4]
add dword [eax + ecx], 0xffffffff
jne 0x10023337
add ecx, 0xfffffff8
je 0x10023337
mov eax, dword [ecx]
push 1
call dword [eax]
mov cl, byte [ebp + 0x70]
movzx eax, cl
sub eax, 5
je 0x10023d9b
sub eax, 1
je 0x10023c8a
sub eax, 1
je 0x10023c2d
mov esi, dword [ebp + 4]
mov edx, dword [esi + 8]
cmp byte [edx + ebp + 0x3d], 0
jne 0x10023563
cmp cl, 1
je 0x10023384
cmp cl, 2
jne 0x10023563
cmp byte [ebp + 0xc4], 0
jne 0x10023563
mov eax, dword [esi + 0xc]
push dword [edx + ebp + 0x44]
mov ecx, dword [0x1005be08]
add eax, 0xc
add eax, ebp
add ecx, 0x1134
push eax
push dword [edx + ebp + 0x28]
call fcn.1003b4f0
test eax, eax
je 0x10023475
cmp byte [eax + 0x19], 0
je 0x10023475
lea esi, [ebp + 0x18]
mov edx, dword [0x1005be08]
push ecx
mov ecx, esi
lea edx, [edx + 0x11a8]
call fcn.1000aa90
add esp, 4
test al, al
je 0x10023551
mov edx, dword [0x1005be08]
push ecx
lea ecx, [ebp + 0xac]
lea edx, [edx + 0x11f8]
call fcn.1000aa90
add esp, 4
test al, al
jne 0x10023d4e
mov eax, dword [ebp + 4]
mov eax, dword [eax + 8]
mov ecx, dword [eax + ebp + 0x9c]
test ecx, ecx
je 0x100234f7
mov eax, dword [ecx + 0xc]
or ebx, 0x10
push 0
mov esi, dword [eax + 8]
mov al, byte [esi + ecx + 0x68]
add esi, ecx
lea ecx, [esp + 0x18]
mov byte [esp + 0x17], al
lea edx, [esi + 0x5c]
call fcn.10008ab0
mov ecx, dword [esi + 0x5c]
add esp, 4
add ecx, dword [eax]
mov edi, dword [eax + 4]
mov dword [esp + 0x2c], ecx
test edi, edi
jle 0x100234b1
lea eax, [edi + 0x10]
push eax
mov dword [esp + 0x20], eax
call dword [sym.imp.msvcrt.dll_malloc]
mov esi, eax
add esp, 4
test esi, esi
je 0x100234b1
push edi
push dword [esp + 0x30]
mov byte [edi + esi], 0
push esi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x28]
add esp, 0xc
jmp 0x100234ba
cmp dword [ebp + 0x1c], 3
jne 0x10023563
mov eax, dword [sym.imp.msvcrt.dll__strnicmp]
lea esi, [ebp + 0x18]
push 3
push 0x10056930
push dword [esi]
call eax
add esp, 0xc
test eax, eax
jne 0x10023563
cmp byte [ebp + 0x70], 1
jne 0x100233bb
mov al, 6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
xor eax, eax
mov esi, 0x1005bdb0
xor edi, edi
mov edx, dword [0x1005be08]
mov dword [esp + 0x38], eax
mov al, byte [esp + 0x13]
push ecx
lea edx, [edx + 0x11f8]
mov byte [esp + 0x41], 1
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], edi
mov byte [esp + 0x40], al
call fcn.1000aa90
add esp, 4
test al, al
je 0x100234fb
mov byte [esp + 0x13], 1
jmp 0x10023500
mov esi, dword [esp + 0x30]
mov byte [esp + 0x13], 0
test bl, 0x10
je 0x1002351a
and ebx, 0xffffffef
cmp esi, 0x1005bdb0
je 0x1002351a
push esi
call dword [sym.imp.msvcrt.dll_free]
add esp, 4
cmp byte [esp + 0x13], 0
jne 0x10023d4e
mov eax, dword [ebp + 4]
mov byte [ebp + 0x70], 4
mov byte [ebp + 0x81], 1
mov eax, dword [eax + 8]
and dword [eax + ebp + 0x98], 0xffffffe7
mov eax, dword [ebp + 4]
mov eax, dword [eax + 8]
or dword [eax + ebp + 0x98], 0x104
jmp 0x10023563
mov eax, dword [0x1005be08]
cmp byte [eax + 0x117f], 0
jne 0x10023d4e
mov esi, dword [ebp + 0xb0]
sub esi, 0xb
mov edi, dword [sym.imp.msvcrt.dll__strnicmp]
js 0x100235ab
mov eax, dword [ebp + 0xac]
push 0xb
add eax, esi
push 0x10056b92
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x100235ab
test esi, esi
je 0x10023642
mov eax, dword [ebp + 0xac]
movsx eax, byte [eax + esi - 1]
xor eax, 0x2e
test al, al
je 0x10023642
mov esi, dword [ebp + 0xb0]
sub esi, 0xf
js 0x100235e5
mov eax, dword [ebp + 0xac]
push 0xf
add eax, esi
push 0x10056ba2
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x100235e5
test esi, esi
je 0x10023642
mov eax, dword [ebp + 0xac]
movsx eax, byte [eax + esi - 1]
xor eax, 0x2e
test al, al
je 0x10023642
cmp dword [ebp + 0xb0], 0x10
jne 0x10023604
push 0x10
push str.drive.google.com
push dword [ebp + 0xac]
call edi
add esp, 0xc
test eax, eax
je 0x10023642
cmp dword [ebp + 0xb0], 0xf
jne 0x10023623
push 0xf
push str.docs.google.com
push dword [ebp + 0xac]
call edi
add esp, 0xc
test eax, eax
je 0x10023642
cmp dword [ebp + 0xb0], 0x16
jne 0x1002364e
push 0x16
push str.youtube.googleapis.com
push dword [ebp + 0xac]
call edi
add esp, 0xc
test eax, eax
jne 0x1002364e
mov ecx, ebp
call fcn.1003d230
jmp 0x10023a11
mov esi, dword [ebp + 0xb0]
sub esi, 0xc
js 0x10023688
mov eax, dword [ebp + 0xac]
push 0xc
add eax, esi
push 0x10056bf2
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x10023688
test esi, esi
je 0x100236e6
mov eax, dword [ebp + 0xac]
movsx eax, byte [eax + esi - 1]
xor eax, 0x2e
test al, al
je 0x100236e6
mov esi, dword [ebp + 0xb0]
sub esi, 0xd
js 0x100236c2
mov eax, dword [ebp + 0xac]
push 0xd
add eax, esi
push 0x10056c02
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x100236c2
test esi, esi
je 0x100236e6
mov eax, dword [ebp + 0xac]
movsx eax, byte [esi + eax - 1]
xor eax, 0x2e
test al, al
je 0x100236e6
mov ecx, dword [ebp + 0xb0]
sub ecx, 0xa
js 0x100236fd
mov eax, dword [ebp + 0xac]
push 0xa
add eax, ecx
push str..fbcdn.net
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x100236fd
mov ecx, ebp
call fcn.1001b810
cmp al, 6
je 0x10023a11
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov esi, dword [ebp + 0xb0]
sub esi, 0xd
js 0x10023737
mov eax, dword [ebp + 0xac]
push 0xd
add eax, esi
push 0x10056c12
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x10023737
test esi, esi
je 0x1002375b
mov eax, dword [ebp + 0xac]
movsx eax, byte [esi + eax - 1]
xor eax, 0x2e
test al, al
je 0x1002375b
mov ecx, dword [ebp + 0xb0]
sub ecx, 0x11
js 0x10023772
mov eax, dword [ebp + 0xac]
push 0x11
add eax, ecx
push str..cdninstagram.com
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x10023772
mov ecx, ebp
call fcn.10028030
cmp al, 6
je 0x10023a11
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov esi, dword [ebp + 0xb0]
sub esi, 0xc
js 0x100237ac
mov eax, dword [ebp + 0xac]
push 0xc
add eax, esi
push 0x10056c36
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x100237ac
test esi, esi
je 0x100237f4
mov eax, dword [ebp + 0xac]
movsx eax, byte [eax + esi - 1]
xor eax, 0x2e
test al, al
je 0x100237f4
mov ecx, dword [ebp + 0xb0]
sub ecx, 0x14
js 0x100237d0
mov eax, dword [ebp + 0xac]
push 0x14
add eax, ecx
push str._vimeo.akamaized.net
push eax
call edi
add esp, 0xc
test eax, eax
je 0x100237f4
mov ecx, dword [ebp + 0xb0]
sub ecx, 0x17
js 0x1002380b
mov eax, dword [ebp + 0xac]
push 0x17
add eax, ecx
push str._adaptive.akamaized.net
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x1002380b
mov ecx, ebp
call fcn.1003abd0
cmp al, 6
je 0x10023a11
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov esi, dword [ebp + 0xb0]
sub esi, 5
js 0x1002385a
mov eax, dword [ebp + 0xac]
push 5
add eax, esi
push 0x10056c76
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x1002385a
test esi, esi
je 0x10023845
mov eax, dword [ebp + 0xac]
movsx eax, byte [eax + esi - 1]
xor eax, 0x2e
test al, al
jne 0x1002385a
call fcn.1002b380
cmp al, 6
je 0x10023a11
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ecx, dword [ebp + 0xb0]
sub ecx, 0x15
js 0x100238df
mov eax, dword [ebp + 0xac]
push 0x15
add eax, ecx
push str._hls_media.sndcdn.com
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x100238df
cmp dword [ebp + 0x1c], 3
jne 0x100238df
push 3
push 0x10056c94
push dword [ebp + 0x18]
call edi
add esp, 0xc
test eax, eax
jne 0x100238df
mov eax, dword [ebp + 4]
lea edx, [ebp + 0x54]
lea ecx, [esp + 0x1c]
mov eax, dword [eax + 8]
add edx, eax
call fcn.10008b60
mov ecx, dword [eax]
test ecx, ecx
js 0x100238df
mov eax, dword [ebp + 4]
mov edx, dword [eax + 8]
lea eax, [ecx + 7]
cmp eax, dword [edx + ebp + 0x58]
ja 0x100238df
mov eax, dword [edx + ebp + 0x54]
push 7
add eax, ecx
push str._media_
push eax
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x10023d4e
mov esi, dword [ebp + 0xb0]
sub esi, 0xa
js 0x10023919
mov eax, dword [ebp + 0xac]
push 0xa
add eax, esi
push 0x10056ca2
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x10023919
test esi, esi
je 0x1002395f
mov eax, dword [ebp + 0xac]
movsx eax, byte [eax + esi - 1]
xor eax, 0x2e
test al, al
je 0x1002395f
mov esi, dword [ebp + 0xb0]
sub esi, 8
js 0x10023a11
mov eax, dword [ebp + 0xac]
push 8
add eax, esi
push 0x10056cb2
push eax
call edi
add esp, 0xc
test eax, eax
jne 0x10023a11
test esi, esi
je 0x1002395f
mov eax, dword [ebp + 0xac]
movsx eax, byte [eax + esi - 1]
xor eax, 0x2e
test al, al
jne 0x10023a11
mov eax, dword [ebp + 4]
lea edx, [ebp + 0x54]
push 0x10056cbc
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], 0x1005bdb0
mov dword [esp + 0x38], 0
mov eax, dword [eax + 8]
add edx, eax
mov dword [esp + 0x3c], 0
mov word [esp + 0x40], 0
call fcn.10008ee0
mov eax, dword [esp + 0x38]
add esp, 4
mov esi, dword [esp + 0x30]
test eax, eax
je 0x100239ff
push 0xa
push eax
lea edx, [esp + 0x34]
mov ecx, esi
call fcn.1000af20
add esp, 8
test eax, eax
je 0x100239ff
cmp eax, dword [esp + 0x34]
jae 0x100239ff
cmp byte [esi + eax], 0x2d
jne 0x100239ff
cmp dword [esp + 0x2c], 0x100
jbe 0x100239f1
cmp esi, 0x1005bdb0
je 0x10023d4e
push esi
call dword [sym.imp.msvcrt.dll_free]
add esp, 4
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov dword [ebp + 0x38], 0
mov dword [ebp + 0x3c], 0
cmp esi, 0x1005bdb0
je 0x10023a11
push esi
call dword [sym.imp.msvcrt.dll_free]
add esp, 4
mov eax, dword [ebp + 4]
mov eax, dword [eax + 8]
mov ecx, dword [eax + ebp + 0xa0]
test ecx, ecx
je 0x10023a30
push ebp
call fcn.1001ff30
cmp al, 6
jne 0x10023da7
mov eax, dword [ebp + 4]
mov eax, dword [eax + 8]
mov ecx, dword [eax + ebp + 0x9c]
test ecx, ecx
je 0x10023a58
cmp ecx, dword [eax + ebp + 0xa0]
je 0x10023a58
push ebp
call fcn.1001ff30
cmp al, 6
jne 0x10023da7
cmp byte [ebp + 0x81], 0
je 0x10023afc
mov ecx, dword [0x1005be08]
push ebp
call fcn.10013fe0
test al, al
je 0x10023d4e
mov eax, dword [ebp + 4]
mov eax, dword [eax + 8]
cmp dword [eax + ebp + 0x88], 0
jne 0x10023ae0
cmp dword [ebp + 0xc], 0
jne 0x10023ae0
lea edx, [ebp + 0x54]
add edx, eax
lea ecx, [esp + 0x40]
call fcn.10008c00
mov esi, eax
mov eax, dword [ebp + 8]
cmp eax, 0x1005bdb0
je 0x10023ab3
push eax
call dword [sym.imp.msvcrt.dll_free]
add esp, 4
mov eax, dword [esi]
mov dword [ebp + 8], eax
mov eax, dword [esi + 4]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 8]
mov dword [ebp + 0x10], eax
mov al, byte [esi + 0xc]
mov byte [ebp + 0x14], al
mov dword [esi], 0x1005bdb0
mov dword [esi + 8], 0
mov dword [esi + 4], 0
jmp 0x10023ae5
test bl, 0x20
je 0x10023b59
mov eax, dword [esp + 0x40]
cmp eax, 0x1005bdb0
je 0x10023b59
push eax
call dword [sym.imp.msvcrt.dll_free]
add esp, 4
jmp 0x10023b59
test dword [ebp + 0x74], 0x10000
jne 0x10023b3d
cmp byte [esp + 0x12], 0
jne 0x10023b59
mov ecx, dword [ebp + 4]
mov eax, dword [ecx + 8]
test byte [eax + ebp + 0x3c], 1
je 0x10023b59
mov eax, dword [ecx + 0xc]
cmp dword [eax + ebp + 0x90], 0x18
jne 0x10023b59
push 0x18
push str.application_octet_stream
push dword [eax + ebp + 0x8c]
call edi
add esp, 0xc
test eax, eax
jne 0x10023b59
mov eax, dword [ebp + 4]
mov eax, dword [eax + 8]
and dword [eax + ebp + 0x98], 0xffffffeb
mov eax, dword [ebp + 4]
mov eax, dword [eax + 8]
or dword [eax + ebp + 0x98], 8
cmp dword [ebp + 0xc], 0
je 0x10023bd1
lea ecx, [ebp + 8]
call fcn.1000a9b0
cmp dword [ebp + 0x1c], 0
jne 0x10023bd1
mov esi, dword [ebp + 8]
lea edx, [ebp + 8]
mov bl, byte [ebp + 0x14]
lea ecx, [esp + 0x30]
push 0xffffffffffffffff
call fcn.100087a0
add esp, 4
mov edx, dword [eax + 4]
add esi, dword [eax]
mov dword [esp + 0x2c], edx
mov byte [ebp + 0x24], bl
test edx, edx
jle 0x10023bc4
lea eax, [edx + 1]
cmp dword [ebp + 0x20], eax
jae 0x10023bad
push eax
lea ecx, [ebp + 0x18]
call fcn.100035c0
test eax, eax
je 0x10023bc4
mov edx, dword [esp + 0x2c]
mov eax, dword [ebp + 0x18]
push edx
push esi
mov dword [ebp + 0x1c], edx
push eax
mov byte [eax + edx], 0
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x10023bd1
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x1c], 0
mov byte [eax], 0
cmp byte [ebp + 0x80], 0
je 0x10023c19
mov eax, dword [ebp + 4]
mov eax, dword [eax + 8]
test byte [eax + ebp + 0x98], 0x10
je 0x10023c19
cmp dword [ebp + 0x1c], 3
jne 0x10023c19
mov eax, dword [sym.imp.msvcrt.dll__strnicmp]
push 3
push 0x10056ce0
push dword [ebp + 0x18]
call eax
add esp, 0xc
test eax, eax
jne 0x10023c19
mov eax, dword [ebp + 4]
mov eax, dword [eax + 8]
or dword [eax + ebp + 0x98], 0x8000000
mov ecx, dword [0x1005be08]
push ebp
call fcn.100154a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, dword [ebp + 4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + ebp + 0xe8]
test eax, eax
je 0x10023c42
mov byte [eax + 0x19], 1
push 0x1c8
call dword [sym.imp.msvcrt.dll_malloc]
add esp, 4
test eax, eax
je 0x10023c7b
push 1
push 0
push 0
push ebp
mov ecx, eax
call fcn.1000b7d0
test eax, eax
je 0x10023da4
test eax, eax
mov byte [eax + 0x19], 1
setne al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
xor eax, eax
test eax, eax
setne al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ecx, dword [ebp + 4]
mov eax, dword [ecx + 0xc]
cmp dword [eax + ebp + 0x20], 0
lea esi, [eax + ebp]
je 0x10023d91
mov eax, dword [ecx + 8]
lea edx, [ebp + 0x54]
add edx, eax
lea ecx, [esi + 0x1c]
call fcn.10008880
test al, al
je 0x10023d91
mov ecx, dword [ebp + 4]
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov ecx, dword [eax + ebp + 0x20]
cmp ecx, dword [edx + ebp + 0x58]
jne 0x10023ce3
push ecx
push dword [edx + ebp + 0x54]
push dword [eax + ebp + 0x1c]
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x10023d91
mov eax, dword [ebp + 4]
mov ecx, dword [eax + 0xc]
add ecx, ebp
mov edx, dword [ecx + 0xe8]
test edx, edx
je 0x10023d58
mov eax, dword [edx + 0xc]
mov edi, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x1c]
mov esi, dword [eax + 0xc]
mov al, byte [ecx + 0x28]
add esi, edx
mov byte [esi + 0x30], al
test edi, edi
jle 0x10023d41
lea eax, [edi + 1]
cmp dword [esi + 0x2c], eax
jae 0x10023d22
push eax
lea ecx, [esi + 0x24]
call fcn.100035c0
test eax, eax
je 0x10023d41
mov eax, dword [esi + 0x24]
push edi
push ebx
mov dword [esi + 0x28], edi
push eax
mov byte [eax + edi], 0
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, dword [esi + 0x24]
mov dword [esi + 0x28], 0
mov byte [eax], 0
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
push 0x1c8
call dword [sym.imp.msvcrt.dll_malloc]
add esp, 4
test eax, eax
je 0x10023c7b
push 1
push 0
push 0
push ebp
mov ecx, eax
call fcn.1000b7d0
test eax, eax
je 0x10023da4
test eax, eax
mov byte [eax + 0x18], 1
setne al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ecx, ebp
call fcn.10025fa0
test al, al
setne al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret