Function at 0x46ccdd
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x6c4a9a
call fcn.00651da4
sub esp, 0x50
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
push 0x2d
mov al, byte [ebx]
xor esi, esi
pop edx
mov dword [ebp - 0x10], esi
cmp al, dl
jne 0x46d293
mov cl, byte [ebx + 6]
cmp cl, dl
je 0x46cd12
cmp byte [ebx + 7], dl
jne 0x46d293
movzx edx, byte [ebx + 1]
movzx edi, byte [ebx + 2]
mov eax, edx
shl eax, 8
add eax, edi
cmp eax, 0x4c57
ja 0x46cf9a
je 0x46cf90
cmp eax, 0x4253
ja 0x46ce65
je 0x46ce5b
mov esi, 0x4242
cmp eax, esi
ja 0x46cdb0
je 0x46cda6
sub eax, 0x4147
je 0x46cd74
sub eax, 0xb
je 0x46cd9c
sub eax, 4
je 0x46cd92
dec eax
sub eax, 1
je 0x46cd88
dec eax
sub eax, 1
je 0x46cd7e
sub eax, 0x24
jne 0x46d1c5
mov esi, str.Ares
jmp 0x46d207
mov esi, str.Azureus
jmp 0x46d207
mov esi, str.BitPump
jmp 0x46d207
mov esi, str.Avicora
jmp 0x46d207
mov esi, str.Arctic
jmp 0x46d207
mov esi, str.BitBuddy
jmp 0x46d207
sub eax, 0x4243
je 0x46ce51
dec eax
sub eax, 1
je 0x46ce47
sub eax, 1
je 0x46ce3d
sub eax, 1
je 0x46ce33
sub eax, 8
je 0x46cde7
sub eax, 3
jne 0x46d1c5
mov esi, str.BitRocket
jmp 0x46d207
mov dl, byte [ebx + 4]
cmp dl, 0x41
jne 0x46ce11
cmp byte [ebx + 5], 0x30
jne 0x46ce11
movzx eax, cl
sub eax, 0x3d
push eax
push str.Bits_on_Wheels_1.0._d
push dword [ebp + 8]
call fcn.00462014
add esp, 0xc
jmp 0x46d5c8
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.00462014
add esp, 0x14
jmp 0x46d5c8
mov esi, 0x6deb98
jmp 0x46d207
mov esi, str.Bitflu
jmp 0x46d207
mov esi, str.BitTorrent_SDK
jmp 0x46d207
mov esi, str.BitComet
jmp 0x46d207
mov esi, str.BitSlave
jmp 0x46d207
mov ecx, 0x4654
cmp eax, ecx
ja 0x46cf2b
je 0x46ceda
sub eax, 0x4258
je 0x46ced0
sub eax, 0xec
je 0x46cec6
sub eax, 0x10
je 0x46cebc
sub eax, 0xf1
je 0x46ceb2
sub eax, 0xfd
je 0x46cea8
sub eax, 0x11
jne 0x46d1c5
mov esi, str.electric_sheep
jmp 0x46d207
mov esi, str.EBit
jmp 0x46d207
mov esi, str.DelugeTorrent
jmp 0x46d207
mov esi, str.CTorrent
jmp 0x46d207
mov esi, str.Enhanced_CTorrent
jmp 0x46d207
mov esi, str.Bittorrent_X
jmp 0x46d207
push 9
pop edx
movzx ecx, byte [ebx + esi + 3]
mov word [ebp + esi*2 - 0x1c], cx
lea eax, [ecx - 0x30]
cmp ax, dx
ja 0x46cef7
lea eax, [ecx - 0x30]
mov word [ebp + esi*2 - 0x1c], ax
inc esi
cmp esi, 4
jl 0x46cedd
movzx eax, word [ebp - 0x16]
push eax
movzx eax, word [ebp - 0x18]
push eax
movzx eax, word [ebp - 0x1a]
push eax
movzx eax, word [ebp - 0x1c]
push eax
push str.FoxTorrent
push str._s__d._d_d_d
push dword [ebp + 8]
call fcn.00462014
add esp, 0x1c
jmp 0x46d5c8
sub eax, 0x4845
je 0x46cf86
sub eax, 7
je 0x46cf7c
dec eax
sub eax, 1
je 0x46cf72
sub eax, 0x306
je 0x46cf68
sub eax, 0xfc
je 0x46cf5e
sub eax, 4
jne 0x46d1c5
mov esi, str.libtorrent
jmp 0x46d207
mov esi, str.Lphant
jmp 0x46d207
mov esi, str.KTorrent
jmp 0x46d207
mov esi, str.Hydranode
jmp 0x46d207
mov esi, str.Halite
jmp 0x46d207
mov esi, str.Helix
jmp 0x46d207
mov esi, str.LimeWire
jmp 0x46d207
mov ecx, 0x5453
cmp eax, ecx
ja 0x46d08e
je 0x46d084
mov ecx, 0x5344
cmp eax, ecx
ja 0x46d022
je 0x46d202
sub eax, 0x4d50
je 0x46d018
dec eax
sub eax, 1
je 0x46d00e
dec eax
sub eax, 1
je 0x46d004
sub eax, 0x3f0
je 0x46cffa
sub eax, 0x10
je 0x46cff0
sub eax, 0x100
jne 0x46d1c5
mov esi, str.Retriever
jmp 0x46d207
mov esi, str.Qt_4_Torrent_Example
jmp 0x46d207
mov esi, str.QQDownload
jmp 0x46d207
mov esi, str.MoonlightTorrent
jmp 0x46d207
mov esi, str.Miro
jmp 0x46d207
mov esi, str.MooPolice
jmp 0x46d207
sub eax, 0x5347
je 0x46d07a
sub eax, 0xc
je 0x46d070
sub eax, 7
je 0x46d066
sub eax, 0x24
je 0x46d05c
sub eax, 0xd0
je 0x46d052
sub eax, 4
jne 0x46d1c5
mov esi, str.Transmission
jmp 0x46d207
mov esi, str.Torrent_.NET
jmp 0x46d207
mov esi, str.Shareaza_alpha_beta
jmp 0x46d207
mov esi, str.Shareaza
jmp 0x46d207
mov esi, str.SwarmScope
jmp 0x46d207
mov esi, str.SG_Torrent
jmp 0x46d207
mov esi, str.TorrentStorm
jmp 0x46d207
mov ecx, 0x5759
cmp eax, ecx
ja 0x46d19f
je 0x46d198
sub eax, 0x5454
je 0x46d191
sub eax, 0xf1
je 0x46d18a
sub eax, 7
je 0x46d183
sub eax, 1
je 0x46d179
sub eax, 7
je 0x46d0e3
sub eax, 0xf3
jne 0x46d1c5
mov esi, str.Vagaa
jmp 0x46d207
cmp dword [ebx + 0x10], 0x30504455
jne 0x46d0fe
push str._FAKE__BitSpirit
mov ecx, dword [ebp + 8]
call fcn.00428153
jmp 0x46d5c8
movzx ecx, byte [ebx + 3]
mov esi, 0x6d328c
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 0x46d135
cmp byte [ebp + 0x10], 0
je 0x46d135
mov esi, 0x6def80
jmp 0x46d207
cmp ecx, 0x313332
jb 0x46d155
push ebx
call fcn.0046da4d
test al, al
jne 0x46d20a
mov esi, str._FAKE__uTorrent
jmp 0x46d207
cmp ecx, eax
jb 0x46d20a
mov ax, word [ebx + 8]
mov ecx, 0x3fff
and ax, cx
mov ecx, 0x1f4
cmp ax, cx
jbe 0x46d20a
jmp 0x46d12b
mov esi, str.uTorrent_Mac
jmp 0x46d207
mov esi, str.uLeecher
jmp 0x46d207
mov esi, str.uTorrent_Embedded
jmp 0x46d207
mov esi, str.TuoTu
jmp 0x46d207
mov esi, str.Wyzo
jmp 0x46d207
sub eax, 0x584c
je 0x46d202
sub eax, 8
je 0x46d1fb
sub eax, 4
je 0x46d1f4
sub eax, 0x1fc
je 0x46d1ed
sub eax, 0x1220
je 0x46d1e6
sub eax, 0x4ce
je 0x46d1df
push edi
push edx
push str.Unknown__c_c
lea eax, [ebp - 0x5c]
push 0x14
push eax
call fcn.00461447
add esp, 0x14
lea esi, [ebp - 0x5c]
jmp 0x46d207
mov esi, str.qBittorrent
jmp 0x46d207
mov esi, str.libTorrent
jmp 0x46d207
mov esi, str.ZipTorrent
jmp 0x46d207
mov esi, str.Xtorrent
jmp 0x46d207
mov esi, str.XanTorrent
jmp 0x46d207
mov esi, str.Xunlei
mov dword [ebp + 0xc], esi
xor eax, eax
lea edi, [ebp - 0x1c]
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 - 0x1c]
push 9
mov dword [ebp + 0x10], eax
pop ebx
movzx eax, byte [esi]
push eax
call fcn.00681252
pop ecx
test eax, eax
je 0x46d271
movzx ecx, byte [esi]
mov word [edi], cx
lea eax, [ecx - 0x30]
cmp ax, bx
ja 0x46d245
lea eax, [ecx - 0x30]
jmp 0x46d260
push 0x19
lea eax, [ecx - 0x41]
pop edx
cmp ax, dx
ja 0x46d255
lea eax, [ecx - 0x37]
jmp 0x46d260
lea eax, [ecx - 0x61]
cmp ax, dx
ja 0x46d263
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 0x46d224
movzx eax, word [ebp - 0x16]
mov esi, dword [ebp + 0xc]
push eax
movzx eax, word [ebp - 0x18]
push eax
movzx eax, word [ebp - 0x1a]
push eax
movzx eax, word [ebp - 0x1c]
push eax
push esi
push str._s__d._d._d._d
jmp 0x46cf1b
mov ch, byte [ebx + 4]
cmp ch, dl
jne 0x46d33b
cmp byte [ebx + 5], dl
jne 0x46d33b
movzx ecx, al
mov eax, ecx
sub eax, 0x41
je 0x46d306
sub eax, 0xe
je 0x46d2ff
sub eax, 3
je 0x46d2f8
sub eax, 1
je 0x46d2f1
sub eax, 1
je 0x46d2ea
sub eax, 1
je 0x46d2e3
push ecx
push str.Unknown__c
lea eax, [ebp - 0x5c]
push 0x14
push eax
call fcn.00461447
add esp, 0x10
lea ecx, [ebp - 0x5c]
jmp 0x46d30b
mov ecx, 0x6df0cc
jmp 0x46d30b
mov ecx, str.BitTornado
jmp 0x46d30b
mov ecx, str.Shadow
jmp 0x46d30b
mov ecx, str.Tribler
jmp 0x46d30b
mov ecx, str.Osprey_Permaseed
jmp 0x46d30b
mov ecx, 0x6df068
movzx eax, byte [ebx + esi + 1]
mov word [ebp + esi*2 - 0x1c], ax
inc esi
cmp esi, 4
jl 0x46d30b
xor eax, eax
mov word [ebp - 0x16], ax
lea eax, [ebp - 0x1c]
push eax
push ecx
push 0x6df0f0
push dword [ebp + 8]
call fcn.00462014
add esp, 0x10
jmp 0x46d5c8
cmp al, 0x4d
jne 0x46d3a3
mov cl, byte [ebx + 2]
cmp cl, dl
jne 0x46d3a3
cmp ch, dl
jne 0x46d36d
cmp byte [ebx + 6], dl
jne 0x46d36d
cmp byte [ebx + 7], dl
jne 0x46d36d
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 0x46ce23
cmp cl, dl
jne 0x46d3a3
cmp byte [ebx + 5], dl
jne 0x46d3a3
cmp byte [ebx + 7], dl
jne 0x46d3a3
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.00462014
add esp, 0x18
jmp 0x46d5c8
cmp al, 0x65
jne 0x46d3ef
cmp byte [ebx + 1], 0x78
jne 0x46d3ef
cmp byte [ebx + 2], 0x62
jne 0x46d3ef
cmp byte [ebx + 3], 0x63
jne 0x46d3ef
cmp byte [ebx + 6], 0x4c
jne 0x46d3d6
cmp byte [ebx + 7], 0x4f
jne 0x46d3d6
cmp byte [ebx + 8], 0x52
jne 0x46d3d6
cmp byte [ebx + 9], 0x44
mov edx, str.BitLord
je 0x46d3db
mov edx, str.BitComet
movzx eax, byte [ebx + 5]
push eax
movzx eax, ch
push eax
push edx
push str._s__i._i
jmp 0x46ce23
mov cl, byte [ebx + 2]
cmp cl, 0x42
jne 0x46d435
cmp byte [ebx + 3], 0x53
jne 0x46d435
cmp dword [ebx + 0x10], 0x30504455
jne 0x46d410
push str.BitSpirit_v2_UDP0
jmp 0x46d0f1
cmp dword [ebx + 0xe], 0x50545448
jne 0x46d42b
cmp word [ebx + 0x12], 0x5442
jne 0x46d42b
push str.BitSpirit_v2_HTTPBT
jmp 0x46d0f1
push str.Unknown_BitSpirit
jmp 0x46d0f1
mov dl, byte [ebx + 1]
cmp dl, 0x45
jne 0x46d452
cmp cl, 0x52
jne 0x46d452
cmp byte [ebx + 3], 0x53
jne 0x46d452
push str.ERSAnonymous
jmp 0x46d0f1
cmp al, 0x41
jne 0x46d486
cmp dl, 0x5a
jne 0x46d486
cmp cl, 0x32
jne 0x46d486
cmp byte [ebx + 3], 0x35
jne 0x46d486
cmp ch, 0x30
jne 0x46d486
cmp byte [ebx + 5], ch
jne 0x46d486
cmp byte [ebx + 6], 0x42
jne 0x46d486
cmp byte [ebx + 7], 0x54
jne 0x46d486
push str.BitTyrant
jmp 0x46d0f1
cmp al, 0x42
jne 0x46d4a7
cmp dl, 0x4c
jne 0x46d4a7
cmp cl, 0x5a
jne 0x46d4a7
movzx eax, ch
push eax
movzx eax, byte [ebx + 3]
push eax
push str.Blizzard__d._d
jmp 0x46d32b
cmp al, 0x4d
jne 0x46d4d9
cmp dl, 0x62
jne 0x46d4d9
cmp cl, 0x72
jne 0x46d4d9
cmp byte [ebx + 3], 0x73
jne 0x46d4d9
cmp ch, 0x74
jne 0x46d4d9
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 0x46ce23
cmp al, 0x2d
jne 0x46d539
cmp dl, 0x46
jne 0x46d502
cmp cl, 0x47
jne 0x46d502
lea eax, [ebx + 3]
push eax
call fcn.00678742
push 0x64
pop ecx
cdq
idiv ecx
push edx
push eax
push str.FlashGet__u._u
jmp 0x46ce23
cmp dl, 0x47
jne 0x46d516
cmp cl, 0x33
jne 0x46d516
push str.G3_Torrent
jmp 0x46d0f1
cmp dl, 0x4d
jne 0x46d539
cmp cl, 0x4c
jne 0x46d539
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 0x46ce23
cmp al, 0x4f
jne 0x46d55e
cmp dl, 0x50
jne 0x46d55e
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 0x46d393
cmp al, 0x4c
jne 0x46d57c
cmp dl, 0x49
jne 0x46d57c
cmp cl, 0x4d
jne 0x46d57c
cmp byte [ebx + 3], 0x45
jne 0x46d57c
push str.Limewire
jmp 0x46d0f1
xor eax, eax
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], esi
mov word [ebp - 0x34], ax
mov dword [ebp - 4], esi
mov edi, esi
mov al, byte [edi + ebx]
test al, al
je 0x46d59d
movzx eax, al
jmp 0x46d5a0
push 0x20
pop eax
push eax
push 1
lea ecx, [ebp - 0x34]
call fcn.00436192
inc edi
cmp edi, 0x14
jl 0x46d591
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x34]
push eax
call fcn.0042810c
push esi
push 1
lea ecx, [ebp - 0x34]
call fcn.004284eb
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc