Function at 0x46ab44
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x672975
call fcn.0062921c
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 0x46b0fa
mov cl, byte [ebx + 6]
cmp cl, dl
je 0x46ab79
cmp byte [ebx + 7], dl
jne 0x46b0fa
movzx edx, byte [ebx + 1]
movzx edi, byte [ebx + 2]
mov eax, edx
shl eax, 8
add eax, edi
cmp eax, 0x4c57
ja 0x46ae01
je 0x46adf7
cmp eax, 0x4253
ja 0x46accc
je 0x46acc2
mov esi, 0x4242
cmp eax, esi
ja 0x46ac17
je 0x46ac0d
sub eax, 0x4147
je 0x46abdb
sub eax, 0xb
je 0x46ac03
sub eax, 4
je 0x46abf9
dec eax
sub eax, 1
je 0x46abef
dec eax
sub eax, 1
je 0x46abe5
sub eax, 0x24
jne 0x46b02c
mov esi, str.Ares
jmp 0x46b06e
mov esi, str.Azureus
jmp 0x46b06e
mov esi, str.BitPump
jmp 0x46b06e
mov esi, str.Avicora
jmp 0x46b06e
mov esi, str.Arctic
jmp 0x46b06e
mov esi, str.BitBuddy
jmp 0x46b06e
sub eax, 0x4243
je 0x46acb8
dec eax
sub eax, 1
je 0x46acae
sub eax, 1
je 0x46aca4
sub eax, 1
je 0x46ac9a
sub eax, 8
je 0x46ac4e
sub eax, 3
jne 0x46b02c
mov esi, str.BitRocket
jmp 0x46b06e
mov dl, byte [ebx + 4]
cmp dl, 0x41
jne 0x46ac78
cmp byte [ebx + 5], 0x30
jne 0x46ac78
movzx eax, cl
sub eax, 0x3d
push eax
push str.Bits_on_Wheels_1.0._d
push dword [ebp + 8]
call fcn.004607f4
add esp, 0xc
jmp 0x46b42f
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.004607f4
add esp, 0x14
jmp 0x46b42f
mov esi, 0x69c498
jmp 0x46b06e
mov esi, str.Bitflu
jmp 0x46b06e
mov esi, str.BitTorrent_SDK
jmp 0x46b06e
mov esi, str.BitComet
jmp 0x46b06e
mov esi, str.BitSlave
jmp 0x46b06e
mov ecx, 0x4654
cmp eax, ecx
ja 0x46ad92
je 0x46ad41
sub eax, 0x4258
je 0x46ad37
sub eax, 0xec
je 0x46ad2d
sub eax, 0x10
je 0x46ad23
sub eax, 0xf1
je 0x46ad19
sub eax, 0xfd
je 0x46ad0f
sub eax, 0x11
jne 0x46b02c
mov esi, str.electric_sheep
jmp 0x46b06e
mov esi, str.EBit
jmp 0x46b06e
mov esi, str.DelugeTorrent
jmp 0x46b06e
mov esi, str.CTorrent
jmp 0x46b06e
mov esi, str.Enhanced_CTorrent
jmp 0x46b06e
mov esi, str.Bittorrent_X
jmp 0x46b06e
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 0x46ad5e
lea eax, [ecx - 0x30]
mov word [ebp + esi*2 - 0x1c], ax
inc esi
cmp esi, 4
jl 0x46ad44
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.004607f4
add esp, 0x1c
jmp 0x46b42f
sub eax, 0x4845
je 0x46aded
sub eax, 7
je 0x46ade3
dec eax
sub eax, 1
je 0x46add9
sub eax, 0x306
je 0x46adcf
sub eax, 0xfc
je 0x46adc5
sub eax, 4
jne 0x46b02c
mov esi, str.libtorrent
jmp 0x46b06e
mov esi, str.Lphant
jmp 0x46b06e
mov esi, str.KTorrent
jmp 0x46b06e
mov esi, str.Hydranode
jmp 0x46b06e
mov esi, str.Halite
jmp 0x46b06e
mov esi, str.Helix
jmp 0x46b06e
mov esi, str.LimeWire
jmp 0x46b06e
mov ecx, 0x5453
cmp eax, ecx
ja 0x46aef5
je 0x46aeeb
mov ecx, 0x5344
cmp eax, ecx
ja 0x46ae89
je 0x46b069
sub eax, 0x4d50
je 0x46ae7f
dec eax
sub eax, 1
je 0x46ae75
dec eax
sub eax, 1
je 0x46ae6b
sub eax, 0x3f0
je 0x46ae61
sub eax, 0x10
je 0x46ae57
sub eax, 0x100
jne 0x46b02c
mov esi, str.Retriever
jmp 0x46b06e
mov esi, str.Qt_4_Torrent_Example
jmp 0x46b06e
mov esi, str.QQDownload
jmp 0x46b06e
mov esi, str.MoonlightTorrent
jmp 0x46b06e
mov esi, str.Miro
jmp 0x46b06e
mov esi, str.MooPolice
jmp 0x46b06e
sub eax, 0x5347
je 0x46aee1
sub eax, 0xc
je 0x46aed7
sub eax, 7
je 0x46aecd
sub eax, 0x24
je 0x46aec3
sub eax, 0xd0
je 0x46aeb9
sub eax, 4
jne 0x46b02c
mov esi, str.Transmission
jmp 0x46b06e
mov esi, str.Torrent_.NET
jmp 0x46b06e
mov esi, str.Shareaza_alpha_beta
jmp 0x46b06e
mov esi, str.Shareaza
jmp 0x46b06e
mov esi, str.SwarmScope
jmp 0x46b06e
mov esi, str.SG_Torrent
jmp 0x46b06e
mov esi, str.TorrentStorm
jmp 0x46b06e
mov ecx, 0x5759
cmp eax, ecx
ja 0x46b006
je 0x46afff
sub eax, 0x5454
je 0x46aff8
sub eax, 0xf1
je 0x46aff1
sub eax, 7
je 0x46afea
sub eax, 1
je 0x46afe0
sub eax, 7
je 0x46af4a
sub eax, 0xf3
jne 0x46b02c
mov esi, str.Vagaa
jmp 0x46b06e
cmp dword [ebx + 0x10], 0x30504455
jne 0x46af65
push str._FAKE__BitSpirit
mov ecx, dword [ebp + 8]
call fcn.00424ff1
jmp 0x46b42f
movzx ecx, byte [ebx + 3]
mov esi, 0x68fcf4
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 0x46af9c
cmp byte [ebp + 0x10], 0
je 0x46af9c
mov esi, 0x69c880
jmp 0x46b06e
cmp ecx, 0x313332
jb 0x46afbc
push ebx
call fcn.0046b8b4
test al, al
jne 0x46b071
mov esi, str._FAKE__uTorrent
jmp 0x46b06e
cmp ecx, eax
jb 0x46b071
mov ax, word [ebx + 8]
mov ecx, 0x3fff
and ax, cx
mov ecx, 0x1f4
cmp ax, cx
jbe 0x46b071
jmp 0x46af92
mov esi, str.uTorrent_Mac
jmp 0x46b06e
mov esi, str.uLeecher
jmp 0x46b06e
mov esi, str.uTorrent_Embedded
jmp 0x46b06e
mov esi, str.TuoTu
jmp 0x46b06e
mov esi, str.Wyzo
jmp 0x46b06e
sub eax, 0x584c
je 0x46b069
sub eax, 8
je 0x46b062
sub eax, 4
je 0x46b05b
sub eax, 0x1fc
je 0x46b054
sub eax, 0x1220
je 0x46b04d
sub eax, 0x4ce
je 0x46b046
push edi
push edx
push str.Unknown__c_c
lea eax, [ebp - 0x5c]
push 0x14
push eax
call fcn.0045fc27
add esp, 0x14
lea esi, [ebp - 0x5c]
jmp 0x46b06e
mov esi, str.qBittorrent
jmp 0x46b06e
mov esi, str.libTorrent
jmp 0x46b06e
mov esi, str.ZipTorrent
jmp 0x46b06e
mov esi, str.Xtorrent
jmp 0x46b06e
mov esi, str.XanTorrent
jmp 0x46b06e
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.006425a1
pop ecx
test eax, eax
je 0x46b0d8
movzx ecx, byte [esi]
mov word [edi], cx
lea eax, [ecx - 0x30]
cmp ax, bx
ja 0x46b0ac
lea eax, [ecx - 0x30]
jmp 0x46b0c7
push 0x19
lea eax, [ecx - 0x41]
pop edx
cmp ax, dx
ja 0x46b0bc
lea eax, [ecx - 0x37]
jmp 0x46b0c7
lea eax, [ecx - 0x61]
cmp ax, dx
ja 0x46b0ca
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 0x46b08b
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 0x46ad82
mov ch, byte [ebx + 4]
cmp ch, dl
jne 0x46b1a2
cmp byte [ebx + 5], dl
jne 0x46b1a2
movzx ecx, al
mov eax, ecx
sub eax, 0x41
je 0x46b16d
sub eax, 0xe
je 0x46b166
sub eax, 3
je 0x46b15f
sub eax, 1
je 0x46b158
sub eax, 1
je 0x46b151
sub eax, 1
je 0x46b14a
push ecx
push str.Unknown__c
lea eax, [ebp - 0x5c]
push 0x14
push eax
call fcn.0045fc27
add esp, 0x10
lea ecx, [ebp - 0x5c]
jmp 0x46b172
mov ecx, 0x69c9cc
jmp 0x46b172
mov ecx, str.BitTornado
jmp 0x46b172
mov ecx, str.Shadow
jmp 0x46b172
mov ecx, str.Tribler
jmp 0x46b172
mov ecx, str.Osprey_Permaseed
jmp 0x46b172
mov ecx, 0x69c968
movzx eax, byte [ebx + esi + 1]
mov word [ebp + esi*2 - 0x1c], ax
inc esi
cmp esi, 4
jl 0x46b172
xor eax, eax
mov word [ebp - 0x16], ax
lea eax, [ebp - 0x1c]
push eax
push ecx
push 0x69c9f0
push dword [ebp + 8]
call fcn.004607f4
add esp, 0x10
jmp 0x46b42f
cmp al, 0x4d
jne 0x46b20a
mov cl, byte [ebx + 2]
cmp cl, dl
jne 0x46b20a
cmp ch, dl
jne 0x46b1d4
cmp byte [ebx + 6], dl
jne 0x46b1d4
cmp byte [ebx + 7], dl
jne 0x46b1d4
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 0x46ac8a
cmp cl, dl
jne 0x46b20a
cmp byte [ebx + 5], dl
jne 0x46b20a
cmp byte [ebx + 7], dl
jne 0x46b20a
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.004607f4
add esp, 0x18
jmp 0x46b42f
cmp al, 0x65
jne 0x46b256
cmp byte [ebx + 1], 0x78
jne 0x46b256
cmp byte [ebx + 2], 0x62
jne 0x46b256
cmp byte [ebx + 3], 0x63
jne 0x46b256
cmp byte [ebx + 6], 0x4c
jne 0x46b23d
cmp byte [ebx + 7], 0x4f
jne 0x46b23d
cmp byte [ebx + 8], 0x52
jne 0x46b23d
cmp byte [ebx + 9], 0x44
mov edx, str.BitLord
je 0x46b242
mov edx, str.BitComet
movzx eax, byte [ebx + 5]
push eax
movzx eax, ch
push eax
push edx
push str._s__i._i
jmp 0x46ac8a
mov cl, byte [ebx + 2]
cmp cl, 0x42
jne 0x46b29c
cmp byte [ebx + 3], 0x53
jne 0x46b29c
cmp dword [ebx + 0x10], 0x30504455
jne 0x46b277
push str.BitSpirit_v2_UDP0
jmp 0x46af58
cmp dword [ebx + 0xe], 0x50545448
jne 0x46b292
cmp word [ebx + 0x12], 0x5442
jne 0x46b292
push str.BitSpirit_v2_HTTPBT
jmp 0x46af58
push str.Unknown_BitSpirit
jmp 0x46af58
mov dl, byte [ebx + 1]
cmp dl, 0x45
jne 0x46b2b9
cmp cl, 0x52
jne 0x46b2b9
cmp byte [ebx + 3], 0x53
jne 0x46b2b9
push str.ERSAnonymous
jmp 0x46af58
cmp al, 0x41
jne 0x46b2ed
cmp dl, 0x5a
jne 0x46b2ed
cmp cl, 0x32
jne 0x46b2ed
cmp byte [ebx + 3], 0x35
jne 0x46b2ed
cmp ch, 0x30
jne 0x46b2ed
cmp byte [ebx + 5], ch
jne 0x46b2ed
cmp byte [ebx + 6], 0x42
jne 0x46b2ed
cmp byte [ebx + 7], 0x54
jne 0x46b2ed
push str.BitTyrant
jmp 0x46af58
cmp al, 0x42
jne 0x46b30e
cmp dl, 0x4c
jne 0x46b30e
cmp cl, 0x5a
jne 0x46b30e
movzx eax, ch
push eax
movzx eax, byte [ebx + 3]
push eax
push str.Blizzard__d._d
jmp 0x46b192
cmp al, 0x4d
jne 0x46b340
cmp dl, 0x62
jne 0x46b340
cmp cl, 0x72
jne 0x46b340
cmp byte [ebx + 3], 0x73
jne 0x46b340
cmp ch, 0x74
jne 0x46b340
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 0x46ac8a
cmp al, 0x2d
jne 0x46b3a0
cmp dl, 0x46
jne 0x46b369
cmp cl, 0x47
jne 0x46b369
lea eax, [ebx + 3]
push eax
call fcn.00639b32
push 0x64
pop ecx
cdq
idiv ecx
push edx
push eax
push str.FlashGet__u._u
jmp 0x46ac8a
cmp dl, 0x47
jne 0x46b37d
cmp cl, 0x33
jne 0x46b37d
push str.G3_Torrent
jmp 0x46af58
cmp dl, 0x4d
jne 0x46b3a0
cmp cl, 0x4c
jne 0x46b3a0
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 0x46ac8a
cmp al, 0x4f
jne 0x46b3c5
cmp dl, 0x50
jne 0x46b3c5
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 0x46b1fa
cmp al, 0x4c
jne 0x46b3e3
cmp dl, 0x49
jne 0x46b3e3
cmp cl, 0x4d
jne 0x46b3e3
cmp byte [ebx + 3], 0x45
jne 0x46b3e3
push str.Limewire
jmp 0x46af58
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 0x46b404
movzx eax, al
jmp 0x46b407
push 0x20
pop eax
push eax
push 1
lea ecx, [ebp - 0x34]
call fcn.00434021
inc edi
cmp edi, 0x14
jl 0x46b3f8
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x34]
push eax
call fcn.004231e5
push esi
push 1
lea ecx, [ebp - 0x34]
call fcn.0042386b
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