Function at 0x428fe0
Capabilities:
Create thread
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x4c
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov dword [0x51e790], eax
mov dword [0x51e794], edx
mov dword [0x51e798], ecx
mov dword [0x51e79c], ebx
mov dword [0x51e7a0], ebp
mov dword [0x51e7a4], esi
mov dword [0x51e7a8], edi
push str.streamreader.dll
push str.streamreader
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x68]
call fcn.0041d500
mov esi, eax
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x51e760], eax
cmp eax, 0x20
jae 0x429077
push esi
push str.LoadLibrary__s__failed.
call fcn.00429c10
mov eax, 0x64
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
push str.CheckForDVB
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x51e764], eax
test eax, eax
je 0x42986f
push str.StartDVB
push dword [0x51e760]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x51e768], eax
test eax, eax
je 0x429853
push str.StopDVB
push dword [0x51e760]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x51e76c], eax
test eax, eax
je 0x429837
push str.SendDiSEqC
push dword [0x51e760]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x51e770], eax
test eax, eax
je 0x42981b
push str.SetChannel
push dword [0x51e760]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x51e774], eax
test eax, eax
je 0x4297ff
push str.SetFilter
push dword [0x51e760]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x51e778], eax
test eax, eax
je 0x4297e3
push str.SetBitFilter
push dword [0x51e760]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x51e77c], eax
test eax, eax
je 0x4297c7
push str.DelFilter
push dword [0x51e760]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x51e780], eax
test eax, eax
je 0x4297ab
push str.Statistic
push dword [0x51e760]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x51e784], eax
test eax, eax
je 0x429794
push str.GetSignal
push dword [0x51e760]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x51e788], eax
test eax, eax
je 0x42977d
call dword [0x51e764]
test eax, eax
jne 0x4291bf
push str.CheckForDVB___failed.
call fcn.00429c10
mov eax, 0x75
add esp, 0x50
pop ebx
pop ebp
pop esi
pop edi
ret
call dword [0x51e768]
test eax, eax
je 0x429670
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4294c1
lea eax, [esp + 8]
push 4
push eax
push str.diseqc
call fcn.0041d514
mov ecx, eax
add esp, 0xc
test ecx, ecx
jne 0x429200
xor esi, esi
xor eax, eax
mov dword [esp + 4], eax
jmp 0x4293f3
cmp ecx, 1
je 0x42969e
mov edx, 2
mov esi, 0xf0
xor eax, eax
mov dword [esp + 4], edx
test ecx, ecx
jle 0x4293f3
mov dword [esp], ecx
mov ebp, eax
mov ebx, esi
mov ecx, dword [esp + ebp*4 + 8]
mov edi, ecx
mov esi, str.LOW_BAND
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x429253
or dl, dl
je 0x42924f
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x429253
add edi, 2
add esi, 2
or dl, dl
jne 0x429233
xor eax, eax
jmp 0x429258
sbb eax, eax
or eax, 1
inc ebp
test eax, eax
je 0x4293de
mov edi, ecx
mov esi, str.HIGH_BAND
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x429288
or dl, dl
je 0x429284
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x429288
add edi, 2
add esi, 2
or dl, dl
jne 0x429268
xor eax, eax
jmp 0x42928d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x429299
or ebx, 1
jmp 0x4293de
mov edi, ecx
mov esi, str.VERTICAL
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4292c0
or dl, dl
je 0x4292bc
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4292c0
add edi, 2
add esi, 2
or dl, dl
jne 0x4292a0
xor eax, eax
jmp 0x4292c5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4293de
mov edi, ecx
mov esi, str.HORIZONTAL
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4292f4
or dl, dl
je 0x4292f0
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4292f4
add edi, 2
add esi, 2
or dl, dl
jne 0x4292d4
xor eax, eax
jmp 0x4292f9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x429308
movzx ebx, bl
or ebx, 2
jmp 0x4293de
mov edi, ecx
mov esi, str.POSITION_A
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x42932f
or dl, dl
je 0x42932b
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x42932f
add edi, 2
add esi, 2
or dl, dl
jne 0x42930f
xor eax, eax
jmp 0x429334
sbb eax, eax
or eax, 1
test eax, eax
je 0x4293de
mov edi, ecx
mov esi, str.POSITION_B
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x429363
or dl, dl
je 0x42935f
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x429363
add edi, 2
add esi, 2
or dl, dl
jne 0x429343
xor eax, eax
jmp 0x429368
sbb eax, eax
or eax, 1
test eax, eax
jne 0x429374
movzx ebx, bl
or ebx, 4
jmp 0x4293de
mov edi, ecx
mov esi, str.OPTION_A
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x42939b
or dl, dl
je 0x429397
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x42939b
add edi, 2
add esi, 2
or dl, dl
jne 0x42937b
xor eax, eax
jmp 0x4293a0
sbb eax, eax
or eax, 1
test eax, eax
je 0x4293de
mov edi, ecx
mov esi, str.OPTION_B
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4293cb
or dl, dl
je 0x4293c7
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4293cb
add edi, 2
add esi, 2
or dl, dl
jne 0x4293ab
xor eax, eax
jmp 0x4293d0
sbb eax, eax
or eax, 1
test eax, eax
jne 0x429687
movzx ebx, bl
or ebx, 8
mov edx, dword [esp]
cmp ebp, edx
jl 0x429228
mov esi, ebx
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x60]
mov eax, dword [esp + 4]
test eax, eax
je 0x42942d
push esi
push eax
call dword [0x51e770]
add esp, 8
test eax, eax
jne 0x42942d
and esi, 0xff
push esi
mov eax, dword [esp + 8]
push eax
push str.SendDiSEqC__d___d__failed.
call fcn.00429c10
mov eax, 0x99
add esp, 0x58
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [esp + 0x84]
push eax
mov edx, dword [esp + 0x84]
push edx
mov ecx, dword [esp + 0x84]
push ecx
mov esi, dword [esp + 0x84]
push esi
mov edi, dword [esp + 0x80]
push edi
mov eax, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x84]
push eax
call dword [0x51e774]
add esp, 0x1c
test eax, eax
jne 0x4294c1
mov eax, dword [esp + 0x84]
push eax
mov edx, dword [esp + 0x84]
push edx
mov ecx, dword [esp + 0x84]
push ecx
mov ebx, dword [esp + 0x84]
push ebx
mov ebp, dword [esp + 0x80]
push ebp
mov esi, dword [esp + 0x88]
push esi
mov edi, dword [esp + 0x84]
push edi
push str.SetChannel__d___d___d___d___d___d___d__failed.
call fcn.00429c10
mov eax, 0x9d
add esp, 0x6c
pop ebx
pop ebp
pop esi
pop edi
ret
push 0
push 0x50587c
call fcn.0041d4e4
add esp, 8
test eax, eax
je 0x4295d9
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
push 0x505440
push str.ss1_mac_filter
call fcn.0041d500
mov edi, eax
add esp, 8
mov dword [esp + 0x34], 0xb
mov dword [esp + 0x38], 0xa
mov dword [esp + 0x3c], 9
mov dword [esp + 0x40], 8
mov dword [esp + 0x44], 4
mov dword [esp + 0x48], 3
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x42954a
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x429542
shr eax, 1
xor esi, esi
test eax, eax
jle 0x429589
lea ebp, [esi + esi]
add ebp, edi
mov ebx, eax
mov dword [esp], edi
mov edx, dword [esp]
cmp byte [edx + esi*2], 0x3f
je 0x42957d
push 2
push ebp
call fcn.004f2ca0
add esp, 8
mov edx, dword [esp + esi*4 + 0x34]
mov byte [esp + edx + 0x1c], al
mov byte [esp + edx + 0x28], 0xff
add ebp, 2
inc esi
cmp esi, ebx
jl 0x42955c
mov ebx, dword [esp + 0x68]
mov byte [esp + 0x1c], 0x3e
xor esi, esi
xor ebp, ebp
mov byte [esp + 0x28], 0xff
movzx eax, byte [esi + ebx]
test eax, eax
je 0x4295c8
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x28]
lea eax, [ebp + 0x516660]
push eax
push dword [esp + 0x68]
push 0xc
push edx
push ecx
push esi
call dword [0x51e77c]
add esp, 0x18
test eax, eax
je 0x429735
add ebp, 4
inc esi
cmp esi, 0x2002
jl 0x429597
jmp 0x429666
xor edi, edi
xor esi, esi
movzx eax, byte [edi + ebx]
test eax, eax
je 0x429630
cmp dword [0x5beb40], 0
je 0x429612
lea eax, [esi + 0x516660]
push eax
push 1
push 2
push 0x428f18
push edi
call dword [0x51e778]
add esp, 0x14
test eax, eax
je 0x42974d
jmp 0x429630
lea eax, [esi + 0x516660]
push eax
push 1
push 2
push ebp
push edi
call dword [0x51e778]
add esp, 0x14
test eax, eax
je 0x429765
add esi, 4
inc edi
cmp edi, 0x2002
jl 0x4295dd
cmp dword [0x5beb40], 0
je 0x429666
mov dword [0x51e78c], ebp
xor edx, edx
lea eax, [esp + 0x18]
push eax
push edx
push edx
push 0x428f74
push edx
push edx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x50d190], eax
xor eax, eax
add esp, 0x4c
pop ebx
pop ebp
pop esi
pop edi
ret
push str.StartDVB___failed.
call fcn.00429c10
mov eax, 0x76
add esp, 0x50
pop ebx
pop ebp
pop esi
pop edi
ret
push str.incorrect_diseqc
call fcn.00429c10
mov eax, 0x94
add esp, 0x50
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 1
mov edi, dword [esp + 8]
mov esi, str.POSITION_A
mov dword [esp + 4], eax
mov dword [esp], edi
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4296d3
or dl, dl
je 0x4296cf
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4296d3
add edi, 2
add esi, 2
or dl, dl
jne 0x4296b3
xor eax, eax
jmp 0x4296d8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4296e3
xor esi, esi
jmp 0x4293f3
mov edi, dword [esp]
mov esi, str.POSITION_B
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x42970b
or dl, dl
je 0x429707
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x42970b
add edi, 2
add esi, 2
or dl, dl
jne 0x4296eb
xor eax, eax
jmp 0x429710
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42971e
mov esi, 1
jmp 0x4293f3
push str.incorrect_diseqc
call fcn.00429c10
mov eax, 0x86
add esp, 0x50
pop ebx
pop ebp
pop esi
pop edi
ret
push esi
push str.SetBitFilter_pid_d__failed.
call fcn.00429c10
mov eax, 0xb7
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
push edi
push str.SetFilter_pid_d__failed.
call fcn.00429c10
mov eax, 0xc1
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
push edi
push str.SetFilter_pid_d__failed.
call fcn.00429c10
mov eax, 0xc5
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
push str.GetSignal
push str.GetProcAddress__s__failed.
call fcn.00429c10
add esp, 8
jmp 0x42919e
push str.Statistic
push str.GetProcAddress__s__failed.
call fcn.00429c10
add esp, 8
jmp 0x429180
push str.DelFilter
push str.GetProcAddress__s__failed.
call fcn.00429c10
mov eax, 0x70
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
push str.SetBitFilter
push str.GetProcAddress__s__failed.
call fcn.00429c10
mov eax, 0x6f
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
push str.SetFilter
push str.GetProcAddress__s__failed.
call fcn.00429c10
mov eax, 0x6d
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
push str.SetChannel
push str.GetProcAddress__s__failed.
call fcn.00429c10
mov eax, 0x6c
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
push str.SendDiSEqC
push str.GetProcAddress__s__failed.
call fcn.00429c10
mov eax, 0x6b
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
push str.StopDVB
push str.GetProcAddress__s__failed.
call fcn.00429c10
mov eax, 0x6a
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
push str.StartDVB
push str.GetProcAddress__s__failed.
call fcn.00429c10
mov eax, 0x69
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret
push str.CheckForDVB
push str.GetProcAddress__s__failed.
call fcn.00429c10
mov eax, 0x68
add esp, 0x54
pop ebx
pop ebp
pop esi
pop edi
ret