Function at 0x4377e0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4784b0
mov eax, dword fs:[0]
push eax
mov eax, 0x2390
call fcn.00472150
mov eax, dword [0x49eef8]
xor eax, esp
mov dword [esp + 0x238c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x49eef8]
xor eax, esp
push eax
lea eax, [esp + 0x23a4]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x23b8]
mov eax, dword [esp + 0x23bc]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x23b4]
xor edi, edi
mov dword [esp + 0x23ac], edi
cmp eax, edi
jne 0x437856
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x30]
push 0x1388
push eax
call edx
mov eax, dword [0x49f474]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f474
mov dword [esp + 0x70], edi
call edx
add eax, 0x10
mov dword [esp + 0x30], eax
mov eax, dword [0x49f474]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f474
mov byte [esp + 0x23ac], 1
call edx
add eax, 0x10
mov dword [esp + 0x3c], eax
mov eax, dword [0x49f474]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f474
mov byte [esp + 0x23ac], 2
call edx
add eax, 0x10
mov dword [esp + 0x38], eax
mov eax, dword [0x49f474]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f474
mov byte [esp + 0x23ac], 3
call edx
add eax, 0x10
mov dword [esp + 0x48], eax
mov eax, dword [0x49f474]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f474
mov byte [esp + 0x23ac], 4
call edx
add eax, 0x10
mov dword [esp + 0x44], eax
mov eax, dword [0x49f474]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f474
mov byte [esp + 0x23ac], 5
call edx
add eax, 0x10
mov dword [esp + 0x4c], eax
mov eax, dword [0x49f474]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f474
mov byte [esp + 0x23ac], 6
call edx
add eax, 0x10
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x23b4]
mov byte [esp + 0x23ac], 7
cmp eax, edi
jne 0x43794e
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
lea edx, [esp + 0x90]
push edx
push eax
mov eax, dword [ecx + 0x3c]
call eax
mov ecx, dword [esp + 0x90]
push ecx
lea ecx, [esp + 0x18]
call fcn.004062a0
lea ecx, [esp + 0x14]
mov byte [esp + 0x23ac], 8
call fcn.00407c60
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 0xc]
cmp eax, edi
mov ebp, dword [sym.imp.MSVCR90.dll_wcsstr]
jl 0x4379b3
push str.VID_04E8PID_6640
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4379b3
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x4379b3
mov dword [esp + 0x70], 1
mov edx, dword [0x49f474]
mov eax, dword [edx + 0xc]
mov ecx, 0x49f474
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x23b4]
push 0x1f4
push 3
lea ecx, [esp + 0x80]
push ecx
push edx
mov byte [esp + 0x23bc], 9
mov dword [esp + 0x68], 0x421be0
mov dword [esp + 0x6c], 0x421cc0
mov dword [esp + 0x70], 0x421d50
mov dword [esp + 0x74], 0x429470
mov byte [esp + 0x88], 0x81
mov byte [esp + 0x89], 0
mov byte [esp + 0x8a], 3
call fcn.00421a70
mov edx, dword [esp + 0x23b4]
push edi
push edi
push 0x64
lea eax, [esp + 0x2c]
push eax
push 3
lea ecx, [esp + 0x1ac]
push ecx
push edx
call fcn.00421b20
add esp, 0x1c
lea esp, [esp]
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x437c0d
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x437b34
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x437b38
cmp dword [ecx - 0xc], 0
jl 0x437c0d
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x437b34
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x437b38
cmp dword [ecx - 0xc], 0
jl 0x437c0d
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
test eax, eax
je 0x437b34
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x437b38
push 6
push str.ATE0_r_n
lea ecx, [esp + 0x20]
call fcn.00402b30
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
push eax
mov eax, dword [esp + 0x23c0]
push eax
call fcn.00421a70
test eax, eax
jl 0x437c0d
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
jmp 0x437c05
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x437c0d
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x437c0d
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x437c0d
cmp dword [ecx - 0xc], 0
jl 0x437c0d
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x437c0d
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x437c0d
cmp dword [ecx - 0xc], 0
jl 0x437c0d
push str.IF_JAVACOMM
push ecx
call ebp
add esp, 8
test eax, eax
je 0x437c0d
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x437c0d
push 6
push str.ATE0_r_n
lea ecx, [esp + 0x20]
call fcn.00402b30
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
mov edx, dword [esp + 0x23b4]
push 0x1388
push ecx
push eax
push edx
call fcn.00421a70
test eax, eax
jl 0x437c0d
push 3
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x23bc]
push 0x1388
lea ecx, [esp + 0x2c]
push ecx
push 0x2000
lea edx, [esp + 0x1ac]
push edx
push eax
call fcn.00421b20
add esp, 0x1c
push 5
push 0x4840ec
lea ecx, [esp + 0x20]
call fcn.00402b30
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 0xc]
mov ecx, dword [esp + 0x23b4]
push 0x1388
push eax
push esi
push ecx
call fcn.00421a70
test eax, eax
jl 0x437c72
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x1388
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
call fcn.00421b20
add esp, 0x1c
test eax, eax
je 0x437d3a
cmp eax, 1
jne 0x437d17
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x198]
push str.ERROR:
push ecx
mov byte [esp + eax + 0x1a0], 0
call dword [sym.imp.MSVCR90.dll_strstr]
add esp, 8
push eax
lea ecx, [esp + 0x38]
call fcn.00403450
push str.CME_ERROR:_r_n
push str.CME_ERROR:_r_n
lea ecx, [esp + 0x3c]
mov byte [esp + 0x23b4], 0xa
call fcn.00428c40
mov ecx, eax
call fcn.00426bf0
mov edx, dword [esp + 0x34]
push edx
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
cmp eax, 0xa
je 0x437e26
mov eax, dword [esp + 0x34]
push eax
call fcn.00428020
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
add esp, 4
mov byte [esp + 0x23ac], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437d27
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x437d27
cmp eax, 2
je 0x437d27
cmp eax, 0x8007048f
je 0x438015
cmp edi, 5
je 0x4381be
inc edi
cmp edi, 5
jbe 0x437a50
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43836d
push str.VID_04E8
push ecx
call ebp
add esp, 8
or edi, 0xffffffff
test eax, eax
je 0x438367
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, edi
jle 0x438370
cmp dword [ecx - 0xc], 0
jl 0x438442
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x438367
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, edi
jle 0x438370
cmp dword [ecx - 0xc], 0
jl 0x438442
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
test eax, eax
je 0x438367
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, edi
jle 0x438370
push 6
push str.ATE0_r_n
lea ecx, [esp + 0x20]
call fcn.00402b30
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
push eax
mov eax, dword [esp + 0x23c0]
push eax
call fcn.00421a70
test eax, eax
jl 0x438442
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
jmp 0x43843a
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x437e3b
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
push str.CDeviceManager::ModemIdentify
push 0x47ddf8
call fcn.00403100
push 1
push 0x482c88
call fcn.00403100
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
add esp, 0x10
mov byte [esp + 0x23ac], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437e89
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [esp + 0x23ac], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437ead
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437ed5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437efd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437f25
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437f4d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437f75
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437f9d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437fc5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437fed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x23ac], 0xffffffff
mov eax, dword [esp + 0x23b4]
test eax, eax
je 0x43800b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 6
jmp 0x43cc18
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x43802a
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea eax, [esi - 0x10]
mov byte [esp + 0x23ac], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438056
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43807e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4380a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4380ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4380f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43811e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0x23ac], 2
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438146
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43816e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0x23ac], 0
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438196
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x23ac], 0xffffffff
mov eax, dword [esp + 0x23b4]
test eax, eax
je 0x4381b4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 3
jmp 0x43cc18
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x4381d3
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea eax, [esi - 0x10]
mov byte [esp + 0x23ac], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4381ff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438227
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43824f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438277
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43829f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4382c7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4382ef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438317
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43833f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x23b4]
mov dword [esp + 0x23ac], 0xffffffff
test eax, eax
je 0x43835d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 5
jmp 0x43cc18
mov ecx, dword [esp + 0x14]
jmp 0x438370
or edi, 0xffffffff
cmp dword [ecx - 0xc], 0
jl 0x438442
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x438442
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, edi
jle 0x438442
cmp dword [ecx - 0xc], 0
jl 0x438442
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x438442
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, edi
jle 0x438442
cmp dword [ecx - 0xc], 0
jl 0x438442
push str.IF_JAVACOMM
push ecx
call ebp
add esp, 8
test eax, eax
je 0x438442
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, edi
jle 0x438442
push 6
push str.ATE0_r_n
lea ecx, [esp + 0x20]
call fcn.00402b30
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
mov edx, dword [esp + 0x23b4]
push 0x1388
push ecx
push eax
push edx
call fcn.00421a70
test eax, eax
jl 0x438442
push 3
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x23bc]
push 0x1388
lea ecx, [esp + 0x2c]
push ecx
push 0x2000
lea edx, [esp + 0x1ac]
push edx
push eax
call fcn.00421b20
add esp, 0x1c
push 7
push str.ATGMM_r
lea ecx, [esp + 0x20]
call fcn.00402b30
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 0xc]
mov ecx, dword [esp + 0x23b4]
push 0x1388
push eax
push esi
push ecx
call fcn.00421a70
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x2710
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
call fcn.00421b20
add esp, 0x1c
cmp eax, 2
jne 0x4384f9
push 8
push str.ATCGMM_r
lea ecx, [esp + 0x20]
call fcn.00402b30
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 0xc]
push 0x1388
push eax
mov eax, dword [esp + 0x23bc]
push esi
push eax
call fcn.00421a70
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x2710
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
test eax, eax
jne 0x43c506
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4388ef
mov byte [esp + eax + 0x198], 0
push 3
lea eax, [esp + 0x19c]
lea edx, [esp + 0x9c]
push eax
lea ecx, [esp + 0x9c]
mov dword [esp + 0x9c], edx
call fcn.00401930
mov ecx, dword [esp + 0x94]
push ecx
mov ecx, ebx
mov byte [esp + 0x23b0], 0xc
call fcn.00403410
mov eax, dword [esp + 0x94]
lea edx, [esp + 0x98]
mov byte [esp + 0x23ac], 9
cmp eax, edx
je 0x438574
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
push 0x47dd68
push str.CGMM:
mov ecx, ebx
call fcn.00407a30
push 0x47dd68
push 0x484ff8
mov ecx, ebx
call fcn.00407a30
lea eax, [esp + 0x2c]
push eax
push 0x484c08
lea ecx, [esp + 0x30]
push ecx
mov ecx, ebx
mov dword [esp + 0x38], 0
call fcn.0040b1a0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
mov ecx, edi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4385d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x2c]
push ecx
push 0x484c08
lea edx, [esp + 0x30]
push edx
mov ecx, ebx
call fcn.0040b1a0
push eax
mov ecx, ebx
mov byte [esp + 0x23b0], 0xd
call fcn.004043f0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 9
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438620
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x47dd68
push str.SAMSUNG
mov ecx, ebx
call fcn.00407a30
push 0x47dd68
push 0x47e360
mov ecx, ebx
call fcn.00407a30
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
jle 0x4386a4
push 0x2f
push eax
call dword [sym.imp.MSVCR90.dll_wcschr]
add esp, 8
test eax, eax
je 0x4386a4
sub eax, dword [ebx]
sar eax, 1
js 0x4386a4
push eax
push 0
lea ecx, [esp + 0x30]
push ecx
mov ecx, ebx
call fcn.00407760
push eax
mov ecx, ebx
mov byte [esp + 0x23b0], 0xe
call fcn.004043f0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 9
lea edx, [eax + 0xc]
lock xadd dword [edx], edi
dec edi
test edi, edi
jg 0x4386a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.SCH_R350_111
lea ecx, [esp + 0x2c]
call fcn.004062a0
mov esi, dword [esp + 0x84]
push eax
push esi
call fcn.00406930
mov bl, al
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
add esp, 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4386e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x4386f5
push str.SCH_R350
mov ecx, esi
call fcn.00403410
push str.GT_I5700
lea ecx, [esp + 0x2c]
call fcn.004062a0
push eax
push esi
call fcn.00406930
mov bl, al
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
add esp, 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43872f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x43873f
push str.Unknown
mov ecx, esi
call fcn.00407fb0
push 0x47dd68
lea ecx, [esp + 0x1c]
call fcn.00426a30
xor edi, edi
mov dword [esp + 0x28], 0x208
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
push edi
push edi
push 0x2001f
push edi
push edi
push str.SoftwareSamsungNew_PC_Studio
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x98]
mov byte [esp + 0x23c8], 0xf
call fcn.0040d940
test eax, eax
jne 0x438866
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x219c]
push edx
push str.PackageVersion
lea ecx, [esp + 0x88]
call fcn.00421720
test eax, eax
jne 0x438866
push 0x47dd68
lea ecx, [esp + 0x28]
call fcn.004062a0
push ecx
lea eax, [esp + 0x219c]
mov ecx, esp
mov dword [esp + 0x54], esp
mov bl, 0x10
push eax
mov byte [esp + 0x23b4], bl
call fcn.004062a0
lea ecx, [esp + 0x2c]
push ecx
call fcn.0042d590
mov edx, dword [eax]
push edx
lea eax, [esp + 0x30]
push str.ATCGTEMRNewPCStudio__s_r_n
push eax
mov byte [esp + 0x23c0], 0x11
call fcn.00402e10
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
add esp, 0x14
mov byte [esp + 0x23ac], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438830
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00426a30
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0xf
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x438866
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x18]
push 0x47dd68
push ecx
call fcn.0042cb80
add esp, 8
test al, al
je 0x43888a
push str.ATCGTEMRNewPCStudio_r
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
mov edx, dword [esp + 0x23b4]
push 0x1388
push ecx
push eax
push edx
call fcn.00421a70
push 3
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x23bc]
push 0x3e8
lea ecx, [esp + 0x2c]
push ecx
push 0x2000
lea edx, [esp + 0x1ac]
push edx
push eax
call fcn.00421b20
mov eax, dword [esp + 0x98]
add esp, 0x1c
mov byte [esp + 0x23ac], 9
cmp eax, edi
je 0x4388fd
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4388fd
push 0x47dd68
mov ecx, ebx
call fcn.00403410
xor edi, edi
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x438ab0
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4389dc
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x4389e0
cmp dword [ecx - 0xc], edi
jl 0x438ab0
push str.PID_6651
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4389dc
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x4389e0
cmp dword [ecx - 0xc], edi
jl 0x438ab0
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4389dc
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x4389e0
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
mov ecx, dword [esp + 0x23bc]
push eax
push ecx
call fcn.00421a70
test eax, eax
jl 0x438ab0
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x1388
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
jmp 0x438aa8
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x438ab0
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x438ab0
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438ab0
cmp dword [ecx - 0xc], edi
jl 0x438ab0
push str.PID_6651
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x438ab0
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438ab0
cmp dword [ecx - 0xc], edi
jl 0x438ab0
push str.IF_JAVACOMM
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x438ab0
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x438ab0
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
push eax
mov eax, dword [esp + 0x23c0]
push eax
call fcn.00421a70
test eax, eax
jl 0x438ab0
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
push 0xb
push str.ATIMEINUM_r
lea ecx, [esp + 0x20]
call fcn.00402b30
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 0xc]
mov edx, dword [esp + 0x23b4]
push 0x1388
push eax
push esi
push edx
call fcn.00421a70
push 3
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x23bc]
push 0x3e8
lea ecx, [esp + 0x2c]
push ecx
push 0x2000
lea edx, [esp + 0x1ac]
push edx
push eax
call fcn.00421b20
add esp, 0x1c
cmp eax, 0x8007048f
jne 0x438cae
mov eax, dword [esp + 0x23b4]
cmp eax, edi
jne 0x438b29
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea eax, [esi - 0x10]
mov byte [esp + 0x23ac], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438b55
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438b7d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438ba5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438bcd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438bf5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438c1d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438c45
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0x23ac], 1
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438c6d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438c95
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x23b4]
mov dword [esp + 0x23ac], 0xffffffff
cmp eax, edi
jmp 0x4381aa
mov eax, dword [esp + 0x20]
cmp eax, edi
jbe 0x438e5d
push 3
lea ecx, [esp + 0x19c]
mov byte [esp + eax + 0x19c], 0
lea eax, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x9c], eax
call fcn.00401930
mov edx, dword [esp + 0x94]
push edx
lea ecx, [esp + 0x38]
mov byte [esp + 0x23b0], 0x12
call fcn.004062a0
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov bl, 0x14
mov byte [esp + 0x23ac], bl
cmp eax, ecx
je 0x438d24
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x481d00
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x38], edi
call fcn.0040b1a0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438d60
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x2c], edi
jle 0x438db7
lea ecx, [esp + 0x2c]
push ecx
push 0x484c08
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x40]
call fcn.0040b1a0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x23b0], 0x15
call fcn.004043f0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438db7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
cmp dword [eax - 0xc], edi
je 0x438e39
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x438dd5
push 0x80004003
call fcn.004634f0
push eax
lea ecx, [esp + 0x28]
call fcn.00406700
mov esi, eax
push str.IMEINUM
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b0], 0x16
call fcn.00406670
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x17
test ecx, ecx
je 0x438e09
mov ecx, dword [ecx]
jmp 0x438e0b
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x438e15
mov eax, dword [eax]
jmp 0x438e17
xor eax, eax
mov edx, dword [edi]
push ecx
push eax
mov eax, dword [edx + 0x6c]
push edi
call eax
lea ecx, [esp + 0x28]
call fcn.00407820
lea ecx, [esp + 0x24]
call fcn.00407820
mov eax, dword [esp + 0x34]
xor edi, edi
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x438e5d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x439010
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x438f3c
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438f40
cmp dword [ecx - 0xc], edi
jl 0x439010
push str.PID_6651
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x438f3c
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438f40
cmp dword [ecx - 0xc], edi
jl 0x439010
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x438f3c
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438f40
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
mov ecx, dword [esp + 0x23bc]
push eax
push ecx
call fcn.00421a70
test eax, eax
jl 0x439010
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x1388
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
jmp 0x439008
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x439010
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x439010
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x439010
cmp dword [ecx - 0xc], edi
jl 0x439010
push str.PID_6651
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x439010
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x439010
cmp dword [ecx - 0xc], edi
jl 0x439010
push str.IF_JAVACOMM
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x439010
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x439010
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
push eax
mov eax, dword [esp + 0x23c0]
push eax
call fcn.00421a70
test eax, eax
jl 0x439010
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
push 8
push str.ATSBMM_r
lea ecx, [esp + 0x20]
call fcn.00402b30
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 0xc]
mov edx, dword [esp + 0x23b4]
push 0x1388
push eax
push esi
push edx
call fcn.00421a70
push 3
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x23bc]
push 0x3e8
lea ecx, [esp + 0x2c]
push ecx
push 0x2000
lea edx, [esp + 0x1ac]
push edx
push eax
call fcn.00421b20
add esp, 0x1c
cmp eax, 0x8007048f
je 0x438b14
mov eax, dword [esp + 0x20]
cmp eax, edi
jbe 0x439218
push 3
lea ecx, [esp + 0x19c]
mov byte [esp + eax + 0x19c], 0
lea eax, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x9c], eax
call fcn.00401930
mov edx, dword [esp + 0x94]
push edx
lea ecx, [esp + 0x40]
mov byte [esp + 0x23b0], 0x18
call fcn.00403410
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], 9
cmp eax, ecx
je 0x4390e9
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x484c08
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x38], edi
call fcn.0040b1a0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439125
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x2c]
push ecx
push 0x484c08
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x48]
call fcn.0040b1a0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x23b0], 0x19
call fcn.004043f0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x439177
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x47dd68
push str.SBMM
lea ecx, [esp + 0x44]
call fcn.00407a30
mov ecx, dword [esp + 0x3c]
cmp dword [ecx - 0xc], edi
je 0x439218
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x4391ac
push 0x80004003
call fcn.004634f0
mov edx, dword [esp + 0x3c]
push edx
lea ecx, [esp + 0x28]
call fcn.00406700
mov esi, eax
push str.Base_Model_Name
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b0], 0x1a
call fcn.00406670
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x1b
test ecx, ecx
je 0x4391e4
mov ecx, dword [ecx]
jmp 0x4391e6
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x4391f0
mov eax, dword [eax]
jmp 0x4391f2
xor eax, eax
mov edx, dword [edi]
push ecx
push eax
mov eax, dword [edx + 0x6c]
push edi
call eax
lea ecx, [esp + 0x28]
call fcn.00407820
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 9
call fcn.00407820
xor edi, edi
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x4393ba
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4392f7
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x4392fb
cmp dword [ecx - 0xc], edi
jl 0x4393ba
push str.PID_6651
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4392f7
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x4392fb
cmp dword [ecx - 0xc], edi
jl 0x4393ba
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4392f7
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x4392fb
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
mov ecx, dword [esp + 0x23bc]
push eax
push ecx
call fcn.00421a70
test eax, eax
jl 0x4393ba
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x1388
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
jmp 0x4393b2
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x4393ba
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4393ba
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x4393ba
cmp dword [ecx - 0xc], edi
jl 0x4393ba
push str.PID_6651
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4393ba
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x4393ba
push edi
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x4393ba
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
push eax
mov eax, dword [esp + 0x23c0]
push eax
call fcn.00421a70
test eax, eax
jl 0x4393ba
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
push str.ATGMC_r
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 0xc]
mov edx, dword [esp + 0x23b4]
push 0x1388
push eax
push esi
push edx
call fcn.00421a70
push 3
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x23bc]
push 0x3e8
lea ecx, [esp + 0x2c]
push ecx
push 0x2000
lea edx, [esp + 0x1ac]
push edx
push eax
call fcn.00421b20
add esp, 0x1c
cmp eax, 0x8007048f
je 0x438b14
mov eax, dword [esp + 0x20]
cmp eax, edi
jbe 0x4395c0
push 3
lea ecx, [esp + 0x19c]
mov byte [esp + eax + 0x19c], 0
lea eax, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x9c], eax
call fcn.00401930
mov edx, dword [esp + 0x94]
push edx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x23b0], 0x1c
call fcn.00403410
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], 9
cmp eax, ecx
je 0x439491
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x484c08
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x44]
mov dword [esp + 0x38], edi
call fcn.0040b1a0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4394cd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x2c]
push ecx
push 0x484c08
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x44]
call fcn.0040b1a0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x23b0], 0x1d
call fcn.004043f0
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43951f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x47dd68
push str.GMC:
lea ecx, [esp + 0x40]
call fcn.00407a30
mov ecx, dword [esp + 0x38]
cmp dword [ecx - 0xc], edi
je 0x4395c0
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x439554
push 0x80004003
call fcn.004634f0
mov edx, dword [esp + 0x38]
push edx
lea ecx, [esp + 0x28]
call fcn.00406700
mov esi, eax
push str.CarrierID
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b0], 0x1e
call fcn.00406670
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x1f
test ecx, ecx
je 0x43958c
mov ecx, dword [ecx]
jmp 0x43958e
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x439598
mov eax, dword [eax]
jmp 0x43959a
xor eax, eax
mov edx, dword [edi]
push ecx
push eax
mov eax, dword [edx + 0x6c]
push edi
call eax
lea ecx, [esp + 0x28]
call fcn.00407820
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 9
call fcn.00407820
xor edi, edi
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x43967b
push str.VID_04E8
push ecx
call ebp
add esp, 8
or ebx, 0xffffffff
cmp eax, edi
je 0x439675
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, ebx
jle 0x43967e
push edi
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, ebx
jle 0x439675
push edi
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, ebx
jle 0x439675
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
mov ecx, dword [esp + 0x23bc]
push eax
push ecx
call fcn.00421a70
test eax, eax
jl 0x439729
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x1388
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
jmp 0x439721
mov ecx, dword [esp + 0x14]
jmp 0x43967e
or ebx, 0xffffffff
cmp dword [ecx - 0xc], edi
jl 0x439729
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x439729
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, ebx
jle 0x439729
push edi
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, ebx
jle 0x439729
push edi
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, ebx
jle 0x439729
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
push eax
mov eax, dword [esp + 0x23c0]
push eax
call fcn.00421a70
test eax, eax
jl 0x439729
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
push str.ATGSN_r
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
mov edx, dword [esp + 0x23b4]
push 0x1388
push ecx
push eax
push edx
call fcn.00421a70
push 3
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x23bc]
push 0x2710
lea ecx, [esp + 0x2c]
push ecx
push 0x2000
lea edx, [esp + 0x1ac]
push edx
push eax
call fcn.00421b20
add esp, 0x1c
cmp eax, 2
jne 0x4397dc
push str.ATCGSN_r
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
mov ecx, dword [esp + 0x23bc]
push eax
push ecx
call fcn.00421a70
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x2710
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
call fcn.00421b20
add esp, 0x1c
cmp eax, edi
je 0x4399f0
cmp eax, 1
jne 0x43996f
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x198]
push str.ERROR:
push ecx
mov byte [esp + eax + 0x1a0], 0
call dword [sym.imp.MSVCR90.dll_strstr]
add esp, 8
push eax
lea ecx, [esp + 0x28]
call fcn.00403450
push str.CME_ERROR:_r_n
push str.CME_ERROR:_r_n
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b4], 0x20
call fcn.00428c40
mov ecx, eax
call fcn.00426bf0
mov edx, dword [esp + 0x24]
push edx
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
lea ecx, [esp + 0x23b4]
cmp eax, 0xa
jne 0x4398f3
call fcn.004562d0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
push str.CDeviceManager::ModemIdentify
push 0x47ddf8
call fcn.00403100
push 3
push 0x482c88
call fcn.00403100
add esp, 0x10
lea ecx, [esp + 0x24]
call fcn.00401e00
lea ecx, [esp + 0x18]
call fcn.00401e00
lea ecx, [esp + 0x14]
call fcn.00401e00
lea ecx, [esp + 0x40]
call fcn.00401e00
lea ecx, [esp + 0x4c]
call fcn.00401e00
lea ecx, [esp + 0x44]
call fcn.00401e00
lea ecx, [esp + 0x48]
call fcn.00401e00
lea ecx, [esp + 0x38]
call fcn.00401e00
lea ecx, [esp + 0x3c]
call fcn.00401e00
lea ecx, [esp + 0x30]
call fcn.00401e00
mov eax, dword [esp + 0x23b4]
mov dword [esp + 0x23ac], ebx
cmp eax, edi
jmp 0x438001
call fcn.004562d0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea ecx, [esp + 0x24]
call fcn.00401e00
lea ecx, [esp + 0x18]
call fcn.00401e00
lea ecx, [esp + 0x14]
call fcn.00401e00
lea ecx, [esp + 0x40]
call fcn.00401e00
lea ecx, [esp + 0x4c]
call fcn.00401e00
lea ecx, [esp + 0x44]
call fcn.00401e00
lea ecx, [esp + 0x48]
call fcn.00401e00
lea ecx, [esp + 0x38]
call fcn.00401e00
lea ecx, [esp + 0x3c]
call fcn.00401e00
lea ecx, [esp + 0x30]
call fcn.00401e00
mov eax, dword [esp + 0x23b4]
mov dword [esp + 0x23ac], ebx
cmp eax, edi
jmp 0x43c8e5
cmp eax, 0x8007048f
jne 0x4399f0
lea ecx, [esp + 0x23b4]
call fcn.004562d0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea ecx, [esp + 0x18]
call fcn.00401e00
lea ecx, [esp + 0x14]
call fcn.00401e00
lea ecx, [esp + 0x40]
call fcn.00401e00
lea ecx, [esp + 0x4c]
call fcn.00401e00
lea ecx, [esp + 0x44]
call fcn.00401e00
lea ecx, [esp + 0x48]
call fcn.00401e00
lea ecx, [esp + 0x38]
call fcn.00401e00
lea ecx, [esp + 0x3c]
call fcn.00401e00
lea ecx, [esp + 0x30]
call fcn.00401e00
mov eax, dword [esp + 0x23b4]
mov dword [esp + 0x23ac], ebx
cmp eax, edi
jmp 0x4381aa
mov eax, dword [esp + 0x20]
cmp eax, edi
jbe 0x439ac3
push 3
lea ecx, [esp + 0x19c]
mov byte [esp + eax + 0x19c], 0
lea eax, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x9c], eax
call fcn.00401930
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x68]
push edx
mov ecx, esi
mov byte [esp + 0x23b0], 0x21
call fcn.00403410
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], 9
cmp eax, ecx
je 0x439a67
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x484c08
lea eax, [esp + 0x30]
push eax
mov ecx, esi
mov dword [esp + 0x38], edi
call fcn.0040b1a0
lea ecx, [esp + 0x28]
call fcn.00401e00
lea ecx, [esp + 0x2c]
push ecx
push 0x484c08
lea edx, [esp + 0x2c]
push edx
mov ecx, esi
call fcn.0040b1a0
push eax
mov ecx, esi
mov byte [esp + 0x23b0], 0x22
call fcn.004043f0
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 9
call fcn.00401e00
jmp 0x439ad3
mov esi, dword [esp + 0x68]
push 0x47dd68
mov ecx, esi
call fcn.00403410
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x439c34
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x439b85
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, ebx
jle 0x439b89
push edi
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, ebx
jle 0x439b85
push edi
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, ebx
jle 0x439b85
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
push eax
mov eax, dword [esp + 0x23c0]
push eax
call fcn.00421a70
test eax, eax
jl 0x439c34
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
jmp 0x439c2c
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x439c34
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x439c34
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, ebx
jle 0x439c34
push edi
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, ebx
jle 0x439c34
push edi
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, ebx
jle 0x439c34
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
mov edx, dword [esp + 0x23b4]
push 0x1388
push ecx
push eax
push edx
call fcn.00421a70
test eax, eax
jl 0x439c34
push 3
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x23bc]
push 0x1388
lea ecx, [esp + 0x2c]
push ecx
push 0x2000
lea edx, [esp + 0x1ac]
push edx
push eax
call fcn.00421b20
add esp, 0x1c
push str.ATPBDYN__r
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
mov ecx, dword [esp + 0x23bc]
push eax
push ecx
call fcn.00421a70
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x2710
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
call fcn.00421b20
add esp, 0x1c
cmp eax, 0x8007048f
jne 0x439cab
mov eax, dword [esp + 0x23b4]
cmp eax, edi
jne 0x439982
push 0x80004003
call fcn.004634f0
mov eax, dword [esp + 0x20]
cmp eax, edi
jbe 0x439da1
mov byte [esp + eax + 0x198], 0
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0x98]
call fcn.00402050
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x23b0], 0x23
call fcn.00403410
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], 9
cmp eax, ecx
je 0x439d0b
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x484c08
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x38], edi
call fcn.0040b1a0
lea ecx, [esp + 0x28]
call fcn.00401e00
lea ecx, [esp + 0x2c]
push ecx
push 0x484c08
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x3c]
call fcn.0040b1a0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x23b0], 0x24
call fcn.004043f0
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 9
call fcn.00401e00
push edi
push str.PBDYN
lea ecx, [esp + 0x38]
call fcn.00402010
cmp eax, edi
jl 0x439da1
push 0x47dd68
push str.PBDYN:
lea ecx, [esp + 0x38]
call fcn.00407a30
lea ecx, [esp + 0x30]
call fcn.004030a0
mov ecx, eax
call fcn.004029a0
mov eax, dword [esp + 0x30]
mov eax, dword [eax - 0xc]
cmp eax, edi
je 0x439e4b
push edi
push str.ERROR
lea ecx, [esp + 0x38]
call fcn.00402010
cmp eax, ebx
jne 0x439e4b
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x6c]
call fcn.00404590
lea ecx, [esp + 0x23b4]
call fcn.004562d0
mov edx, dword [esp + 0x30]
push edx
lea ecx, [esp + 0x38]
mov esi, eax
call fcn.00406700
mov edi, eax
push str.PhoneNumber
lea ecx, [esp + 0x28]
mov byte [esp + 0x23b0], 0x25
call fcn.00406670
mov ebx, eax
mov ecx, edi
mov byte [esp + 0x23ac], 0x26
call fcn.004067b0
push eax
mov ecx, ebx
call fcn.004067b0
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x6c]
push esi
call eax
lea ecx, [esp + 0x24]
call fcn.00407820
lea ecx, [esp + 0x34]
mov byte [esp + 0x23ac], 9
call fcn.00407820
mov esi, dword [esp + 0x68]
xor edi, edi
push edi
push str.ERROR
mov ecx, esi
call fcn.00402010
cmp eax, 0xffffffff
mov edi, dword [esp + 0x23b4]
jle 0x439eaa
test edi, edi
jne 0x439e72
push 0x80004003
call fcn.004634f0
push str.TRUE
lea ecx, [esp + 0x28]
call fcn.00406670
mov esi, eax
push str.TEMPORARY_IMEI
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b0], 0x27
call fcn.00406670
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x28
test ecx, ecx
je 0x439ef0
mov ecx, dword [ecx]
jmp 0x439ef2
test edi, edi
jne 0x439eb8
push 0x80004003
call fcn.004634f0
push 0x484e24
lea ecx, [esp + 0x28]
call fcn.00406670
mov esi, eax
push str.TEMPORARY_IMEI
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b0], 0x29
call fcn.00406670
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x2a
test ecx, ecx
je 0x439ef0
mov ecx, dword [ecx]
jmp 0x439ef2
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x439efc
mov eax, dword [eax]
jmp 0x439efe
xor eax, eax
mov edx, dword [edi]
push ecx
push eax
mov eax, dword [edx + 0x6c]
push edi
call eax
lea ecx, [esp + 0x28]
call fcn.00407820
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 9
call fcn.00407820
push 0
push str.VID_04E8
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x439fc1
push 0
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x439fc1
push 0
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x439fc1
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
mov ecx, dword [esp + 0x23bc]
push eax
push ecx
call fcn.00421a70
test eax, eax
jl 0x43a05f
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x1388
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
jmp 0x43a057
push 0
push str.VID_04E8
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43a05f
push 0
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43a05f
push 0
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43a05f
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
push eax
mov eax, dword [esp + 0x23c0]
push eax
call fcn.00421a70
test eax, eax
jl 0x43a05f
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
push 0x483ec8
lea ecx, [esp + 0x1c]
call fcn.004032a0
xor edi, edi
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43a1fe
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43a138
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43a13c
cmp dword [ecx - 0xc], 0
jl 0x43a1fe
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43a138
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43a13c
push 0
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43a138
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
mov edx, dword [esp + 0x23b4]
push 0x1388
push ecx
push eax
push edx
call fcn.00421a70
test eax, eax
jl 0x43a1fe
push 3
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x23bc]
push 0x1388
lea ecx, [esp + 0x2c]
push ecx
push 0x2000
lea edx, [esp + 0x1ac]
push edx
push eax
jmp 0x43a1f6
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43a1fe
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43a1fe
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43a1fe
cmp dword [ecx - 0xc], 0
jl 0x43a1fe
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43a1fe
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43a1fe
push 0
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43a1fe
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
mov ecx, dword [esp + 0x23bc]
push eax
push ecx
call fcn.00421a70
test eax, eax
jl 0x43a1fe
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x1388
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
call fcn.00421b20
add esp, 0x1c
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x43a24f
jl 0x43a225
push str.ERROR
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43a225
sub eax, dword [esp + 0x30]
sar eax, 1
cmp eax, 0xffffffff
jne 0x43a24f
push 0
push str.VID_04E8PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jg 0x43a24f
push str.ATUMVERSION__r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
push 0x483ec8
jmp 0x43a262
push str.ATSWVER__r
lea ecx, [esp + 0x1c]
call fcn.004032a0
push 0x484de0
lea ecx, [esp + 0x34]
call fcn.00407fb0
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 0xc]
push 0x1388
push eax
mov eax, dword [esp + 0x23bc]
push esi
push eax
call fcn.00421a70
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x2710
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
cmp eax, 0x8007048f
je 0x43a6a7
mov eax, dword [esp + 0x20]
test eax, eax
jbe 0x43a698
mov byte [esp + eax + 0x198], 0
push 3
lea eax, [esp + 0x19c]
lea edx, [esp + 0x9c]
push eax
lea ecx, [esp + 0x9c]
mov dword [esp + 0x9c], edx
call fcn.00401930
mov ecx, dword [esp + 0x94]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x2b
call fcn.004062a0
mov eax, dword [esp + 0x94]
lea edx, [esp + 0x98]
mov byte [esp + 0x23ac], 0x2d
cmp eax, edx
je 0x43a334
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
push 0
push str.VID_04E8PID_6651
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], 0
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43a5db
lea ecx, [esp + 0x34]
call fcn.00402380
lea ecx, [esp + 0x24]
call fcn.00402380
mov byte [esp + 0x23ac], 0x2f
nop
lea eax, [esp + 0x2c]
push eax
push 0x484c08
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x28]
call fcn.0040b1a0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x23b0], 0x30
call fcn.004043f0
lea edx, [esp + 0x34]
push 0x47dd68
push edx
call fcn.00423930
mov bl, al
mov eax, dword [esp + 0x94]
add eax, 0xfffffff0
add esp, 8
mov byte [esp + 0x23ac], 0x2f
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43a3dc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x43a49d
mov esi, dword [esp + 0x34]
cmp dword [esi - 0xc], 0
jl 0x43a370
push 0x481d00
push esi
call ebp
add esp, 8
test eax, eax
je 0x43a370
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
jle 0x43a370
cmp dword [esi - 0xc], 0
jg 0x43a419
or eax, 0xffffffff
jmp 0x43a432
push 0x3a
push esi
call dword [sym.imp.MSVCR90.dll_wcschr]
add esp, 8
test eax, eax
jne 0x43a42e
or eax, 0xffffffff
jmp 0x43a432
sub eax, esi
sar eax, 1
add eax, 2
push eax
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x3c]
call fcn.00407e00
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b4], 0x31
call fcn.00404470
mov eax, dword [esp + 0x88]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0x2f
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43a48a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x47fad0
lea ecx, [esp + 0x28]
call fcn.004045b0
jmp 0x43a370
push 0x47fad0
lea ecx, [esp + 0x28]
call fcn.00407cc0
push eax
lea ecx, [esp + 0x20]
call fcn.004043f0
cmp dword [0x49f1ac], 1
je 0x43a4e1
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x49f1b4
call fcn.00404590
lea edx, [esp + 0x1c]
push edx
mov ecx, 0x49f1b8
call fcn.00404590
jmp 0x43a5a8
mov esi, dword [esp + 0x84]
push 0x47dd68
push 0x484dd8
mov ecx, esi
call fcn.00407a30
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
mov ecx, dword [esi]
lea edx, [esp + 0x28]
push edx
push eax
push ecx
call fcn.0040d2d0
mov eax, dword [esp + 0x34]
add esp, 0xc
test eax, eax
jle 0x43a5a8
mov ecx, dword [esp + 0x14]
push ecx
push str.HARDWAREID
push eax
call fcn.0040cc90
add esp, 8
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x80], esp
push edx
call fcn.004023a0
lea eax, [esp + 0x78]
push eax
mov byte [esp + 0x23b4], 0x32
call fcn.00419b00
mov ecx, eax
mov byte [esp + 0x23b4], 0x2f
call fcn.00416be0
mov eax, dword [eax]
mov ecx, dword [esp + 0x28]
push eax
push str.USBHARDWAREID
push ecx
mov byte [esp + 0x23b8], 0x33
call fcn.0040cc90
add esp, 0xc
lea ecx, [esp + 0x74]
mov byte [esp + 0x23ac], 0x2f
call fcn.00401e00
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
push edx
push 0x47e490
push eax
call fcn.0040cc90
add esp, 0xc
push 0
push str.ERROR
lea ecx, [esp + 0x24]
call fcn.00402010
cmp eax, 0xffffffff
je 0x43a6c9
lea ecx, [esp + 0x24]
call fcn.00401e00
lea ecx, [esp + 0x34]
mov byte [esp + 0x23ac], 0x2d
call fcn.00401e00
lea ecx, [esp + 0x2c]
push ecx
push 0x484c08
lea edx, [esp + 0x5c]
push edx
lea ecx, [esp + 0x28]
call fcn.0040b1a0
lea ecx, [esp + 0x54]
call fcn.00401e00
lea eax, [esp + 0x2c]
push eax
push 0x484c08
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x28]
call fcn.0040b1a0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x36
call fcn.004043f0
lea ecx, [esp + 0x50]
mov byte [esp + 0x23ac], 0x2d
call fcn.00401e00
push 0
push str.SWVER
lea ecx, [esp + 0x24]
call fcn.00402010
test eax, eax
jl 0x43a66e
push 0x47dd68
push str.SWVER:
lea ecx, [esp + 0x24]
call fcn.00407a30
lea ecx, [esp + 0x1c]
call fcn.004030a0
mov ecx, eax
call fcn.004029a0
push 0
push str.ERROR
lea ecx, [esp + 0x24]
call fcn.00402010
cmp eax, 0xffffffff
je 0x43a745
lea ecx, [esp + 0x1c]
mov byte [esp + 0x23ac], 9
call fcn.00401e00
inc edi
cmp edi, 2
jl 0x43a06f
jmp 0x43a7cd
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x43a6bc
push 0x80004003
call fcn.004634f0
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x34]
call eax
jmp 0x438032
lea ecx, [esp + 0x23b4]
call fcn.004562d0
mov esi, eax
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x78]
call fcn.00406700
mov edi, eax
push str.SoftwareRevision
lea ecx, [esp + 0x58]
mov byte [esp + 0x23b0], 0x34
call fcn.00406670
mov ebx, eax
mov ecx, edi
mov byte [esp + 0x23ac], 0x35
call fcn.004067b0
push eax
mov ecx, ebx
call fcn.004067b0
push eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x6c]
push esi
call ecx
lea ecx, [esp + 0x54]
call fcn.00407820
lea ecx, [esp + 0x74]
call fcn.00407820
lea ecx, [esp + 0x24]
call fcn.00401e00
lea ecx, [esp + 0x34]
call fcn.00401e00
jmp 0x43a7bc
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x43a75a
push 0x80004003
call fcn.004634f0
mov edx, dword [esp + 0x1c]
push edx
lea ecx, [esp + 0x58]
call fcn.00406700
mov esi, eax
push str.SoftwareRevision
lea ecx, [esp + 0x54]
mov byte [esp + 0x23b0], 0x37
call fcn.00406670
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x38
test ecx, ecx
je 0x43a792
mov ecx, dword [ecx]
jmp 0x43a794
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x43a79e
mov eax, dword [eax]
jmp 0x43a7a0
xor eax, eax
mov edx, dword [edi]
push ecx
push eax
mov eax, dword [edx + 0x6c]
push edi
call eax
lea ecx, [esp + 0x50]
call fcn.00407820
lea ecx, [esp + 0x54]
call fcn.00407820
lea ecx, [esp + 0x1c]
mov byte [esp + 0x23ac], 9
call fcn.00401e00
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jl 0x43a897
push str.VID_04E8
push eax
call ebp
add esp, 8
test eax, eax
je 0x43a897
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43a897
cmp dword [ecx - 0xc], 0
jl 0x43a897
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43a897
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43a897
push 0
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43a897
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
mov ecx, dword [esp + 0x23bc]
push eax
push ecx
call fcn.00421a70
test eax, eax
jl 0x43a897
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x1388
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
call fcn.00421b20
add esp, 0x1c
push str.ATHIDSWVER__r
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov edi, dword [esp + 0x18]
xor ebp, ebp
jmp 0x43a8b0
mov eax, dword [edi - 0xc]
push 0x1388
push eax
mov eax, dword [esp + 0x23bc]
push edi
push eax
call fcn.00421a70
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x2710
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
cmp eax, 0x8007048f
je 0x43ad27
mov eax, dword [esp + 0x20]
test eax, eax
jbe 0x43ad18
mov byte [esp + eax + 0x198], 0
push 3
lea eax, [esp + 0x19c]
lea edx, [esp + 0x9c]
push eax
lea ecx, [esp + 0x9c]
mov dword [esp + 0x9c], edx
call fcn.00401930
mov ecx, dword [esp + 0x94]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x39
call fcn.004062a0
mov eax, dword [esp + 0x94]
lea edx, [esp + 0x98]
mov byte [esp + 0x23ac], 0x3b
cmp eax, edx
je 0x43a975
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], 0
call fcn.00407c60
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
mov esi, dword [sym.imp.MSVCR90.dll_wcsstr]
jl 0x43abe6
push str.VID_04E8PID_6651
push eax
call esi
add esp, 8
test eax, eax
je 0x43abe6
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43abe6
mov eax, dword [0x49f474]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f474
call edx
add eax, 0x10
mov dword [esp + 0x34], eax
mov eax, dword [0x49f474]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f474
mov byte [esp + 0x23ac], 0x3c
call edx
add eax, 0x10
mov dword [esp + 0x24], eax
mov byte [esp + 0x23ac], 0x3d
jmp 0x43aa00
lea eax, [esp + 0x2c]
push eax
push 0x484c08
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x28]
call fcn.0040b1a0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x23b0], 0x3e
call fcn.004043f0
lea edx, [esp + 0x34]
push 0x47dd68
push edx
call fcn.00423930
mov bl, al
mov eax, dword [esp + 0x58]
add eax, 0xfffffff0
add esp, 8
mov byte [esp + 0x23ac], 0x3d
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43aa66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x43ab25
mov esi, dword [esp + 0x34]
cmp dword [esi - 0xc], 0
jl 0x43aa00
push 0x481d00
push esi
call dword [sym.imp.MSVCR90.dll_wcsstr]
add esp, 8
test eax, eax
je 0x43aa00
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
jle 0x43aa00
cmp dword [esi - 0xc], 0
jg 0x43aaa7
or eax, 0xffffffff
jmp 0x43aac0
push 0x3a
push esi
call dword [sym.imp.MSVCR90.dll_wcschr]
add esp, 8
test eax, eax
jne 0x43aabc
or eax, 0xffffffff
jmp 0x43aac0
sub eax, esi
sar eax, 1
add eax, 2
push eax
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x3c]
call fcn.00407e00
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b4], 0x3f
call fcn.00404470
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0x3d
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43ab12
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x47fad0
lea ecx, [esp + 0x28]
call fcn.004045b0
jmp 0x43aa00
push 0x47fad0
lea ecx, [esp + 0x28]
call fcn.00407cc0
push eax
lea ecx, [esp + 0x20]
call fcn.004043f0
cmp dword [0x49f1ac], 1
je 0x43ab66
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x49f1b4
call fcn.004043f0
lea edx, [esp + 0x1c]
push edx
mov ecx, 0x49f1b8
call fcn.004043f0
jmp 0x43ab94
mov eax, dword [esp + 0x14]
mov ecx, dword [0x49f1b0]
push eax
push str.HARDWAREID
push ecx
call fcn.0040cc90
mov edx, dword [esp + 0x28]
mov eax, dword [0x49f1b0]
push edx
push 0x47e47c
push eax
call fcn.0040cc90
add esp, 0x18
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
jl 0x43ad4c
mov esi, dword [sym.imp.MSVCR90.dll_wcsstr]
push str.ERROR
push ecx
call esi
mov ecx, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x43ad4c
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
je 0x43ad4c
lea ecx, [esp + 0x24]
call fcn.00401e00
lea ecx, [esp + 0x34]
mov byte [esp + 0x23ac], 0x3b
call fcn.00401e00
lea ecx, [esp + 0x2c]
push ecx
push 0x484c08
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x28]
call fcn.0040b1a0
mov eax, dword [esp + 0x74]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43ac1e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x2c]
push ecx
push 0x484c08
lea edx, [esp + 0x90]
push edx
lea ecx, [esp + 0x28]
call fcn.0040b1a0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x42
call fcn.004043f0
mov eax, dword [esp + 0x88]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0x3b
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43ac76
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
jl 0x43add3
push str.HIDSWVER
push ecx
call esi
mov ecx, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x43acc4
sub eax, ecx
sar eax, 1
js 0x43acc4
push 0x47dd68
push str.HIDSWVER:
lea ecx, [esp + 0x24]
call fcn.00407a30
lea ecx, [esp + 0x1c]
call fcn.004030a0
mov ecx, eax
call fcn.004029a0
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
jl 0x43add3
push str.ERROR
push ecx
call esi
mov ecx, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x43acea
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jne 0x43acf4
cmp dword [ecx - 0xc], 0
jne 0x43add3
lea eax, [ecx - 0x10]
mov byte [esp + 0x23ac], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43ad18
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc ebp
cmp ebp, 2
jl 0x43a8b0
jmp 0x43ae57
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x43ad3c
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea eax, [edi - 0x10]
jmp 0x438035
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x43ad61
push 0x80004003
call fcn.004634f0
push ecx
lea ecx, [esp + 0x58]
call fcn.00406700
mov esi, eax
push 0x4840d4
lea ecx, [esp + 0x54]
mov byte [esp + 0x23b0], 0x40
call fcn.00406670
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x41
test ecx, ecx
je 0x43ad95
mov ecx, dword [ecx]
jmp 0x43ad97
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x43ada1
mov eax, dword [eax]
jmp 0x43ada3
xor eax, eax
mov edx, dword [edi]
push ecx
push eax
mov eax, dword [edx + 0x6c]
push edi
call eax
lea ecx, [esp + 0x50]
call fcn.00407820
lea ecx, [esp + 0x54]
call fcn.00407820
lea ecx, [esp + 0x24]
call fcn.00401e00
lea ecx, [esp + 0x34]
call fcn.00401e00
jmp 0x43ae46
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x43ade8
push 0x80004003
call fcn.004634f0
push ecx
lea ecx, [esp + 0x58]
call fcn.00406700
mov esi, eax
push 0x4840d4
lea ecx, [esp + 0x54]
mov byte [esp + 0x23b0], 0x43
call fcn.00406670
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x44
test ecx, ecx
je 0x43ae1c
mov ecx, dword [ecx]
jmp 0x43ae1e
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x43ae28
mov eax, dword [eax]
jmp 0x43ae2a
xor eax, eax
mov edx, dword [edi]
push ecx
push eax
mov eax, dword [edx + 0x6c]
push edi
call eax
lea ecx, [esp + 0x50]
call fcn.00407820
lea ecx, [esp + 0x54]
call fcn.00407820
lea ecx, [esp + 0x1c]
mov byte [esp + 0x23ac], 9
call fcn.00401e00
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
mov ebp, dword [sym.imp.MSVCR90.dll_wcsstr]
jl 0x43af34
push str.VID_04E8
push eax
call ebp
add esp, 8
test eax, eax
je 0x43af34
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43af34
cmp dword [ecx - 0xc], 0
jl 0x43af34
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43af34
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43af34
cmp dword [ecx - 0xc], 0
jl 0x43af34
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43af34
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43af34
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
mov ecx, dword [esp + 0x23bc]
push eax
push ecx
call fcn.00421a70
test eax, eax
jl 0x43af34
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x1388
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
call fcn.00421b20
add esp, 0x1c
push str.ATPRODUCTCODE__r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 0xc]
push 0x1388
push eax
mov eax, dword [esp + 0x23bc]
push esi
push eax
call fcn.00421a70
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x2710
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
cmp eax, 0x8007048f
jne 0x43afab
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x43a6bc
push 0x80004003
call fcn.004634f0
mov eax, dword [esp + 0x20]
test eax, eax
jbe 0x43b2f4
push 3
lea ecx, [esp + 0x19c]
mov byte [esp + eax + 0x19c], 0
lea eax, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x9c], eax
call fcn.00401930
mov edx, dword [esp + 0x94]
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x45
call fcn.004062a0
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov bl, 0x47
mov byte [esp + 0x23ac], bl
cmp eax, ecx
je 0x43b021
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x484c08
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x38], 0
call fcn.0040b1a0
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b061
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jl 0x43b0bc
push str.VID_04E8
push eax
call ebp
add esp, 8
test eax, eax
je 0x43b0bc
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b0bc
cmp dword [ecx - 0xc], 0
jl 0x43b0bc
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b0bc
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b0bc
push 0
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jg 0x43b10d
lea ecx, [esp + 0x2c]
push ecx
push 0x484c08
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x28]
call fcn.0040b1a0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x48
call fcn.004043f0
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b10d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
jl 0x43b17b
push str.PRODUCTCODE
push ecx
call ebp
mov ecx, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x43b157
sub eax, ecx
sar eax, 1
js 0x43b157
push 0x47dd68
push str.PRODUCTCODE:
lea ecx, [esp + 0x24]
call fcn.00407a30
lea ecx, [esp + 0x1c]
call fcn.004030a0
mov ecx, eax
call fcn.004029a0
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
jl 0x43b17b
push str.ERROR
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b17b
sub eax, dword [esp + 0x1c]
sar eax, 1
cmp eax, 0xffffffff
jne 0x43b2cc
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jl 0x43b20c
push str.VID_04E8PID_6651
push eax
call ebp
add esp, 8
test eax, eax
je 0x43b20c
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b20c
push 0
push 0x484d28
lea ecx, [esp + 0x24]
call fcn.00402010
test eax, eax
jl 0x43b1da
push 0x47dd68
push 0x484d28
lea ecx, [esp + 0x24]
call fcn.00407a30
lea ecx, [esp + 0x1c]
call fcn.004030a0
mov ecx, eax
call fcn.004029a0
cmp dword [0x49f1ac], 1
je 0x43b1f4
lea ecx, [esp + 0x1c]
push ecx
mov ecx, 0x49f1bc
call fcn.004043f0
jmp 0x43b20c
mov edx, dword [esp + 0x1c]
mov eax, dword [0x49f1b0]
push edx
push 0x47e464
push eax
call fcn.0040cc90
add esp, 0xc
push 3
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x24]
call fcn.00402780
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x49
call fcn.004043f0
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43b255
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x43b26a
push 0x80004003
call fcn.004634f0
mov ecx, dword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x58]
call fcn.00406700
mov esi, eax
push str.ProductCode
lea ecx, [esp + 0x54]
mov byte [esp + 0x23b0], 0x4a
call fcn.00406670
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x4b
test ecx, ecx
je 0x43b2a2
mov ecx, dword [ecx]
jmp 0x43b2a4
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x43b2ae
mov eax, dword [eax]
jmp 0x43b2b0
xor eax, eax
mov edx, dword [edi]
push ecx
push eax
mov eax, dword [edx + 0x6c]
push edi
call eax
lea ecx, [esp + 0x50]
call fcn.00407820
lea ecx, [esp + 0x54]
call fcn.00407820
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b2f4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43b49c
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b3d6
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b3da
cmp dword [ecx - 0xc], 0
jl 0x43b49c
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b3d6
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b3da
cmp dword [ecx - 0xc], 0
jl 0x43b49c
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b3d6
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b3da
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
mov ecx, dword [esp + 0x23bc]
push eax
push ecx
call fcn.00421a70
test eax, eax
jl 0x43b49c
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x1388
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
jmp 0x43b494
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43b49c
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b49c
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b49c
cmp dword [ecx - 0xc], 0
jl 0x43b49c
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b49c
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b49c
push 0
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43b49c
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
push eax
mov eax, dword [esp + 0x23c0]
push eax
call fcn.00421a70
test eax, eax
jl 0x43b49c
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
push str.ATCLOCK__r
lea ecx, [esp + 0x70]
call fcn.00403450
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax - 0xc]
mov edx, dword [esp + 0x23b4]
push 0x1388
push ecx
push eax
push edx
mov byte [esp + 0x23bc], 0x4c
call fcn.00421a70
push 3
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x23bc]
push 0x1388
lea ecx, [esp + 0x2c]
push ecx
push 0x2000
lea edx, [esp + 0x1ac]
push edx
push eax
call fcn.00421b20
add esp, 0x1c
test eax, eax
jne 0x43b6a1
mov esi, dword [esp + 0x20]
test esi, esi
je 0x43b6a1
mov edx, dword [0x49f474]
mov eax, dword [edx + 0xc]
mov ecx, 0x49f474
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x98]
push 3
lea edx, [esp + 0x19c]
mov dword [esp + 0x98], ecx
mov bl, 0x4d
push edx
lea ecx, [esp + 0x9c]
mov byte [esp + 0x23b4], bl
mov byte [esp + esi + 0x1a0], 0
call fcn.00401930
mov eax, dword [esp + 0x94]
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x23b0], 0x4e
call fcn.00403410
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], bl
cmp eax, ecx
je 0x43b597
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], 0
cmp dword [esi - 0xc], 0
jge 0x43b5ae
or eax, 0xffffffff
jmp 0x43b5c6
push str.CLOCK:
push esi
call ebp
add esp, 8
test eax, eax
jne 0x43b5c2
or eax, 0xffffffff
jmp 0x43b5c6
sub eax, esi
sar eax, 1
lea edx, [esp + 0x28]
push edx
lea eax, [esi + eax*2]
push str.CLOCK:_d
push eax
call dword [sym.imp.MSVCR90.dll_swscanf_s]
add esp, 0xc
cmp dword [esp + 0x28], 1
jne 0x43b690
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x43b5fd
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea ecx, [esp + 0x24]
call fcn.00401e00
lea ecx, [esp + 0x6c]
call fcn.00401e00
lea ecx, [esp + 0x18]
call fcn.00401e00
lea ecx, [esp + 0x14]
call fcn.00401e00
lea ecx, [esp + 0x40]
call fcn.00401e00
lea ecx, [esp + 0x4c]
call fcn.00401e00
lea ecx, [esp + 0x44]
call fcn.00401e00
lea ecx, [esp + 0x48]
call fcn.00401e00
lea ecx, [esp + 0x38]
call fcn.00401e00
lea ecx, [esp + 0x3c]
call fcn.00401e00
lea ecx, [esp + 0x30]
call fcn.00401e00
mov eax, dword [esp + 0x23b4]
test eax, eax
mov dword [esp + 0x23ac], 0xffffffff
je 0x43b686
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 0x17
jmp 0x43cc18
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 0x4c
call fcn.00401e00
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43b830
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b76a
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b76e
cmp dword [ecx - 0xc], 0
jl 0x43b830
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b76a
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b76e
push 0
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43b76a
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
push eax
mov eax, dword [esp + 0x23c0]
push eax
call fcn.00421a70
test eax, eax
jl 0x43b830
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
jmp 0x43b828
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43b830
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b830
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b830
cmp dword [ecx - 0xc], 0
jl 0x43b830
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b830
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b830
push 0
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43b830
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
mov edx, dword [esp + 0x23b4]
push 0x1388
push ecx
push eax
push edx
call fcn.00421a70
test eax, eax
jl 0x43b830
push 3
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x23bc]
push 0x1388
lea ecx, [esp + 0x2c]
push ecx
push 0x2000
lea edx, [esp + 0x1ac]
push edx
push eax
call fcn.00421b20
add esp, 0x1c
mov edx, dword [0x49f474]
mov eax, dword [edx + 0xc]
mov ecx, 0x49f474
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x1c], esi
push str.ATCIMI_r
lea ecx, [esp + 0x1c]
mov byte [esp + 0x23b0], 0x4f
call fcn.004032a0
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp - 0xc]
mov ecx, dword [esp + 0x23b4]
push 0x1388
push eax
push ebp
push ecx
call fcn.00421a70
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x3e8
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
call fcn.00421b20
add esp, 0x1c
cmp eax, 0x8007048f
jne 0x43b91e
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x43b8c2
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea eax, [esi - 0x10]
mov byte [esp + 0x23ac], 0x4c
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b8ee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b916
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 0x10]
jmp 0x438035
mov eax, dword [esp + 0x20]
xor edi, edi
cmp eax, edi
jbe 0x43ba37
push 3
lea ecx, [esp + 0x19c]
mov byte [esp + eax + 0x19c], 0
lea eax, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x9c], eax
call fcn.00401930
mov edx, dword [esp + 0x94]
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x50
call fcn.00403410
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], 0x4f
cmp eax, ecx
je 0x43b995
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x484c08
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x38], edi
call fcn.0040b1a0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x51
call fcn.004043f0
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0x4f
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43b9eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x1c]
cmp dword [esi - 0xc], edi
je 0x43ba37
push edi
push str.VID_04E8PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43ba37
cmp dword [0x49f1ac], 1
je 0x43ba22
lea ecx, [esp + 0x1c]
push ecx
mov ecx, 0x49f1c0
call fcn.00404590
jmp 0x43ba37
mov edx, dword [0x49f1b0]
push esi
push str.IMSI
push edx
call fcn.0040cc90
add esp, 0xc
cmp dword [esp + 0x70], edi
je 0x43c27d
push str.ATPMODE1_r
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
push eax
mov eax, dword [esp + 0x23c0]
push eax
call fcn.00421a70
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
push str.ATCHKUSIM_r
lea ecx, [esp + 0x1c]
call fcn.004032a0
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp - 0xc]
mov edx, dword [esp + 0x23b4]
push 0x1388
push eax
push ebp
push edx
call fcn.00421a70
push 3
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x23bc]
push 0x1388
lea ecx, [esp + 0x2c]
push ecx
push 0x2000
lea edx, [esp + 0x1ac]
push edx
push eax
call fcn.00421b20
add esp, 0x1c
cmp eax, edi
jne 0x43bbd9
mov edx, dword [0x49f474]
mov eax, dword [edx + 0xc]
mov ecx, 0x49f474
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x198]
push ecx
lea edx, [esp + 0x28]
push 0x47eab8
push edx
mov byte [esp + 0x23b8], 0x52
call fcn.0040c950
add esp, 0xc
push edi
push 0x484cc4
lea ecx, [esp + 0x2c]
call fcn.00424470
cmp eax, edi
lea ecx, [esp + 0x24]
jl 0x43bbcc
call fcn.00401e00
lea ecx, [esp + 0x1c]
call fcn.00401e00
lea ecx, [esp + 0x6c]
call fcn.00401e00
lea ecx, [esp + 0x18]
call fcn.00401e00
lea ecx, [esp + 0x14]
call fcn.00401e00
lea ecx, [esp + 0x40]
call fcn.00401e00
lea ecx, [esp + 0x4c]
call fcn.00401e00
lea ecx, [esp + 0x44]
call fcn.00401e00
lea ecx, [esp + 0x48]
call fcn.00401e00
lea ecx, [esp + 0x38]
call fcn.00401e00
lea ecx, [esp + 0x3c]
call fcn.00401e00
lea ecx, [esp + 0x30]
call fcn.00401e00
mov eax, dword [esp + 0x23b4]
mov dword [esp + 0x23ac], 0xffffffff
cmp eax, edi
jmp 0x438001
mov byte [esp + 0x23ac], 0x4f
call fcn.00401e00
push str.ATCHKLOCK_r
lea ecx, [esp + 0x38]
call fcn.00403450
mov eax, dword [esp + 0x34]
mov ecx, dword [eax - 0xc]
push 0x1388
push ecx
push eax
mov eax, dword [esp + 0x23c0]
push eax
mov byte [esp + 0x23bc], 0x53
call fcn.00421a70
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
cmp eax, edi
jne 0x43be39
mov esi, dword [esp + 0x20]
cmp esi, edi
je 0x43be39
lea ecx, [esp + 0x2c]
call fcn.00402380
lea edx, [esp + 0x198]
mov bl, 0x54
push edx
lea ecx, [esp + 0x98]
mov byte [esp + 0x23b0], bl
mov byte [esp + esi + 0x19c], 0
call fcn.00402050
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x23b0], 0x55
call fcn.00403410
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], bl
cmp eax, ecx
je 0x43bcb1
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
push edi
push str.CHKLOCK:
lea ecx, [esp + 0x34]
mov dword [esp + 0x78], edi
call fcn.00402010
cmp eax, edi
jge 0x43bd63
lea ecx, [esp + 0x23b4]
call fcn.004562d0
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x34]
call eax
lea ecx, [esp + 0x2c]
call fcn.00401e00
lea ecx, [esp + 0x34]
call fcn.00401e00
lea ecx, [esp + 0x1c]
call fcn.00401e00
lea ecx, [esp + 0x6c]
call fcn.00401e00
lea ecx, [esp + 0x18]
call fcn.00401e00
lea ecx, [esp + 0x14]
call fcn.00401e00
lea ecx, [esp + 0x40]
call fcn.00401e00
lea ecx, [esp + 0x4c]
call fcn.00401e00
lea ecx, [esp + 0x44]
call fcn.00401e00
lea ecx, [esp + 0x48]
call fcn.00401e00
lea ecx, [esp + 0x38]
call fcn.00401e00
lea ecx, [esp + 0x3c]
call fcn.00401e00
lea ecx, [esp + 0x30]
call fcn.00401e00
mov eax, dword [esp + 0x23b4]
cmp eax, edi
jmp 0x43b671
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x70]
push edx
lea eax, [ecx + eax*2]
push str.CHKLOCK:_d
push eax
call dword [sym.imp.MSVCR90.dll_swscanf_s]
add esp, 0xc
cmp dword [esp + 0x70], 1
jne 0x43be28
lea ecx, [esp + 0x23b4]
call fcn.004562d0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea ecx, [esp + 0x2c]
call fcn.00401e00
lea ecx, [esp + 0x34]
call fcn.00401e00
lea ecx, [esp + 0x1c]
call fcn.00401e00
lea ecx, [esp + 0x6c]
call fcn.00401e00
lea ecx, [esp + 0x18]
call fcn.00401e00
lea ecx, [esp + 0x14]
call fcn.00401e00
lea ecx, [esp + 0x40]
call fcn.00401e00
lea ecx, [esp + 0x4c]
call fcn.00401e00
lea ecx, [esp + 0x44]
call fcn.00401e00
lea ecx, [esp + 0x48]
call fcn.00401e00
lea ecx, [esp + 0x38]
call fcn.00401e00
lea ecx, [esp + 0x3c]
call fcn.00401e00
lea ecx, [esp + 0x30]
call fcn.00401e00
lea ecx, [esp + 0x23b4]
call fcn.00456530
mov eax, 0x17
jmp 0x43cc18
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23ac], 0x53
call fcn.00401e00
mov eax, dword [esp + 0x23b4]
push 0x1388
push 0xc
push str.ATCHKIDLE__r
push eax
call fcn.00421a70
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
cmp eax, edi
jne 0x43c255
mov esi, dword [esp + 0x20]
cmp esi, edi
je 0x43c255
lea ecx, [esp + 0x2c]
call fcn.00402380
lea edx, [esp + 0x198]
mov bl, 0x56
push edx
lea ecx, [esp + 0x98]
mov byte [esp + 0x23b0], bl
mov byte [esp + esi + 0x19c], 0
call fcn.00402050
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x23b0], 0x57
call fcn.00403410
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], bl
cmp eax, ecx
je 0x43bef9
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea ecx, [esp + 0x2c]
call fcn.00407c60
push edi
push str.CHKIDLE:
lea ecx, [esp + 0x34]
call fcn.00402010
cmp eax, edi
jge 0x43bfb8
lea ecx, [esp + 0x23b4]
call fcn.004562d0
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x34]
call eax
lea ecx, [esp + 0x2c]
call fcn.00401e00
lea ecx, [esp + 0x34]
call fcn.00401e00
lea ecx, [esp + 0x1c]
call fcn.00401e00
lea ecx, [esp + 0x6c]
call fcn.00401e00
lea ecx, [esp + 0x18]
call fcn.00401e00
lea ecx, [esp + 0x14]
call fcn.00401e00
lea ecx, [esp + 0x40]
call fcn.00401e00
lea ecx, [esp + 0x4c]
call fcn.00401e00
lea ecx, [esp + 0x44]
call fcn.00401e00
lea ecx, [esp + 0x48]
call fcn.00401e00
lea ecx, [esp + 0x38]
call fcn.00401e00
lea ecx, [esp + 0x3c]
call fcn.00401e00
lea ecx, [esp + 0x30]
call fcn.00401e00
lea ecx, [esp + 0x23b4]
call fcn.00456530
mov eax, 0xe
jmp 0x43cc18
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x50]
push edx
lea eax, [ecx + eax*2]
push str.CHKIDLE:_d
push eax
call dword [sym.imp.MSVCR90.dll_swscanf_s]
add esp, 0xc
cmp dword [esp + 0x50], edi
jne 0x43bff2
lea ecx, [esp + 0x23b4]
call fcn.004562d0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
jmp 0x43bf2d
push str.ATPMODE5_r
lea ecx, [esp + 0x1c]
xor esi, esi
call fcn.004032a0
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp - 0xc]
push 0x1388
push eax
mov eax, dword [esp + 0x23bc]
push ebp
push eax
call fcn.00421a70
push 3
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23bc]
push 0x1388
lea edx, [esp + 0x2c]
push edx
push 0x2000
lea eax, [esp + 0x1ac]
push eax
push ecx
call fcn.00421b20
add esp, 0x1c
test eax, eax
jne 0x43c052
lea esi, [eax + 1]
push 3
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x23bc]
push 0x1f4
lea eax, [esp + 0x2c]
push eax
push 0x2000
lea ecx, [esp + 0x1ac]
push ecx
push edx
call fcn.00421b20
add esp, 0x1c
cmp eax, edi
je 0x43c08c
cmp esi, edi
je 0x43c24c
lea ecx, [esp + 0x23b4]
call fcn.004562d0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x20]
push eax
call edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x68], edi
push 0x17
push edi
push 0x483b10
lea ecx, [esp + 0x30]
mov byte [esp + 0x23b8], 0x58
call fcn.00425b30
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 0x59
call fcn.004562d0
mov ecx, eax
call fcn.004226d0
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x28]
call fcn.004562d0
mov ecx, eax
call fcn.00422700
push eax
lea ecx, [esp + 0x6c]
call fcn.00425a50
xor esi, esi
cmp dword [esp + 0x28], edi
jle 0x43c191
mov bl, 0x5a
push esi
lea ecx, [esp + 0x6c]
call fcn.00423480
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x74]
call fcn.004062a0
push ecx
mov ecx, esp
mov dword [esp + 0x80], esp
push 0x47dd68
mov byte [esp + 0x23b4], bl
call fcn.004062a0
push ecx
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x47dd68
mov byte [esp + 0x23b8], 0x5b
call fcn.004062a0
mov ecx, dword [esp + 0x78]
push 0x8000
push ecx
mov byte [esp + 0x23bc], 0x5c
call fcn.00419b00
mov ecx, eax
mov byte [esp + 0x23bc], bl
call fcn.0041cb50
lea ecx, [esp + 0x70]
mov byte [esp + 0x23ac], 0x59
call fcn.00401e00
inc esi
cmp esi, dword [esp + 0x28]
jl 0x43c106
mov eax, dword [esp + 0x24]
mov byte [esp + 0x23ac], 0x58
cmp eax, edi
je 0x43c1a9
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x68]
call fcn.004244b0
lea ecx, [esp + 0x2c]
call fcn.00401e00
lea ecx, [esp + 0x34]
call fcn.00401e00
lea ecx, [esp + 0x1c]
call fcn.00401e00
lea ecx, [esp + 0x6c]
call fcn.00401e00
lea ecx, [esp + 0x18]
call fcn.00401e00
lea ecx, [esp + 0x14]
call fcn.00401e00
lea ecx, [esp + 0x40]
call fcn.00401e00
lea ecx, [esp + 0x4c]
call fcn.00401e00
lea ecx, [esp + 0x44]
call fcn.00401e00
lea ecx, [esp + 0x48]
call fcn.00401e00
lea ecx, [esp + 0x38]
call fcn.00401e00
lea ecx, [esp + 0x3c]
call fcn.00401e00
lea ecx, [esp + 0x30]
call fcn.00401e00
mov eax, dword [esp + 0x23b4]
cmp eax, edi
mov dword [esp + 0x23ac], 0xffffffff
je 0x43c245
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor eax, eax
jmp 0x43cc18
lea ecx, [esp + 0x2c]
call fcn.00401e00
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0x4f
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c27d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x23b4]
cmp eax, edi
jne 0x43c292
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
push edi
push str.VID_04E8
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43c344
push 0
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43c344
push 0
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jg 0x43c2f5
push 0
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402010
cmp eax, 0xffffffff
jle 0x43c344
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [esp + 0x84]
xor esi, esi
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov edx, dword [ebx]
push esi
push ecx
push edx
push str.CDeviceDB::findDevice__s__s__d
call fcn.00403100
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
mov ecx, dword [ebx]
lea edx, [esp + 0x8c]
push edx
push eax
push ecx
call fcn.0040d2d0
add esp, 0x1c
test eax, eax
je 0x43c344
push 0x3e8
call edi
inc esi
cmp esi, 0x1e
jl 0x43c304
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0x4c
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c36c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c394
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 0x10]
mov byte [esp + 0x23ac], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c3b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c3e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c408
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c430
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c458
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c480
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c4a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c4d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c4f8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x23b4]
test eax, eax
jmp 0x43c230
cmp eax, 1
jne 0x43c8f9
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x198]
push str.ERROR:
push ecx
mov byte [esp + eax + 0x1a0], 0
call dword [sym.imp.MSVCR90.dll_strstr]
add esp, 8
push eax
lea ecx, [esp + 0x28]
call fcn.00403450
push str.CME_ERROR:_r_n
push str.CME_ERROR:_r_n
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b4], 0xb
call fcn.00428c40
mov ecx, eax
call fcn.00426bf0
mov edx, dword [esp + 0x24]
push edx
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
cmp eax, 0xa
mov eax, dword [esp + 0x23b4]
jne 0x43c73d
test eax, eax
jne 0x43c589
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
push str.CDeviceManager::ModemIdentify
push 0x47ddf8
call fcn.00403100
push 2
push 0x482c88
call fcn.00403100
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
add esp, 0x10
mov byte [esp + 0x23ac], 9
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c5d6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [esp + 0x23ac], 8
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c5f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 7
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c620
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 6
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c647
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 5
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c66e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 4
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c695
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 3
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c6bc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 2
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c6e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 1
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c70a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c731
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x23ac], edi
jmp 0x437ff8
test eax, eax
jne 0x43c74b
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 9
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c77a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [esp + 0x23ac], 8
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c79d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 7
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c7c4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 6
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c7eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 5
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c812
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 4
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c839
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 3
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c860
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 2
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c887
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 1
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c8ae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c8d5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x23b4]
mov dword [esp + 0x23ac], edi
test eax, eax
je 0x43c8ef
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 2
jmp 0x43cc18
cmp eax, 0x8007048f
mov eax, dword [esp + 0x23b4]
jne 0x43ca88
test eax, eax
jne 0x43c919
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea eax, [esi - 0x10]
mov byte [esp + 0x23ac], 8
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c944
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 7
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c96b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 6
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c992
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 5
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c9b9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 4
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43c9e0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 3
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43ca07
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 2
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43ca2e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 1
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43ca55
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43ca7c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x23ac], edi
jmp 0x4381a1
test eax, eax
jne 0x43ca96
push 0x80004003
call fcn.004634f0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea eax, [esi - 0x10]
mov byte [esp + 0x23ac], 8
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43cac1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 7
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43cae8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 6
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43cb0f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 5
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43cb36
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 4
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43cb5d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 3
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43cb84
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 2
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43cbab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 1
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43cbd2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0x23ac], 0
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43cbf9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x23b4]
mov dword [esp + 0x23ac], edi
test eax, eax
je 0x43cc13
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 0xa
mov ecx, dword [esp + 0x23a4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x238c]
xor ecx, esp
call fcn.00472076
add esp, 0x239c
ret