Function at 0x49de31
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x670ba9
call fcn.006313fc
sub esp, 0x44
mov al, byte [0x73fb13]
push ebx
push ebp
mov ebx, ecx
and al, 0x13
push esi
xor ecx, ecx
mov dword [esp + 0x1c], ebx
push edi
cmp al, 1
jne 0x49de66
mov eax, dword [esp + 0x6c]
cmp dword [eax], ecx
jne 0x49de66
mov eax, dword [esp + 0x68]
jmp 0x49e43f
mov esi, ecx
cmp dword [ebx + 0x1c4], ecx
jbe 0x49de99
lea edi, [ebx + 0x1b4]
push esi
mov ecx, edi
call fcn.0041f637
mov eax, dword [eax]
test byte [eax + 0x16b], 2
je 0x49de91
push esi
mov ecx, edi
call fcn.0041f637
inc esi
cmp esi, dword [edi + 0x10]
jb 0x49de76
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x2c]
call fcn.0048de1c
and dword [esp + 0x5c], 0
cmp byte [0x73fa9d], 0
je 0x49dedd
sub esp, 0x18
mov ecx, esp
push 0x73faa0
call fcn.00422efb
lea eax, [esp + 0x44]
push eax
call fcn.0049c2cf
call fcn.0047e33a
mov byte [esp + 0x13], al
xor ecx, ecx
mov eax, dword [ebx + 0x198]
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0061c0ee
mov ebp, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x18], ebp
pop ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
cmp dword [ebx + 0x198], eax
je 0x49e132
lea ecx, [ebx + 0x188]
mov dword [esp + 0x18], ebp
push eax
call fcn.0041f637
mov ecx, eax
call fcn.00488812
mov esi, eax
lea eax, [esp + 0x40]
push eax
lea ebp, [esi + 0x66]
mov ecx, ebp
call fcn.00472339
cmp word [esp + 0x50], 0
je 0x49e10f
lea eax, [esp + 0x40]
push eax
call fcn.004662da
test al, al
jne 0x49df6b
cmp byte [esp + 0x13], al
je 0x49e10f
test byte [esi + 0x70], 1
mov eax, dword [esi]
je 0x49df7b
cmp dword [eax + 0x14], 0x10
jb 0x49df7b
mov eax, dword [eax]
test eax, eax
je 0x49df90
lea ecx, [esp + 0x40]
call fcn.004640b5
test al, al
jne 0x49e10f
push 1
mov ecx, esi
call fcn.004e11b5
test eax, eax
je 0x49dfca
mov al, byte [esi + 0x4f]
test al, 8
je 0x49dfca
test al, 0x10
je 0x49dfb0
inc dword [0x7640ac]
jmp 0x49dfc6
inc dword [0x764098]
mov ecx, esi
push 1
call fcn.004e11b5
or byte [eax + 0x16b], 8
and byte [esi + 0x4f], 0xe7
mov cl, byte [esi + 0x4f]
test cl, 8
je 0x49dfe1
mov al, byte [esi + 0x2c]
and al, 0x3f
cmp al, 6
jb 0x49dfe1
and cl, 0xe7
mov byte [esi + 0x4f], cl
test byte [esi + 0x70], 1
je 0x49dffa
mov eax, dword [esi]
mov ecx, ebx
add eax, 0x78
push eax
call fcn.004a0d7f
mov ecx, eax
test eax, eax
jne 0x49dffc
mov ecx, esi
push 0xff
call fcn.004dea94
push 1
mov ecx, esi
mov byte [esp + 0x15], al
call fcn.004dea94
mov ecx, esi
mov byte [esp + 0x12], al
call fcn.004debfe
mov dl, al
mov al, byte [esp + 0x11]
test al, al
je 0x49e03b
mov ecx, dword [esp + 0x6c]
cmp dword [ecx], 0
jg 0x49e058
mov cl, byte [esp + 0x12]
test cl, cl
jne 0x49e047
jmp 0x49e03f
mov cl, byte [esp + 0x12]
test dl, dl
je 0x49e10f
mov edx, dword [esp + 0x6c]
cmp dword [edx], 0
jg 0x49e058
test cl, cl
je 0x49e10f
test al, al
je 0x49e10f
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xe8]
test al, al
je 0x49e078
test byte [esi + 0x4f], 0x40
jne 0x49e10f
test byte [esi + 0x4f], 1
jne 0x49e10f
lea eax, [esp + 0x40]
push eax
call fcn.004d71f1
test al, al
jne 0x49e10f
cmp byte [0x73fb00], al
je 0x49e0dd
lea eax, [esp + 0x40]
push eax
call fcn.004662da
test al, al
je 0x49e0dd
push dword [esp + 0x4c]
call dword [sym.imp.WS2_32.dll_ntohl]
mov cl, byte [esi + 0x4f]
shr cl, 2
and cl, 1
movzx ecx, cl
push ecx
lea ecx, [esi + 0x4a]
push ecx
push eax
mov ecx, 0x76d350
call fcn.0051ca55
shl al, 2
xor al, byte [esi + 0x4f]
and al, 4
xor byte [esi + 0x4f], al
test byte [esi + 0x4f], 4
jne 0x49e10f
test byte [esi + 0x4d], 0x10
jne 0x49e16e
mov eax, dword [0x7641a4]
test eax, eax
je 0x49e0fd
add eax, 0x54
cmp dword [eax + 0x14], 0x10
jb 0x49e102
mov eax, dword [eax]
jmp 0x49e102
mov eax, str._no_message_
push eax
push str.WARNING:_avoiding_connecting_to_web_seed_because_its_blocked_by_policy__s
call fcn.00479036
pop ecx
pop ecx
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
lea ecx, [ebx + 0x188]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [ebx + 0x198]
jne 0x49df29
mov dword [esp + 0x18], edi
lea ecx, [esp + 0x2c]
call fcn.0041fd99
mov esi, dword [esp + 0x70]
lea ecx, [esi + 4]
call fcn.004640b5
test al, al
jne 0x49e2a6
mov byte [esi + 1], 1
mov ecx, esi
mov al, byte [ebx + 0x13c]
shr al, 6
and al, 1
movzx eax, al
push eax
call fcn.004b1ca1
jmp 0x49e2ba
cmp byte [0x73fa9d], 0
je 0x49e1d2
test byte [esi + 0x70], 1
jne 0x49e1ee
movzx eax, word [ebp + 4]
test ax, ax
jne 0x49e18d
mov eax, dword [ebp]
movzx eax, word [eax + 0x10]
mov ecx, 0x400
cmp ax, cx
jae 0x49e1a4
mov al, byte [esi + 0x4c]
and al, 0x1f
cmp al, 2
je 0x49e10f
movzx eax, word [ebp + 4]
test ax, ax
jne 0x49e1b4
mov eax, dword [ebp]
movzx eax, word [eax + 0x10]
movzx eax, ax
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.0049273c
test al, al
jne 0x49e10f
test byte [esi + 0x70], 1
jne 0x49e1ee
mov ecx, dword [ebx + 0xcc]
mov eax, dword [ecx]
call dword [eax + 0x10c]
test al, al
je 0x49e10f
cmp byte [ebx + 0x6ac], 0
je 0x49e201
test byte [esi + 0x70], 1
je 0x49e10f
test byte [esi + 0x70], 1
je 0x49e21c
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x4c]
test al, al
je 0x49e10f
test byte [esi + 0x70], 1
jne 0x49e25a
test byte [esi + 0x4e], 0x80
jne 0x49e25a
mov ecx, dword [0x763900]
mov eax, dword [ecx]
call dword [eax + 0x94]
test al, al
je 0x49e25a
or byte [esi + 0x4e], 0x80
lea eax, [esp + 0x40]
push eax
call fcn.004662da
test al, al
je 0x49e25a
mov ecx, dword [0x763900]
lea edx, [esp + 0x40]
push 2
push 0
push edx
mov eax, dword [ecx]
call dword [eax + 0x58]
mov dl, byte [esi + 0x4d]
mov eax, dword [esi + 0x5e]
shr eax, 0x1c
movzx ecx, dl
add eax, 0xfffffffb
and ecx, 0xf
add eax, ecx
jne 0x49e289
test byte [esi + 0x4f], 8
jne 0x49e289
test dl, 0x20
jne 0x49e289
mov ebp, dword [esp + 0x14]
mov dword [ebp + edi*4], esi
inc edi
jmp 0x49e113
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [ecx]
mov dword [ebp + edi*4], eax
inc edi
mov dword [ecx], esi
add ecx, 4
mov dword [esp + 0x18], ecx
jmp 0x49e113
lea eax, [edi*4]
add eax, ebp
push eax
push ebp
call fcn.00497ee0
mov byte [esi + 1], 0
mov ebx, dword [esp + 0x68]
mov edx, ebp
mov dword [esp + 0x28], edx
test ebx, ebx
jle 0x49e423
test edi, edi
je 0x49e41f
mov ebp, ebx
cmp ebx, edi
jb 0x49e2dc
mov ebp, edi
sub esp, 0x74
lea eax, [edx + ebp*4]
mov dword [esp + 0x98], eax
push 0x1d
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0x98]
lea eax, [edx + edi*4]
push eax
push esi
push edx
call fcn.00497930
xor eax, eax
mov dword [esp + 0x1c], eax
test ebp, ebp
je 0x49e407
mov edi, dword [esp + 0x28]
test ebx, ebx
jle 0x49e3ff
mov esi, dword [edi + eax*4]
mov al, byte [esi + 0x4d]
and al, 0xf
cmp al, 0xa
jne 0x49e355
mov ecx, esi
call fcn.004a222c
cmp eax, 0x10
jbe 0x49e347
call fcn.0046818d
mov ecx, eax
and ecx, 3
jmp 0x49e349
xor ecx, ecx
mov al, byte [esi + 0x4e]
xor al, cl
and al, 0x1f
xor byte [esi + 0x4e], al
jmp 0x49e365
call fcn.0046818d
mov cl, byte [esi + 0x4e]
xor cl, al
and cl, 0x1f
xor byte [esi + 0x4e], cl
movzx eax, byte [0x73fb13]
and eax, 0x13
mov dword [esp + 0x68], eax
test al, 2
je 0x49e39f
push 1
mov ecx, esi
call fcn.004dea94
test al, al
je 0x49e39b
mov ecx, dword [esp + 0x20]
push esi
push 1
call fcn.0049e452
test al, al
mov eax, dword [esp + 0x68]
je 0x49e39f
dec ebx
jmp 0x49e39f
mov eax, dword [esp + 0x68]
test al, 1
je 0x49e3dc
push 0
mov ecx, esi
call fcn.004dea94
mov ecx, dword [esp + 0x6c]
test al, al
je 0x49e3d6
cmp dword [ecx], 0
jle 0x49e3d6
mov ecx, dword [esp + 0x20]
push esi
push 0
call fcn.0049e452
mov ecx, dword [esp + 0x6c]
test al, al
mov eax, dword [esp + 0x68]
je 0x49e3e0
dec dword [ecx]
dec ebx
jmp 0x49e3e0
mov eax, dword [esp + 0x68]
jmp 0x49e3e0
mov ecx, dword [esp + 0x6c]
cmp eax, 1
jne 0x49e3ea
cmp dword [ecx], 0
jle 0x49e3ff
test ebx, ebx
je 0x49e3ff
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, ebp
jb 0x49e31b
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
mov edx, esi
sub edi, ebp
mov esi, dword [esp + 0x70]
mov dword [esp + 0x28], edx
mov dword [esp + 0x18], edi
test ebx, ebx
jg 0x49e2cc
mov ebp, dword [esp + 0x14]
push ebp
call fcn.006341e9
pop ecx
lea ecx, [esp + 0x2c]
call fcn.0041fd99
push dword [esp + 0x2c]
call fcn.0040a313
pop ecx
mov eax, ebx
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
leave
ret 0xc