Function at 0x46fb55
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x6b4d36
call fcn.0066bd6c
sub esp, 0x34
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
push 0x2d
mov al, byte [ebx]
pop edx
cmp al, dl
jne 0x470116
mov cl, byte [ebx + 6]
cmp cl, dl
je 0x46fb85
cmp byte [ebx + 7], dl
jne 0x470116
movzx edx, byte [ebx + 1]
mov edi, 0x4c57
movzx esi, byte [ebx + 2]
mov eax, edx
shl eax, 8
add eax, esi
cmp eax, edi
ja 0x46fe0e
je 0x46fe04
mov edi, 0x4253
cmp eax, edi
ja 0x46fcda
je 0x46fcd0
add edi, 0xffffffef
cmp eax, edi
ja 0x46fc25
je 0x46fc1b
sub eax, 0x4147
je 0x46fbe9
sub eax, 0xb
je 0x46fc11
sub eax, 4
je 0x46fc07
dec eax
sub eax, 1
je 0x46fbfd
dec eax
sub eax, 1
je 0x46fbf3
sub eax, 0x24
jne 0x47004d
mov esi, str.Ares
jmp 0x47008f
mov esi, str.Azureus
jmp 0x47008f
mov esi, str.BitPump
jmp 0x47008f
mov esi, str.Avicora
jmp 0x47008f
mov esi, str.Arctic
jmp 0x47008f
mov esi, str.BitBuddy
jmp 0x47008f
sub eax, 0x4243
je 0x46fcc6
dec eax
sub eax, 1
je 0x46fcbc
sub eax, 1
je 0x46fcb2
sub eax, 1
je 0x46fca8
sub eax, 8
je 0x46fc5c
sub eax, 3
jne 0x47004d
mov esi, str.BitRocket
jmp 0x47008f
mov dl, byte [ebx + 4]
cmp dl, 0x41
jne 0x46fc86
cmp byte [ebx + 5], 0x30
jne 0x46fc86
movzx eax, cl
sub eax, 0x3d
push eax
push str.Bits_on_Wheels_1.0._d
push dword [ebp + 8]
call fcn.004646d1
add esp, 0xc
jmp 0x4704fe
movzx eax, cl
push eax
movzx eax, byte [ebx + 5]
push eax
movzx eax, dl
push eax
push str.Bits_on_Wheels__c_c_c
push dword [ebp + 8]
call fcn.004646d1
add esp, 0x14
jmp 0x4704fe
mov esi, 0x6e2764
jmp 0x47008f
mov esi, str.Bitflu
jmp 0x47008f
mov esi, str.BitTorrent_SDK
jmp 0x47008f
mov esi, str.BitComet
jmp 0x47008f
mov esi, str.BitSlave
jmp 0x47008f
mov ecx, 0x4654
cmp eax, ecx
ja 0x46fd9f
je 0x46fd4f
sub eax, 0x4258
je 0x46fd45
sub eax, 0xec
je 0x46fd3b
sub eax, 0x10
je 0x46fd31
sub eax, 0xf1
je 0x46fd27
sub eax, 0xfd
je 0x46fd1d
sub eax, 0x11
jne 0x47004d
mov esi, str.electric_sheep
jmp 0x47008f
mov esi, str.EBit
jmp 0x47008f
mov esi, str.DelugeTorrent
jmp 0x47008f
mov esi, str.CTorrent
jmp 0x47008f
mov esi, str.Enhanced_CTorrent
jmp 0x47008f
mov esi, str.Bittorrent_X
jmp 0x47008f
push 9
xor ecx, ecx
pop edx
movzx eax, byte [ebx + ecx + 3]
mov word [ebp + ecx*2 - 0x18], ax
add eax, 0xffffffd0
cmp ax, dx
ja 0x46fd6b
mov word [ebp + ecx*2 - 0x18], ax
inc ecx
cmp ecx, 4
jl 0x46fd54
movzx eax, word [ebp - 0x12]
push eax
movzx eax, word [ebp - 0x14]
push eax
movzx eax, word [ebp - 0x16]
push eax
movzx eax, word [ebp - 0x18]
push eax
push str.FoxTorrent
push str._s__d._d_d_d
push dword [ebp + 8]
call fcn.004646d1
add esp, 0x1c
jmp 0x4704fe
sub eax, 0x4845
je 0x46fdfa
sub eax, 7
je 0x46fdf0
dec eax
sub eax, 1
je 0x46fde6
sub eax, 0x306
je 0x46fddc
sub eax, 0xfc
je 0x46fdd2
sub eax, 4
jne 0x47004d
mov esi, str.libtorrent
jmp 0x47008f
mov esi, str.Lphant
jmp 0x47008f
mov esi, str.KTorrent
jmp 0x47008f
mov esi, str.Hydranode
jmp 0x47008f
mov esi, str.Halite
jmp 0x47008f
mov esi, str.Helix
jmp 0x47008f
mov esi, str.LimeWire
jmp 0x47008f
mov ecx, 0x5453
cmp eax, ecx
ja 0x46ff02
je 0x46fef8
mov ecx, 0x5344
cmp eax, ecx
ja 0x46fe96
je 0x47008a
sub eax, 0x4d50
je 0x46fe8c
dec eax
sub eax, 1
je 0x46fe82
dec eax
sub eax, 1
je 0x46fe78
sub eax, 0x3f0
je 0x46fe6e
sub eax, 0x10
je 0x46fe64
sub eax, 0x100
jne 0x47004d
mov esi, str.Retriever
jmp 0x47008f
mov esi, str.Qt_4_Torrent_Example
jmp 0x47008f
mov esi, str.QQDownload
jmp 0x47008f
mov esi, str.MoonlightTorrent
jmp 0x47008f
mov esi, str.Miro
jmp 0x47008f
mov esi, str.MooPolice
jmp 0x47008f
sub eax, 0x5347
je 0x46feee
sub eax, 0xc
je 0x46fee4
sub eax, 7
je 0x46feda
sub eax, 0x24
je 0x46fed0
sub eax, 0xd0
je 0x46fec6
sub eax, 4
jne 0x47004d
mov esi, str.Transmission
jmp 0x47008f
mov esi, str.Torrent_.NET
jmp 0x47008f
mov esi, str.Shareaza_alpha_beta
jmp 0x47008f
mov esi, str.Shareaza
jmp 0x47008f
mov esi, str.SwarmScope
jmp 0x47008f
mov esi, str.SG_Torrent
jmp 0x47008f
mov esi, str.TorrentStorm
jmp 0x47008f
mov ecx, 0x5759
cmp eax, ecx
ja 0x470027
je 0x470020
sub eax, 0x5454
je 0x470019
sub eax, 0xf1
je 0x470012
push 7
pop ecx
sub eax, ecx
je 0x47000b
sub eax, 1
je 0x470001
sub eax, ecx
je 0x46ff58
sub eax, 0xf3
jne 0x47004d
mov esi, str.Vagaa
jmp 0x47008f
cmp dword [ebx + 0x10], 0x30504455
jne 0x46ff86
mov esi, dword [ebp + 8]
push str._FAKE__BitSpirit
mov dword [esi + 0x14], ecx
xor edi, edi
xor eax, eax
mov dword [esi], edi
mov ecx, esi
mov dword [esi + 0x10], edi
mov word [esi], ax
call fcn.00427613
mov eax, esi
jmp 0x470501
movzx ecx, byte [ebx + 3]
mov esi, 0x6d82bc
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov dword [ebp + 0xc], esi
movzx eax, byte [ebx + 5]
shl ecx, 8
or ecx, eax
mov eax, 0x313330
cmp ecx, eax
jb 0x46ffbd
cmp byte [ebp + 0x10], 0
je 0x46ffbd
mov esi, 0x6e2b4c
jmp 0x47008f
cmp ecx, 0x313332
jb 0x46ffdd
push ebx
call fcn.0047099b
test al, al
jne 0x470092
mov esi, str._FAKE__uTorrent
jmp 0x47008f
cmp ecx, eax
jb 0x470092
mov ax, word [ebx + 8]
mov ecx, 0x3fff
and ax, cx
mov ecx, 0x1f4
cmp ax, cx
jbe 0x470092
jmp 0x46ffb3
mov esi, str.uTorrent_Mac
jmp 0x47008f
mov esi, str.uLeecher
jmp 0x47008f
mov esi, str.uTorrent_Embedded
jmp 0x47008f
mov esi, str.TuoTu
jmp 0x47008f
mov esi, str.Wyzo
jmp 0x47008f
sub eax, 0x584c
je 0x47008a
sub eax, 8
je 0x470083
sub eax, 4
je 0x47007c
sub eax, 0x1fc
je 0x470075
sub eax, 0x1220
je 0x47006e
sub eax, 0x4ce
je 0x470067
push esi
push edx
push str.Unknown__c_c
lea eax, [ebp - 0x40]
push 0x14
push eax
call fcn.00463afb
add esp, 0x14
lea esi, [ebp - 0x40]
jmp 0x47008f
mov esi, str.qBittorrent
jmp 0x47008f
mov esi, str.libTorrent
jmp 0x47008f
mov esi, str.ZipTorrent
jmp 0x47008f
mov esi, str.Xtorrent
jmp 0x47008f
mov esi, str.XanTorrent
jmp 0x47008f
mov esi, str.Xunlei
mov dword [ebp + 0xc], esi
xor eax, eax
lea edi, [ebp - 0x18]
stosd dword es:[edi], eax
lea esi, [ebx + 3]
push 0xfffffffffffffffd
stosd dword es:[edi], eax
stosw word es:[edi], ax
pop eax
sub eax, ebx
lea edi, [ebp - 0x18]
push 9
mov dword [ebp + 0x10], eax
pop ebx
movzx eax, byte [esi]
push eax
call fcn.006854f9
pop ecx
test eax, eax
je 0x4700f4
movzx ecx, byte [esi]
mov word [edi], cx
lea eax, [ecx - 0x30]
cmp ax, bx
jbe 0x4700e3
push 0x19
lea eax, [ecx - 0x41]
pop edx
cmp ax, dx
ja 0x4700d8
lea eax, [ecx - 0x37]
jmp 0x4700e3
lea eax, [ecx - 0x61]
cmp ax, dx
ja 0x4700e6
lea eax, [ecx - 0x70]
mov word [edi], ax
mov eax, dword [ebp + 0x10]
inc esi
add eax, esi
add edi, 2
cmp eax, 4
jl 0x4700ac
movzx eax, word [ebp - 0x12]
mov esi, dword [ebp + 0xc]
push eax
movzx eax, word [ebp - 0x14]
push eax
movzx eax, word [ebp - 0x16]
push eax
movzx eax, word [ebp - 0x18]
push eax
push esi
push str._s__d._d._d._d
jmp 0x46fd8f
mov ch, byte [ebx + 4]
cmp ch, dl
jne 0x4701c0
cmp byte [ebx + 5], dl
jne 0x4701c0
movzx ecx, al
mov eax, ecx
sub eax, 0x41
je 0x470189
sub eax, 0xe
je 0x470182
sub eax, 3
je 0x47017b
sub eax, 1
je 0x470174
sub eax, 1
je 0x47016d
sub eax, 1
je 0x470166
push ecx
push str.Unknown__c
lea eax, [ebp - 0x40]
push 0x14
push eax
call fcn.00463afb
add esp, 0x10
lea ecx, [ebp - 0x40]
jmp 0x47018e
mov ecx, 0x6e2c98
jmp 0x47018e
mov ecx, str.BitTornado
jmp 0x47018e
mov ecx, str.Shadow
jmp 0x47018e
mov ecx, str.Tribler
jmp 0x47018e
mov ecx, str.Osprey_Permaseed
jmp 0x47018e
mov ecx, 0x6e2c34
xor edx, edx
movzx eax, byte [ebx + edx + 1]
mov word [ebp + edx*2 - 0x18], ax
inc edx
cmp edx, 4
jl 0x470190
xor eax, eax
mov word [ebp - 0x12], ax
lea eax, [ebp - 0x18]
push eax
push ecx
push 0x6e2cbc
push dword [ebp + 8]
call fcn.004646d1
add esp, 0x10
jmp 0x4704fe
cmp al, 0x4d
jne 0x470226
cmp byte [ebx + 2], dl
jne 0x470272
cmp ch, dl
jne 0x4701f4
cmp byte [ebx + 6], dl
jne 0x4701f4
cmp byte [ebx + 7], dl
jne 0x4701f4
movzx eax, byte [ebx + 5]
push eax
movzx eax, byte [ebx + 3]
push eax
movzx eax, byte [ebx + 1]
push eax
push str.BitTorrent__c._c._c
jmp 0x46fc98
cmp byte [ebx + 5], dl
jne 0x470272
cmp byte [ebx + 7], dl
jne 0x470272
movzx eax, byte [ebx + 6]
push eax
movzx eax, ch
push eax
movzx eax, byte [ebx + 3]
push eax
movzx eax, byte [ebx + 1]
push eax
push str.BitTorrent__c._c_c._c
push dword [ebp + 8]
call fcn.004646d1
add esp, 0x18
jmp 0x4704fe
cmp al, 0x65
jne 0x470272
cmp byte [ebx + 1], 0x78
jne 0x470272
cmp byte [ebx + 2], 0x62
jne 0x470272
cmp byte [ebx + 3], 0x63
jne 0x470272
cmp byte [ebx + 6], 0x4c
jne 0x470259
cmp byte [ebx + 7], 0x4f
jne 0x470259
cmp byte [ebx + 8], 0x52
jne 0x470259
cmp byte [ebx + 9], 0x44
mov edx, str.BitLord
je 0x47025e
mov edx, str.BitComet
movzx eax, byte [ebx + 5]
push eax
movzx eax, ch
push eax
push edx
push str._s__i._i
jmp 0x46fc98
mov cl, byte [ebx + 2]
cmp cl, 0x42
jne 0x4702d6
cmp byte [ebx + 3], 0x53
jne 0x4702d6
cmp dword [ebx + 0x10], 0x30504455
jne 0x47029d
mov esi, dword [ebp + 8]
push str.BitSpirit_v2_UDP0
mov dword [esi + 0x14], 7
jmp 0x46ff6c
cmp dword [ebx + 0xe], 0x50545448
jne 0x4702c2
cmp word [ebx + 0x12], 0x5442
jne 0x4702c2
mov esi, dword [ebp + 8]
push str.BitSpirit_v2_HTTPBT
mov dword [esi + 0x14], 7
jmp 0x46ff6c
mov esi, dword [ebp + 8]
push str.Unknown_BitSpirit
mov dword [esi + 0x14], 7
jmp 0x46ff6c
mov dl, byte [ebx + 1]
cmp dl, 0x45
jne 0x4702fd
cmp cl, 0x52
jne 0x4702fd
cmp byte [ebx + 3], 0x53
jne 0x4702fd
mov esi, dword [ebp + 8]
push str.ERSAnonymous
mov dword [esi + 0x14], 7
jmp 0x46ff6c
cmp al, 0x41
jne 0x470357
cmp dl, 0x5a
jne 0x470481
cmp cl, 0x32
jne 0x470481
cmp byte [ebx + 3], 0x35
jne 0x470481
cmp ch, 0x30
jne 0x470481
cmp byte [ebx + 5], ch
jne 0x470481
cmp byte [ebx + 6], 0x42
jne 0x470481
cmp byte [ebx + 7], 0x54
jne 0x470481
mov esi, dword [ebp + 8]
push str.BitTyrant
mov dword [esi + 0x14], 7
jmp 0x46ff6c
cmp al, 0x42
jne 0x470380
cmp dl, 0x4c
jne 0x470481
cmp cl, 0x5a
jne 0x470481
movzx eax, ch
push eax
movzx eax, byte [ebx + 3]
push eax
push str.Blizzard__d._d
jmp 0x4701b0
cmp al, 0x4d
jne 0x4703c2
cmp dl, 0x62
jne 0x470481
cmp cl, 0x72
jne 0x470481
cmp byte [ebx + 3], 0x73
jne 0x470481
cmp ch, 0x74
jne 0x470481
movzx eax, byte [ebx + 9]
push eax
movzx eax, byte [ebx + 7]
push eax
movzx eax, byte [ebx + 5]
push eax
push str.Burst___c._c._c
jmp 0x46fc98
cmp al, 0x2d
jne 0x470434
cmp dl, 0x46
jne 0x4703ef
cmp cl, 0x47
jne 0x470481
lea eax, [ebx + 3]
push eax
call fcn.0067c59d
push 0x64
pop ecx
cdq
idiv ecx
push edx
push eax
push str.FlashGet__u._u
jmp 0x46fc98
cmp dl, 0x47
jne 0x470411
cmp cl, 0x33
jne 0x470481
mov esi, dword [ebp + 8]
push str.G3_Torrent
mov dword [esi + 0x14], 7
jmp 0x46ff6c
cmp dl, 0x4d
jne 0x470481
cmp cl, 0x4c
jne 0x470481
movzx eax, byte [ebx + 7]
push eax
movzx eax, byte [ebx + 5]
push eax
movzx eax, byte [ebx + 3]
push eax
push str.MLdonkey__c._c._c
jmp 0x46fc98
cmp al, 0x4f
jne 0x470459
cmp dl, 0x50
jne 0x470481
movzx eax, byte [ebx + 5]
push eax
movzx eax, ch
push eax
movzx eax, byte [ebx + 3]
push eax
movzx eax, cl
push eax
push str.Opera__c_c_c_c
jmp 0x470216
cmp al, 0x4c
jne 0x470481
cmp dl, 0x49
jne 0x470481
cmp cl, 0x4d
jne 0x470481
cmp byte [ebx + 3], 0x45
jne 0x470481
mov esi, dword [ebp + 8]
push str.Limewire
mov dword [esi + 0x14], 7
jmp 0x46ff6c
xor edi, edi
mov dword [ebp - 0x1c], 7
xor eax, eax
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x20], edi
mov word [ebp - 0x30], ax
mov dword [ebp - 4], edi
mov al, byte [edi + ebx]
test al, al
je 0x4704a5
movzx eax, al
jmp 0x4704a8
push 0x20
pop eax
push eax
lea ecx, [ebp - 0x30]
call fcn.0043aa5e
inc edi
cmp edi, 0x14
jl 0x470499
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x30]
push eax
call fcn.00427263
mov eax, dword [ebp - 0x1c]
cmp eax, 8
jb 0x4704fe
mov ecx, dword [ebp - 0x30]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x10], eax
mov dword [ebp + 0xc], ecx
cmp eax, 0x1000
jb 0x4704f5
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.0042741e
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
call fcn.0066bb0a
pop ecx
pop ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc