Function at 0x539ae0
Capabilities:
Parse url

Disassembly:
push 0xffffffffffffffff
push 0x6363ef
mov eax, dword fs:[0]
push eax
mov eax, 0x1448
call fcn.005f9ca0
mov eax, dword [0x70a308]
xor eax, esp
mov dword [esp + 0x1444], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x70a308]
xor eax, esp
push eax
lea eax, [esp + 0x145c]
mov dword fs:[0], eax
mov esi, dword [esp + 0x146c]
mov eax, esi
mov ebp, ecx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x539b30
sub eax, edx
cmp eax, 0x1400
ja 0x53a44e
push esi
call fcn.00406a50
add esp, 4
test eax, eax
jne 0x53a44e
lea edx, [esp + 0x58]
mov eax, esi
sub edx, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x539b60
lea ecx, [esp + 0x38]
call fcn.004024e0
mov dword [esp + 0x1464], 0
lea ecx, [esp + 0x30]
call fcn.004024e0
mov byte [esp + 0x1464], 1
lea eax, [esp + 0x58]
push 0x40
push eax
mov byte [esp + 0x27], 0
call fcn.005f9b50
add esp, 8
test eax, eax
je 0x539d4e
lea ecx, [esp + 0x58]
push 0x64f8d0
push ecx
call fcn.005f9c10
mov esi, eax
add esp, 8
test esi, esi
je 0x539d4e
mov edx, esi
lea eax, [esp + 0x58]
sub edx, eax
cmp edx, 8
jg 0x539d4e
mov eax, esi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x539be0
sub eax, edx
cmp eax, 4
jbe 0x539d4e
add esi, 3
push 0x65ff00
push esi
call fcn.005fad50
add esp, 8
test eax, eax
je 0x539d4e
cmp byte [eax], 0x40
jne 0x539d4e
inc eax
push 0x65ff00
push eax
call fcn.005fad50
mov edi, eax
add esp, 8
cmp byte [edi], 0x40
jne 0x539d4e
mov edi, edi
lea eax, [edi + 1]
push 0x65ff00
push eax
call fcn.005fad50
add esp, 8
test eax, eax
je 0x539c4e
cmp byte [eax], 0x40
jne 0x539c4e
mov edi, eax
jmp 0x539c30
lea ecx, [esp + 0x28]
call fcn.004024e0
mov byte [esp + 0x1464], 2
mov ebx, edi
sub ebx, esi
lea ecx, [ebx + 1]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00402830
push ebx
push esi
push eax
mov dword [esp + 0x38], eax
call fcn.005fa190
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x48]
push ecx
push eax
mov byte [eax + ebx], 0
call fcn.00538f60
add esp, 0x18
test eax, eax
je 0x539d3d
lea ecx, [esp + 0x20]
mov byte [esp + 0x1f], 1
call fcn.004024e0
mov byte [esp + 0x1464], 3
lea edx, [esp + 0x58]
sub esi, edx
lea eax, [esi + 1]
push eax
lea ecx, [esp + 0x24]
call fcn.00402830
push esi
lea ecx, [esp + 0x5c]
mov ebx, eax
push ecx
push ebx
call fcn.005fa190
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [ebx + esi], 0
call fcn.004024e0
mov byte [esp + 0x1464], 4
mov edx, dword [esp + 0x20]
inc edi
push edi
push edx
lea eax, [esp + 0x20]
push 0x64ed70
push eax
call fcn.00402f60
mov ecx, dword [esp + 0x28]
push 0x1400
push ecx
lea edx, [esp + 0x70]
push edx
call fcn.00405370
add esp, 0x1c
mov byte [esp + 0x1464], 3
lea ecx, [esp + 0x18]
call fcn.00402550
mov byte [esp + 0x1464], 2
lea ecx, [esp + 0x20]
call fcn.00402550
mov byte [esp + 0x1464], 1
lea ecx, [esp + 0x28]
call fcn.00402550
lea eax, [esp + 0x58]
push 0x64f8d0
push eax
call fcn.005f9c10
add esp, 8
test eax, eax
je 0x53a10e
add eax, 4
push 0x2f
push eax
call fcn.005f9b50
mov esi, eax
add esp, 8
test esi, esi
je 0x53a10e
inc esi
push 0x67facc
push esi
mov dword [esp + 0x58], esi
call fcn.005f9c10
add esp, 8
test eax, eax
jne 0x539dad
push str._26
push esi
call fcn.005f9c10
add esp, 8
test eax, eax
je 0x53a10e
lea ecx, [esp + 0x20]
call fcn.004024e0
mov byte [esp + 0x1464], 5
push esi
lea ecx, [esp + 0x24]
push 0x64edec
push ecx
call fcn.00402f60
add esp, 0xc
push 0x67facc
push str._26
lea ecx, [esp + 0x28]
call fcn.00402bf0
mov edx, dword [esp + 0x20]
push 0x67facc
push edx
call fcn.005f9c10
add esp, 8
mov byte [esp + 0x27], 0
test eax, eax
je 0x53a0fd
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x539e08
sub ecx, esi
cmp ecx, 3
jbe 0x53a0a8
lea edi, [eax + 2]
push 0x3b
push edi
call fcn.005f9b50
add esp, 8
test eax, eax
je 0x53a0a8
sub eax, edi
mov ebx, eax
je 0x53a06e
push 0x67facc
lea ecx, [esp + 0x38]
call fcn.004030e0
mov byte [esp + 0x1464], 6
lea ecx, [esp + 0x18]
call fcn.004024e0
mov byte [esp + 0x1464], 7
mov al, byte [edi]
mov byte [esp + 0x17], 1
mov byte [esp + 0x26], 1
cmp al, 0x78
je 0x539ecc
cmp al, 0x58
je 0x539ecc
xor esi, esi
mov byte [esp + 0x26], 0
test ebx, ebx
jbe 0x539f41
movsx eax, byte [esi + edi]
push eax
call fcn.005fa5cc
add esp, 4
test eax, eax
jne 0x539e9b
mov byte [esp + 0x17], al
jmp 0x539ec5
mov cl, byte [esi + edi]
mov byte [esp + 0x44], cl
mov edx, dword [esp + 0x44]
push edx
lea ecx, [esp + 0x38]
call fcn.00415b60
mov al, byte [esi + edi]
mov byte [esp + 0x54], al
mov ecx, dword [esp + 0x54]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415b60
inc esi
cmp esi, ebx
jb 0x539e84
jmp 0x539f36
mov byte [esp + 0x4c], al
mov edx, dword [esp + 0x4c]
push edx
lea ecx, [esp + 0x38]
call fcn.00415b60
mov esi, 1
cmp ebx, esi
jbe 0x539f41
jmp 0x539ef0
movsx eax, byte [esi + edi]
push eax
call fcn.005fa650
add esp, 4
test eax, eax
jne 0x539f07
mov byte [esp + 0x17], al
jmp 0x539f31
mov cl, byte [esi + edi]
mov byte [esp + 0x40], cl
mov edx, dword [esp + 0x40]
push edx
lea ecx, [esp + 0x38]
call fcn.00415b60
mov al, byte [esi + edi]
mov byte [esp + 0x48], al
mov ecx, dword [esp + 0x48]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00415b60
inc esi
cmp esi, ebx
jb 0x539ef0
cmp byte [esp + 0x17], 0
je 0x53a086
push 0x65ff74
lea ecx, [esp + 0x38]
mov byte [esp + 0x2b], 1
call fcn.004030a0
cmp byte [esp + 0x26], 0
je 0x539fa3
push 0x662594
lea ecx, [esp + 0x40]
call fcn.004030e0
mov byte [esp + 0x1464], 8
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x40]
call fcn.0040e4a0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
push eax
push ecx
lea ecx, [esp + 0x28]
call fcn.00402bf0
mov byte [esp + 0x1464], 7
lea ecx, [esp + 0x3c]
jmp 0x53a047
lea ecx, [esp + 0x28]
call fcn.004024e0
mov byte [esp + 0x1464], 9
mov edx, dword [esp + 0x18]
push edx
call fcn.005f9da1
mov ebx, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
add esp, 4
mov word [esp + 0x2c], ax
xor eax, eax
push eax
push eax
push eax
push eax
push 0xffffffffffffffff
lea ecx, [esp + 0x40]
push ecx
push eax
push 0xfde9
mov word [esp + 0x4e], ax
call ebx
mov esi, eax
test esi, esi
je 0x53a03b
push esi
lea ecx, [esp + 0x2c]
call fcn.00402830
push 0
push 0
push esi
push eax
push 0xffffffffffffffff
lea edx, [esp + 0x40]
push edx
push 0
push 0xfde9
call ebx
test eax, eax
je 0x53a03b
mov eax, dword [esp + 0x28]
push eax
call fcn.0049efc0
mov esi, eax
add esp, 4
test esi, esi
je 0x53a03b
mov ecx, dword [esp + 0x34]
push esi
push ecx
lea ecx, [esp + 0x28]
call fcn.00402bf0
push esi
call fcn.005cfa9b
add esp, 4
mov byte [esp + 0x1464], 7
lea ecx, [esp + 0x28]
call fcn.00402550
mov byte [esp + 0x1464], 6
lea ecx, [esp + 0x18]
call fcn.00402550
mov byte [esp + 0x1464], 5
lea ecx, [esp + 0x34]
call fcn.00402550
push 0x67facc
push edi
call fcn.005f9c10
add esp, 8
test eax, eax
jne 0x539e03
jmp 0x53a0a8
mov byte [esp + 0x1464], 6
lea ecx, [esp + 0x18]
call fcn.00402550
mov byte [esp + 0x1464], 5
lea ecx, [esp + 0x34]
call fcn.00402550
cmp byte [esp + 0x27], 0
je 0x53a0fd
mov eax, dword [esp + 0x20]
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x53a0b8
mov edx, dword [esp + 0x50]
sub ecx, esi
lea esi, [esp + 0x1458]
sub esi, edx
cmp ecx, esi
jge 0x53a0fd
mov byte [edx], 0
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x53a0d7
lea edi, [esp + 0x58]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x53a0e7
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [esp + 0x1464], 1
lea ecx, [esp + 0x20]
call fcn.00402550
lea edx, [esp + 0x58]
push edx
call fcn.00538610
push 0x3c
mov byte [ebp + 0x3d18], al
mov eax, dword [esp + 0x1478]
lea esi, [ebp + 4]
push 0
push esi
mov dword [ebp + 0x3d14], eax
call fcn.005f8cb0
lea eax, [ebp + 0x1440]
lea ecx, [ebp + 0x2840]
mov byte [eax], 0
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x2908]
mov byte [ecx], 0
mov dword [ebp + 0x28], ecx
add esp, 0x10
xor ecx, ecx
lea edi, [ebp + 0x40]
lea ebx, [ebp + 0x3d08]
lea edx, [ebp + 0x28a4]
mov dword [ebp + 0x30], eax
lea eax, [esp + 0x58]
mov word [ebp + 0x1c], cx
mov byte [ebp + 0x3d1c], cl
mov byte [ebp + 0x3d1d], cl
mov byte [ebp + 0x3d1e], cl
mov byte [edi], 0
mov byte [ebx], 0
mov byte [ebp + 0x2908], 0
mov byte [edx], 0
mov dword [esi], 0x3c
mov dword [ebp + 0x3c], 0x1400
mov dword [ebp + 0x18], 0x1400
mov dword [ebp + 0x2c], 0x64
mov dword [ebp + 0xc], 0xa
mov dword [ebp + 0x34], 0x1400
mov dword [ebp + 0x24], 0x64
mov dword [ebp + 0x38], edi
mov dword [ebp + 8], ebx
mov dword [ebp + 0x20], edx
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x53a1d3
push esi
push 0
sub eax, ecx
push eax
lea edx, [esp + 0x64]
push edx
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
je 0x53a429
push 0x26
lea ebx, [ebp + 0x2908]
push ebx
call fcn.005f9b50
add esp, 8
test eax, eax
je 0x53a221
push str._IDMAppersandRpl_SS_P789EO96_
push ebx
call fcn.005f9c10
add esp, 8
test eax, eax
jne 0x53a221
mov byte [ebp + 0x3d1c], 1
push 0x5b
push ebx
call fcn.005f9b50
add esp, 8
test eax, eax
je 0x53a249
push str._IDM_LSB_Rpl_SS_P789EO96_
push ebx
call fcn.005f9c10
add esp, 8
test eax, eax
jne 0x53a249
mov byte [ebp + 0x3d1d], 1
push 0x5d
push ebx
call fcn.005f9b50
add esp, 8
test eax, eax
je 0x53a271
push str._IDM_RSB_Rpl_SS_P789EO96_
push ebx
call fcn.005f9c10
add esp, 8
test eax, eax
jne 0x53a271
mov byte [ebp + 0x3d1e], 1
push 3
push 0x64fb2c
lea ebx, [ebp + 0x3d08]
push ebx
call fcn.005fd020
add esp, 0xc
test eax, eax
je 0x53a306
push 3
push 0x64fb20
push ebx
call fcn.005fd020
add esp, 0xc
test eax, eax
je 0x53a306
push 4
push str.rtmp
push ebx
call fcn.005fd020
add esp, 0xc
test eax, eax
je 0x53a306
cmp byte [ebp + 0x3d18], 0
jne 0x53a313
lea eax, [ebp + 0x2908]
push 0x25
push eax
call fcn.005f9b50
add esp, 8
test eax, eax
je 0x53a306
mov bl, 0x30
cmp byte [eax], 0x25
jne 0x53a390
cmp byte [eax + 1], 0x32
lea ecx, [eax + 1]
jne 0x53a390
cmp byte [eax + 2], bl
jne 0x53a390
cmp byte [ecx], 0
je 0x53a306
push 0x25
push ecx
call fcn.005f9b50
add esp, 8
test eax, eax
jne 0x53a2d3
cmp byte [ebp + 0x3d18], 0
je 0x53a49c
mov eax, dword [ebp + 0x30]
push eax
lea ecx, [esp + 0x30]
call fcn.004030e0
mov byte [esp + 0x1464], 0xa
mov ebx, dword [esp + 0x1470]
mov ecx, dword [ebp + 0x30]
push ebx
push ecx
call fcn.0059be30
lea eax, [ebp + 0x3d08]
push 0x64fb2c
push eax
call fcn.005fa111
add esp, 0x10
test eax, eax
jne 0x53a48b
mov edx, dword [ebp + 0x30]
push edx
call fcn.00538610
add esp, 4
test al, al
je 0x53a48b
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebp + 0x30]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x53a39c
test dl, dl
je 0x53a38c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x53a39c
add eax, 2
add ecx, 2
test dl, dl
jne 0x53a370
xor eax, eax
jmp 0x53a3a1
mov ecx, ebp
call fcn.00538d20
jmp 0x53a6c2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x53a48b
push edi
lea ecx, [esp + 0x2c]
call fcn.004030e0
mov byte [esp + 0x1464], 0xb
mov eax, 0x1400
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x18], eax
mov ecx, 0x64
mov dword [ebp + 0x34], eax
lea eax, [esp + 0x58]
mov dword [esi], 0x3c
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 0xc], 0xa
mov dword [ebp + 0x24], ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53a3e8
push esi
sub eax, edx
push 0x10000000
push eax
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
jne 0x53a455
mov byte [esp + 0x1464], 0xa
lea ecx, [esp + 0x28]
call fcn.00402550
mov byte [esp + 0x1464], 1
lea ecx, [esp + 0x2c]
call fcn.00402550
mov byte [esp + 0x1464], 0
lea ecx, [esp + 0x30]
call fcn.00402550
mov dword [esp + 0x1464], 0xffffffff
lea ecx, [esp + 0x38]
call fcn.00402550
xor eax, eax
jmp 0x53a6ec
mov ecx, dword [ebp + 0x30]
push ebx
push ecx
call fcn.0059be30
mov ecx, dword [esp + 0x30]
mov edx, dword [ebp + 0x38]
add esp, 8
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x53a470
mov byte [esp + 0x1464], 0xa
lea ecx, [esp + 0x28]
call fcn.00402550
mov byte [esp + 0x1464], 1
lea ecx, [esp + 0x2c]
jmp 0x53a576
push edi
lea ecx, [esp + 0x1c]
call fcn.004030e0
mov byte [esp + 0x1464], 0xc
mov eax, 0x1400
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x18], eax
mov ecx, 0x64
mov dword [ebp + 0x34], eax
lea eax, [esp + 0x58]
mov dword [esi], 0x3c
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 0xc], 0xa
mov dword [ebp + 0x24], ecx
lea edx, [eax + 1]
jmp 0x53a4e0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53a4e0
push esi
sub eax, edx
push 0x10000000
push eax
lea edx, [esp + 0x64]
push edx
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
test eax, eax
jne 0x53a510
mov byte [esp + 0x1464], 1
lea ecx, [esp + 0x18]
jmp 0x53a424
mov eax, dword [esp + 0x18]
push 0x23
push eax
call fcn.005f9b50
mov esi, eax
add esp, 8
test esi, esi
je 0x53a552
push 0x6503c0
lea edi, [ebp + 0x3d08]
push edi
call fcn.005fa111
add esp, 8
test eax, eax
je 0x53a54f
push 0x64fb24
push edi
call fcn.005fa111
add esp, 8
test eax, eax
jne 0x53a552
mov byte [esi], 0
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x38]
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x53a560
mov byte [esp + 0x1464], 1
lea ecx, [esp + 0x18]
call fcn.00402550
mov ecx, ebp
call fcn.00538d20
cmp byte [ebp + 0x3d1c], 0
je 0x53a5aa
lea eax, [ebp + 0x2908]
push str._IDMAppersandRpl_SS_P789EO96_
push eax
call fcn.005f9c10
add esp, 8
test eax, eax
je 0x53a5aa
mov byte [ebp + 0x3d1c], 0
cmp byte [ebp + 0x3d1d], 0
je 0x53a5d2
lea eax, [ebp + 0x2908]
push str._IDM_LSB_Rpl_SS_P789EO96_
push eax
call fcn.005f9c10
add esp, 8
test eax, eax
je 0x53a5d2
mov byte [ebp + 0x3d1d], 0
cmp byte [ebp + 0x3d1e], 0
je 0x53a5fa
lea eax, [ebp + 0x2908]
push str._IDM_RSB_Rpl_SS_P789EO96_
push eax
call fcn.005f9c10
add esp, 8
test eax, eax
je 0x53a5fa
mov byte [ebp + 0x3d1e], 0
cmp byte [esp + 0x1f], 0
je 0x53a651
mov ecx, dword [esp + 0x38]
mov eax, ecx
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x53a610
sub eax, esi
cmp eax, 0x64
jae 0x53a651
mov eax, dword [esp + 0x30]
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x53a625
sub eax, esi
cmp eax, 0x64
jae 0x53a651
mov edx, dword [ebp + 0x20]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x53a636
mov ecx, dword [esp + 0x30]
mov edx, dword [ebp + 0x28]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x53a647
push 0x64fb20
lea esi, [ebp + 0x3d08]
push esi
call fcn.005fa111
add esp, 8
test eax, eax
jne 0x53a67c
xor ecx, ecx
cmp cx, word [ebp + 0x1c]
jne 0x53a67c
mov edx, 0x6db
mov word [ebp + 0x1c], dx
jmp 0x53a6c2
push str.rtmp
push esi
call fcn.005fa111
add esp, 8
test eax, eax
jne 0x53a69f
cmp ax, word [ebp + 0x1c]
jne 0x53a69f
mov ecx, 0x78f
mov word [ebp + 0x1c], cx
jmp 0x53a6c2
push str.rtmpt
push esi
call fcn.005fa111
add esp, 8
test eax, eax
jne 0x53a6c2
xor edx, edx
cmp dx, word [ebp + 0x1c]
jne 0x53a6c2
mov eax, 0x50
mov word [ebp + 0x1c], ax
mov byte [esp + 0x1464], 0
lea ecx, [esp + 0x30]
call fcn.00402550
mov dword [esp + 0x1464], 0xffffffff
lea ecx, [esp + 0x38]
call fcn.00402550
mov eax, 1
mov ecx, dword [esp + 0x145c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1444]
xor ecx, esp
call fcn.005f85e7
add esp, 0x1454
ret 8