Function at 0x410320
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x419e88
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
mov eax, dword [0x4776f8]
push ebp
push esi
mov dword [esp + 0x1c], ecx
push edi
mov ecx, 0x4776f8
mov dword [esp + 0x1c], 0
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [esp + 0x10], esi
mov edx, dword [0x4776f8]
mov ecx, 0x4776f8
mov dword [esp + 0x30], 0
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0xc], eax
mov eax, dword [0x4776f8]
mov ecx, 0x4776f8
mov byte [esp + 0x30], 1
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov edi, dword [0x4776d8]
push str.______portArray___
mov byte [esp + 0x34], 2
call fcn.00401a00
add esp, 4
test edi, edi
je 0x4103d4
mov eax, edi
mov eax, dword [eax]
mov edi, dword [edi + 8]
lea ecx, [eax + 0x2fd]
push ecx
lea edx, [eax + 0xff]
push edx
push eax
push str.port__s___modemname__s__HW_ID__s
call fcn.00401a00
add esp, 0x10
test edi, edi
jne 0x4103ad
mov edi, dword [0x4776d8]
push str.______portArray____
mov dword [esp + 0x1c], edi
call fcn.00401a00
add esp, 4
test edi, edi
je 0x410b6e
mov ebp, dword [sym.imp.MSLUR71.dll__mbsstr]
lea esp, [esp]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x410413
mov ecx, dword [eax + 8]
mov esi, dword [eax]
mov dword [esp + 0x18], ecx
jmp 0x410415
xor esi, esi
lea edx, [esi + 0xff]
test edx, edx
jne 0x410423
xor eax, eax
jmp 0x410431
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410428
sub eax, edi
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.00404d10
test esi, esi
jne 0x410444
xor eax, eax
jmp 0x410459
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410450
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x14]
call fcn.00404d10
lea ecx, [esi + 0x3fc]
test ecx, ecx
jne 0x410472
xor eax, eax
jmp 0x410480
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410477
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00404d10
mov esi, dword [esp + 0x10]
mov eax, dword [esi - 4]
mov edi, dword [esi - 0xc]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, edi
or eax, ecx
jge 0x4104b3
push edi
lea ecx, [esp + 0x14]
call fcn.00401650
mov esi, dword [esp + 0x10]
push esi
call dword [sym.imp.MSLUR71.dll__mbsupr]
add esp, 4
test edi, edi
jl 0x410bee
cmp edi, dword [esi - 8]
jg 0x410bee
mov eax, dword [esp + 0x38]
test eax, eax
mov dword [esi - 0xc], edi
mov byte [edi + esi], 0
je 0x410b62
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.SAMSUNG
push esi
call ebp
add esp, 8
test eax, eax
je 0x410665
sub eax, esi
cmp eax, 0xffffffff
je 0x410665
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push 0x41dac8
push esi
call ebp
add esp, 8
test eax, eax
je 0x410665
sub eax, esi
cmp eax, 0xffffffff
je 0x410665
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.MODEM
push esi
call ebp
add esp, 8
test eax, eax
je 0x410665
sub eax, esi
cmp eax, 0xffffffff
je 0x410665
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410652
push str.SAMSUNG
push esi
call ebp
add esp, 8
test eax, eax
je 0x410652
sub eax, esi
cmp eax, 0xffffffff
je 0x410652
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410652
push 0x41dac8
push esi
call ebp
add esp, 8
test eax, eax
je 0x410652
sub eax, esi
cmp eax, 0xffffffff
je 0x410652
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410652
push str.PLUS
push esi
call ebp
add esp, 8
test eax, eax
je 0x410652
sub eax, esi
cmp eax, 0xffffffff
je 0x410652
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410652
push str.MODEM
push esi
call ebp
add esp, 8
test eax, eax
je 0x410652
sub eax, esi
cmp eax, 0xffffffff
je 0x410652
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410652
push str.DRIVER
push esi
call ebp
add esp, 8
test eax, eax
je 0x410652
sub eax, esi
cmp eax, 0xffffffff
je 0x410652
push str._Init_Port_HSP_ok_r_n
call fcn.00401a00
push esi
push 0x41cb08
call fcn.00401a00
add esp, 8
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00401790
push 4
push ecx
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
mov byte [esp + 0x40], 3
call fcn.00401790
jmp 0x410b50
push esi
push str.Init_Port_This_is_not_Plus_HSP__s
call fcn.00401a00
add esp, 8
jmp 0x410b62
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.SAMSUNG
push esi
call ebp
add esp, 8
test eax, eax
je 0x4106ab
sub eax, esi
cmp eax, 0xffffffff
je 0x4106ab
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.MODEM
push esi
call ebp
add esp, 8
test eax, eax
je 0x4106ab
sub eax, esi
cmp eax, 0xffffffff
jne 0x410ac8
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.QUALCOMM
push esi
call ebp
add esp, 8
test eax, eax
je 0x4106f1
sub eax, esi
cmp eax, 0xffffffff
je 0x4106f1
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.MODEM
push esi
call ebp
add esp, 8
test eax, eax
je 0x4106f1
sub eax, esi
cmp eax, 0xffffffff
jne 0x410ac8
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.AGERE_MTD
push esi
call ebp
add esp, 8
test eax, eax
je 0x410737
sub eax, esi
cmp eax, 0xffffffff
je 0x410737
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.MODEM
push esi
call ebp
add esp, 8
test eax, eax
je 0x410737
sub eax, esi
cmp eax, 0xffffffff
jne 0x410ac8
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.BROADCOM_USB
push esi
call ebp
add esp, 8
test eax, eax
je 0x41075c
sub eax, esi
cmp eax, 0xffffffff
jne 0x410ac8
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.804SS
push esi
call ebp
add esp, 8
test eax, eax
je 0x4107a2
sub eax, esi
cmp eax, 0xffffffff
je 0x4107a2
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.MODEM
push esi
call ebp
add esp, 8
test eax, eax
je 0x4107a2
sub eax, esi
cmp eax, 0xffffffff
jne 0x410ac8
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.CELLAIRITY
push esi
call ebp
add esp, 8
test eax, eax
je 0x4107e8
sub eax, esi
cmp eax, 0xffffffff
je 0x4107e8
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.MODEM
push esi
call ebp
add esp, 8
test eax, eax
je 0x4107e8
sub eax, esi
cmp eax, 0xffffffff
jne 0x410ac8
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.PHILIPS
push esi
call ebp
add esp, 8
test eax, eax
je 0x410870
sub eax, esi
cmp eax, 0xffffffff
je 0x410870
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.SYSOL
push esi
call ebp
add esp, 8
test eax, eax
je 0x410870
sub eax, esi
cmp eax, 0xffffffff
je 0x410870
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.DRAGONFLY
push esi
call ebp
add esp, 8
test eax, eax
je 0x410870
sub eax, esi
cmp eax, 0xffffffff
je 0x410870
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.MODEM
push esi
call ebp
add esp, 8
test eax, eax
je 0x410870
sub eax, esi
cmp eax, 0xffffffff
jne 0x410ac8
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.COMNEON
push esi
call ebp
add esp, 8
test eax, eax
je 0x41094a
sub eax, esi
cmp eax, 0xffffffff
je 0x41094a
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.MOBILE
push esi
call ebp
add esp, 8
test eax, eax
je 0x41094a
sub eax, esi
cmp eax, 0xffffffff
je 0x41094a
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.HIGHSPEED
push esi
call ebp
add esp, 8
test eax, eax
je 0x41094a
sub eax, esi
cmp eax, 0xffffffff
je 0x41094a
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.MODEM
push esi
call ebp
add esp, 8
test eax, eax
je 0x41094a
sub eax, esi
cmp eax, 0xffffffff
je 0x41094a
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push 0x41c98c
push esi
call ebp
add esp, 8
test eax, eax
je 0x41094a
sub eax, esi
cmp eax, 0xffffffff
je 0x41094a
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push 0x41d9ec
push esi
call ebp
add esp, 8
test eax, eax
je 0x41094a
sub eax, esi
cmp eax, 0xffffffff
jne 0x410ac8
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.NEXPERIA
push esi
call ebp
add esp, 8
test eax, eax
je 0x4109fb
sub eax, esi
cmp eax, 0xffffffff
je 0x4109fb
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push 0x41d9dc
push esi
call ebp
add esp, 8
test eax, eax
je 0x4109fb
sub eax, esi
cmp eax, 0xffffffff
je 0x4109fb
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.SYSTEM
push esi
call ebp
add esp, 8
test eax, eax
je 0x4109fb
sub eax, esi
cmp eax, 0xffffffff
je 0x4109fb
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.SOLUTION
push esi
call ebp
add esp, 8
test eax, eax
je 0x4109fb
sub eax, esi
cmp eax, 0xffffffff
je 0x4109fb
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.MODEM
push esi
call ebp
add esp, 8
test eax, eax
je 0x4109fb
sub eax, esi
cmp eax, 0xffffffff
jne 0x410ac8
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.ERICSSON
push esi
call ebp
add esp, 8
test eax, eax
je 0x410b62
sub eax, esi
cmp eax, 0xffffffff
je 0x410b62
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.MOBILE
push esi
call ebp
add esp, 8
test eax, eax
je 0x410b62
sub eax, esi
cmp eax, 0xffffffff
je 0x410b62
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.PLATFORM
push esi
call ebp
add esp, 8
test eax, eax
je 0x410b62
sub eax, esi
cmp eax, 0xffffffff
je 0x410b62
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.EMPG
push esi
call ebp
add esp, 8
test eax, eax
je 0x410b62
sub eax, esi
cmp eax, 0xffffffff
je 0x410b62
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410b62
push str.DEVICE
push esi
call ebp
add esp, 8
test eax, eax
je 0x410b62
sub eax, esi
cmp eax, 0xffffffff
je 0x410b62
mov eax, dword [esi - 0xc]
test eax, eax
jl 0x410ae5
push str.SERIAL
push esi
call ebp
add esp, 8
test eax, eax
je 0x410ae5
sub eax, esi
cmp eax, 0xffffffff
jne 0x410b62
push str._Init_Port_
call fcn.00401a00
push esi
push 0x41cb08
call fcn.00401a00
mov ecx, dword [esp + 0x18]
push 0x41d26a
push ecx
call dword [sym.imp.MSLUR71.dll__mbscmp]
add esp, 0x14
test eax, eax
je 0x410b62
mov eax, dword [esp + 0x14]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov edi, esp
push eax
call fcn.004013b0
add eax, 0x10
add esp, 4
mov dword [edi], eax
mov eax, dword [esp + 0x10]
push 0
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov edi, esp
push eax
mov byte [esp + 0x40], 4
call fcn.004013b0
add esp, 4
add eax, 0x10
mov dword [edi], eax
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x3c], 2
call fcn.00410130
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x410400
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x30], 1
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x410b91
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
mov byte [esp + 0x30], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410bb4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [esi - 0x10]
mov dword [esp + 0x30], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410bd6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebp
add esp, 0x28
ret 4
push 0x80070057
call fcn.00401100
int3