Function at 0x46b146
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x66dd25
call fcn.006313fc
sub esp, 0x50
push ebx
mov ebx, dword [esp + 0x6c]
push ebp
push esi
push edi
mov al, byte [ebx]
xor esi, esi
push 0x2d
pop edx
mov dword [esp + 0x10], esi
cmp al, dl
jne 0x46b70f
mov cl, byte [ebx + 6]
cmp cl, dl
je 0x46b17e
cmp byte [ebx + 7], dl
jne 0x46b70f
movzx edx, byte [ebx + 1]
mov ebp, 0x4c57
movzx edi, byte [ebx + 2]
mov eax, edx
shl eax, 8
add eax, edi
cmp eax, ebp
jg 0x46b409
je 0x46b3ff
mov ebp, 0x4253
cmp eax, ebp
jg 0x46b2ce
je 0x46b2c4
lea esi, [ebp - 0x11]
cmp eax, esi
jg 0x46b21a
je 0x46b210
sub eax, 0x4147
je 0x46b1de
sub eax, 0xb
je 0x46b206
sub eax, 4
je 0x46b1fc
dec eax
dec eax
je 0x46b1f2
dec eax
dec eax
je 0x46b1e8
sub eax, 0x24
jne 0x46b631
mov esi, str.Ares
jmp 0x46b675
mov esi, str.Azureus
jmp 0x46b675
mov esi, str.BitPump
jmp 0x46b675
mov esi, str.Avicora
jmp 0x46b675
mov esi, str.Arctic
jmp 0x46b675
mov esi, str.BitBuddy
jmp 0x46b675
sub eax, 0x4243
je 0x46b2ba
dec eax
dec eax
je 0x46b2b0
dec eax
je 0x46b2a6
dec eax
je 0x46b29c
sub eax, 8
je 0x46b24b
sub eax, 3
jne 0x46b631
mov esi, str.BitRocket
jmp 0x46b675
mov dl, byte [ebx + 4]
cmp dl, 0x41
jne 0x46b276
cmp byte [ebx + 5], 0x30
jne 0x46b276
movzx eax, cl
sub eax, 0x3d
push eax
push str.Bits_on_Wheels_1.0._d
push dword [esp + 0x7c]
call fcn.0047224d
add esp, 0xc
jmp 0x46ba5a
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 [esp + 0x84]
call fcn.0047224d
add esp, 0x14
jmp 0x46ba5a
mov esi, 0x69616c
jmp 0x46b675
mov esi, str.Bitflu
jmp 0x46b675
mov esi, str.BitTorrent_SDK
jmp 0x46b675
mov esi, str.BitComet
jmp 0x46b675
mov esi, str.BitSlave
jmp 0x46b675
mov ecx, 0x4654
cmp eax, ecx
jg 0x46b39c
je 0x46b343
sub eax, 0x4258
je 0x46b339
sub eax, 0xec
je 0x46b32f
sub eax, 0x10
je 0x46b325
sub eax, 0xf1
je 0x46b31b
sub eax, 0xfd
je 0x46b311
sub eax, 0x11
jne 0x46b631
mov esi, str.electric_sheep
jmp 0x46b675
mov esi, str.EBit
jmp 0x46b675
mov esi, str.DelugeTorrent
jmp 0x46b675
mov esi, str.CTorrent
jmp 0x46b675
mov esi, str.Enhanced_CTorrent
jmp 0x46b675
mov esi, str.Bittorrent_X
jmp 0x46b675
push 9
pop edx
movzx ecx, byte [ebx + esi + 3]
mov word [esp + esi*2 + 0x14], cx
lea eax, [ecx - 0x30]
cmp ax, dx
ja 0x46b360
lea eax, [ecx - 0x30]
mov word [esp + esi*2 + 0x14], ax
inc esi
cmp esi, 4
jl 0x46b346
movzx eax, word [esp + 0x1a]
push eax
movzx eax, word [esp + 0x1c]
push eax
movzx eax, word [esp + 0x1e]
push eax
movzx eax, word [esp + 0x20]
push eax
push str.FoxTorrent
push str._s__d._d_d_d
push dword [esp + 0x8c]
call fcn.0047224d
add esp, 0x1c
jmp 0x46ba5a
sub eax, 0x4845
je 0x46b3f5
sub eax, 7
je 0x46b3eb
dec eax
dec eax
je 0x46b3e1
sub eax, 0x306
je 0x46b3d7
sub eax, 0xfc
je 0x46b3cd
sub eax, 4
jne 0x46b631
mov esi, str.libtorrent
jmp 0x46b675
mov esi, str.Lphant
jmp 0x46b675
mov esi, str.KTorrent
jmp 0x46b675
mov esi, str.Hydranode
jmp 0x46b675
mov esi, str.Halite
jmp 0x46b675
mov esi, str.Helix
jmp 0x46b675
mov esi, str.LimeWire
jmp 0x46b675
mov ecx, 0x5453
cmp eax, ecx
jg 0x46b4f9
je 0x46b4ef
mov ecx, 0x5344
cmp eax, ecx
jg 0x46b48d
je 0x46b670
sub eax, 0x4d50
je 0x46b483
dec eax
dec eax
je 0x46b479
dec eax
dec eax
je 0x46b46f
sub eax, 0x3f0
je 0x46b465
sub eax, 0x10
je 0x46b45b
sub eax, 0x100
jne 0x46b631
mov esi, str.Retriever
jmp 0x46b675
mov esi, str.Qt_4_Torrent_Example
jmp 0x46b675
mov esi, str.QQDownload
jmp 0x46b675
mov esi, str.MoonlightTorrent
jmp 0x46b675
mov esi, str.Miro
jmp 0x46b675
mov esi, str.MooPolice
jmp 0x46b675
sub eax, 0x5347
je 0x46b4e5
sub eax, 0xc
je 0x46b4db
sub eax, 7
je 0x46b4d1
sub eax, 0x24
je 0x46b4c7
sub eax, 0xd0
je 0x46b4bd
sub eax, 4
jne 0x46b631
mov esi, str.Transmission
jmp 0x46b675
mov esi, str.Torrent_.NET
jmp 0x46b675
mov esi, str.Shareaza_alpha_beta
jmp 0x46b675
mov esi, str.Shareaza
jmp 0x46b675
mov esi, str.SwarmScope
jmp 0x46b675
mov esi, str.SG_Torrent
jmp 0x46b675
mov esi, str.TorrentStorm
jmp 0x46b675
mov ecx, 0x5759
cmp eax, ecx
jg 0x46b60b
je 0x46b604
sub eax, 0x5454
je 0x46b5fd
sub eax, 0xf1
je 0x46b5f6
sub eax, 7
je 0x46b5ef
dec eax
je 0x46b5e5
sub eax, 7
je 0x46b54c
sub eax, 0xf3
jne 0x46b631
mov esi, str.Vagaa
jmp 0x46b675
cmp dword [ebx + 0x10], 0x30504455
jne 0x46b568
push str._FAKE__BitSpirit
mov ecx, dword [esp + 0x78]
call fcn.004249e7
jmp 0x46ba5a
movzx ecx, byte [ebx + 3]
mov esi, 0x68ac64
movzx eax, byte [ebx + 4]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x78], esi
movzx eax, byte [ebx + 5]
shl ecx, 8
or ecx, eax
mov eax, 0x313330
cmp ecx, eax
jl 0x46b5a1
cmp byte [esp + 0x7c], 0
je 0x46b5a1
mov esi, 0x696554
jmp 0x46b675
cmp ecx, 0x313332
jl 0x46b5c1
push ebx
call fcn.0046beeb
test al, al
jne 0x46b679
mov esi, str._FAKE__uTorrent
jmp 0x46b675
cmp ecx, eax
jl 0x46b679
mov ax, word [ebx + 8]
mov ecx, 0x3fff
and ax, cx
mov ecx, 0x1f4
cmp ax, cx
jbe 0x46b679
jmp 0x46b597
mov esi, str.uTorrent_Mac
jmp 0x46b675
mov esi, str.uLeecher
jmp 0x46b675
mov esi, str.uTorrent_Embedded
jmp 0x46b675
mov esi, str.TuoTu
jmp 0x46b675
mov esi, str.Wyzo
jmp 0x46b675
sub eax, 0x584c
je 0x46b670
sub eax, 8
je 0x46b669
sub eax, 4
je 0x46b662
sub eax, 0x1fc
je 0x46b65b
sub eax, 0x1220
je 0x46b654
sub eax, 0x4ce
je 0x46b64d
push edi
push edx
push str.Unknown__c_c
lea eax, [esp + 0x44]
push 0x14
push eax
call fcn.00471625
add esp, 0x14
lea esi, [esp + 0x38]
jmp 0x46b675
mov esi, str.qBittorrent
jmp 0x46b675
mov esi, str.libTorrent
jmp 0x46b675
mov esi, str.ZipTorrent
jmp 0x46b675
mov esi, str.Xtorrent
jmp 0x46b675
mov esi, str.XanTorrent
jmp 0x46b675
mov esi, str.Xunlei
mov dword [esp + 0x78], esi
xor eax, eax
lea edi, [esp + 0x14]
stosd dword es:[edi], eax
lea ebp, [ebx + 3]
push 0xfffffffffffffffd
stosd dword es:[edi], eax
stosw word es:[edi], ax
pop eax
sub eax, ebx
lea edi, [esp + 0x14]
push 9
mov dword [esp + 0x80], eax
mov esi, eax
pop ebx
movzx eax, byte [ebp]
push eax
call fcn.00638fa8
pop ecx
test eax, eax
je 0x46b6e8
movzx ecx, byte [ebp]
mov word [edi], cx
lea eax, [ecx - 0x30]
cmp ax, bx
ja 0x46b6be
lea eax, [ecx - 0x30]
jmp 0x46b6d9
push 0x19
lea eax, [ecx - 0x41]
pop edx
cmp ax, dx
ja 0x46b6ce
lea eax, [ecx - 0x37]
jmp 0x46b6d9
lea eax, [ecx - 0x61]
cmp ax, dx
ja 0x46b6dc
lea eax, [ecx - 0x70]
mov word [edi], ax
inc ebp
add edi, 2
lea eax, [esi + ebp]
cmp eax, 4
jl 0x46b69b
movzx eax, word [esp + 0x1a]
mov esi, dword [esp + 0x78]
push eax
movzx eax, word [esp + 0x1c]
push eax
movzx eax, word [esp + 0x1e]
push eax
movzx eax, word [esp + 0x20]
push eax
push esi
push str._s__d._d._d._d
jmp 0x46b388
mov ch, byte [ebx + 4]
cmp ch, dl
jne 0x46b7b9
cmp byte [ebx + 5], dl
jne 0x46b7b9
movzx ecx, al
mov eax, ecx
sub eax, 0x41
je 0x46b77e
sub eax, 0xe
je 0x46b777
sub eax, 3
je 0x46b770
dec eax
je 0x46b769
dec eax
je 0x46b762
dec eax
je 0x46b75b
push ecx
push str.Unknown__c
lea eax, [esp + 0x40]
push 0x14
push eax
call fcn.00471625
add esp, 0x10
lea ecx, [esp + 0x38]
jmp 0x46b783
mov ecx, 0x6966a0
jmp 0x46b783
mov ecx, str.BitTornado
jmp 0x46b783
mov ecx, str.Shadow
jmp 0x46b783
mov ecx, str.Tribler
jmp 0x46b783
mov ecx, str.Osprey_Permaseed
jmp 0x46b783
mov ecx, 0x69663c
movzx eax, byte [ebx + esi + 1]
mov word [esp + esi*2 + 0x14], ax
inc esi
cmp esi, 4
jl 0x46b783
xor eax, eax
mov word [esp + 0x1a], ax
lea eax, [esp + 0x14]
push eax
push ecx
push 0x6966c4
push dword [esp + 0x80]
call fcn.0047224d
add esp, 0x10
jmp 0x46ba5a
cmp al, 0x4d
jne 0x46b825
mov cl, byte [ebx + 2]
cmp cl, dl
jne 0x46b825
cmp ch, dl
jne 0x46b7eb
cmp byte [ebx + 6], dl
jne 0x46b7eb
cmp byte [ebx + 7], dl
jne 0x46b7eb
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 0x46b288
cmp cl, dl
jne 0x46b825
cmp byte [ebx + 5], dl
jne 0x46b825
cmp byte [ebx + 7], dl
jne 0x46b825
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 [esp + 0x88]
call fcn.0047224d
add esp, 0x18
jmp 0x46ba5a
cmp al, 0x65
jne 0x46b871
cmp byte [ebx + 1], 0x78
jne 0x46b871
cmp byte [ebx + 2], 0x62
jne 0x46b871
cmp byte [ebx + 3], 0x63
jne 0x46b871
cmp byte [ebx + 6], 0x4c
jne 0x46b858
cmp byte [ebx + 7], 0x4f
jne 0x46b858
cmp byte [ebx + 8], 0x52
jne 0x46b858
cmp byte [ebx + 9], 0x44
mov edx, str.BitLord
je 0x46b85d
mov edx, str.BitComet
movzx eax, byte [ebx + 5]
push eax
movzx eax, ch
push eax
push edx
push str._s__i._i
jmp 0x46b288
mov cl, byte [ebx + 2]
cmp cl, 0x42
jne 0x46b8b7
cmp byte [ebx + 3], 0x53
jne 0x46b8b7
cmp dword [ebx + 0x10], 0x30504455
jne 0x46b892
push str.BitSpirit_v2_UDP0
jmp 0x46b55a
cmp dword [ebx + 0xe], 0x50545448
jne 0x46b8ad
cmp word [ebx + 0x12], 0x5442
jne 0x46b8ad
push str.BitSpirit_v2_HTTPBT
jmp 0x46b55a
push str.Unknown_BitSpirit
jmp 0x46b55a
mov dl, byte [ebx + 1]
cmp dl, 0x45
jne 0x46b8d4
cmp cl, 0x52
jne 0x46b8d4
cmp byte [ebx + 3], 0x53
jne 0x46b8d4
push str.ERSAnonymous
jmp 0x46b55a
cmp al, 0x41
jne 0x46b908
cmp dl, 0x5a
jne 0x46b908
cmp cl, 0x32
jne 0x46b908
cmp byte [ebx + 3], 0x35
jne 0x46b908
cmp ch, 0x30
jne 0x46b908
cmp byte [ebx + 5], ch
jne 0x46b908
cmp byte [ebx + 6], 0x42
jne 0x46b908
cmp byte [ebx + 7], 0x54
jne 0x46b908
push str.BitTyrant
jmp 0x46b55a
cmp al, 0x42
jne 0x46b929
cmp dl, 0x4c
jne 0x46b929
cmp cl, 0x5a
jne 0x46b929
movzx eax, ch
push eax
movzx eax, byte [ebx + 3]
push eax
push str.Blizzard__d._d
jmp 0x46b7a5
cmp al, 0x4d
jne 0x46b95b
cmp dl, 0x62
jne 0x46b95b
cmp cl, 0x72
jne 0x46b95b
cmp byte [ebx + 3], 0x73
jne 0x46b95b
cmp ch, 0x74
jne 0x46b95b
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 0x46b288
cmp al, 0x2d
jne 0x46b9c6
cmp dl, 0x46
jne 0x46b984
cmp cl, 0x47
jne 0x46b984
lea eax, [ebx + 3]
push eax
call fcn.00632ccc
push 0x64
pop ecx
cdq
idiv ecx
push edx
push eax
push str.FlashGet__u._u
jmp 0x46b288
cmp dl, 0x47
jne 0x46b9a3
cmp cl, 0x33
jne 0x46b9a3
push str.G3_Torrent
push dword [esp + 0x78]
call fcn.0047224d
pop ecx
pop ecx
jmp 0x46ba5a
cmp dl, 0x4d
jne 0x46b9c6
cmp cl, 0x4c
jne 0x46b9c6
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 0x46b288
cmp al, 0x4f
jne 0x46b9eb
cmp dl, 0x50
jne 0x46b9eb
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 0x46b811
cmp al, 0x4c
jne 0x46ba06
cmp dl, 0x49
jne 0x46ba06
cmp cl, 0x4d
jne 0x46ba06
cmp byte [ebx + 3], 0x45
jne 0x46ba06
push str.Limewire
jmp 0x46b993
xor eax, eax
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], esi
mov word [esp + 0x20], ax
mov dword [esp + 0x68], esi
mov edi, esi
mov al, byte [edi + ebx]
test al, al
je 0x46ba2b
movzx eax, al
jmp 0x46ba2e
push 0x20
pop eax
push eax
push 1
lea ecx, [esp + 0x28]
call fcn.004349b7
inc edi
cmp edi, 0x14
jl 0x46ba1f
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x20]
push eax
call fcn.00422ed9
push esi
push 1
lea ecx, [esp + 0x28]
call fcn.0042341c
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x74]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc