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

Disassembly:
push 0xffffffffffffffff
push 0x4783a0
mov eax, dword fs:[0]
push eax
mov eax, 0x2390
call fcn.00472040
mov eax, dword [0x49ef38]
xor eax, esp
mov dword [esp + 0x238c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x49ef38]
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 0x437586
push 0x80004003
call fcn.004633e0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x30]
push 0x1388
push eax
call edx
mov eax, dword [0x49f4e4]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f4e4
mov dword [esp + 0x70], edi
call edx
add eax, 0x10
mov dword [esp + 0x30], eax
mov eax, dword [0x49f4e4]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f4e4
mov byte [esp + 0x23ac], 1
call edx
add eax, 0x10
mov dword [esp + 0x3c], eax
mov eax, dword [0x49f4e4]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f4e4
mov byte [esp + 0x23ac], 2
call edx
add eax, 0x10
mov dword [esp + 0x38], eax
mov eax, dword [0x49f4e4]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f4e4
mov byte [esp + 0x23ac], 3
call edx
add eax, 0x10
mov dword [esp + 0x48], eax
mov eax, dword [0x49f4e4]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f4e4
mov byte [esp + 0x23ac], 4
call edx
add eax, 0x10
mov dword [esp + 0x44], eax
mov eax, dword [0x49f4e4]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f4e4
mov byte [esp + 0x23ac], 5
call edx
add eax, 0x10
mov dword [esp + 0x4c], eax
mov eax, dword [0x49f4e4]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f4e4
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 0x43767e
push 0x80004003
call fcn.004633e0
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.00406330
lea ecx, [esp + 0x14]
mov byte [esp + 0x23ac], 8
call fcn.00407d50
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 0xc]
cmp eax, edi
mov ebp, dword [sym.imp.MSVCR90.dll_wcsstr]
jl 0x4376e3
push str.VID_04E8PID_6640
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4376e3
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x4376e3
mov dword [esp + 0x70], 1
mov edx, dword [0x49f4e4]
mov eax, dword [edx + 0xc]
mov ecx, 0x49f4e4
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], 0x4213d0
mov dword [esp + 0x6c], 0x4214b0
mov dword [esp + 0x70], 0x421540
mov dword [esp + 0x74], 0x428bf0
mov byte [esp + 0x88], 0x81
mov byte [esp + 0x89], 0
mov byte [esp + 0x8a], 3
call fcn.00421260
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.00421310
add esp, 0x1c
lea esp, [esp]
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43793d
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x437864
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x437868
cmp dword [ecx - 0xc], 0
jl 0x43793d
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x437864
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x437868
cmp dword [ecx - 0xc], 0
jl 0x43793d
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
test eax, eax
je 0x437864
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x437868
push 6
push str.ATE0_r_n
lea ecx, [esp + 0x20]
call fcn.00402bd0
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.00421260
test eax, eax
jl 0x43793d
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 0x437935
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43793d
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43793d
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43793d
cmp dword [ecx - 0xc], 0
jl 0x43793d
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43793d
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43793d
cmp dword [ecx - 0xc], 0
jl 0x43793d
push str.IF_JAVACOMM
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43793d
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43793d
push 6
push str.ATE0_r_n
lea ecx, [esp + 0x20]
call fcn.00402bd0
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.00421260
test eax, eax
jl 0x43793d
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.00421310
add esp, 0x1c
push 5
push 0x483ed4
lea ecx, [esp + 0x20]
call fcn.00402bd0
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.00421260
test eax, eax
jl 0x4379a2
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.00421310
add esp, 0x1c
test eax, eax
je 0x437a6a
cmp eax, 1
jne 0x437a47
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.004034f0
push str.CME_ERROR:_r_n
push str.CME_ERROR:_r_n
lea ecx, [esp + 0x3c]
mov byte [esp + 0x23b4], 0xa
call fcn.004283c0
mov ecx, eax
call fcn.00426430
mov edx, dword [esp + 0x34]
push edx
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
cmp eax, 0xa
je 0x437b56
mov eax, dword [esp + 0x34]
push eax
call fcn.00427430
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 0x437a57
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x437a57
cmp eax, 2
je 0x437a57
cmp eax, 0x8007048f
je 0x437d45
cmp edi, 5
je 0x437eee
inc edi
cmp edi, 5
jbe 0x437780
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43809d
push str.VID_04E8
push ecx
call ebp
add esp, 8
or edi, 0xffffffff
test eax, eax
je 0x438097
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, edi
jle 0x4380a0
cmp dword [ecx - 0xc], 0
jl 0x438172
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x438097
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, edi
jle 0x4380a0
cmp dword [ecx - 0xc], 0
jl 0x438172
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
test eax, eax
je 0x438097
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, edi
jle 0x4380a0
push 6
push str.ATE0_r_n
lea ecx, [esp + 0x20]
call fcn.00402bd0
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.00421260
test eax, eax
jl 0x438172
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 0x43816a
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x437b6b
push 0x80004003
call fcn.004633e0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
push str.CDeviceManager::ModemIdentify
push 0x47ddf0
call fcn.004031a0
push 1
push 0x482a00
call fcn.004031a0
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 0x437bb9
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 0x437bdd
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 0x437c05
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 0x437c2d
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 0x437c55
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 0x437c7d
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 0x437ca5
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 0x437ccd
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 0x437cf5
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 0x437d1d
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 0x437d3b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 6
jmp 0x43c948
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x437d5a
push 0x80004003
call fcn.004633e0
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 0x437d86
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 0x437dae
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 0x437dd6
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 0x437dfe
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 0x437e26
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 0x437e4e
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 0x437e76
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 0x437e9e
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 0x437ec6
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 0x437ee4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 3
jmp 0x43c948
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x437f03
push 0x80004003
call fcn.004633e0
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 0x437f2f
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 0x437f57
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 0x437f7f
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 0x437fa7
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 0x437fcf
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 0x437ff7
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 0x43801f
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 0x438047
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 0x43806f
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 0x43808d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 5
jmp 0x43c948
mov ecx, dword [esp + 0x14]
jmp 0x4380a0
or edi, 0xffffffff
cmp dword [ecx - 0xc], 0
jl 0x438172
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x438172
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, edi
jle 0x438172
cmp dword [ecx - 0xc], 0
jl 0x438172
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x438172
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, edi
jle 0x438172
cmp dword [ecx - 0xc], 0
jl 0x438172
push str.IF_JAVACOMM
push ecx
call ebp
add esp, 8
test eax, eax
je 0x438172
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, edi
jle 0x438172
push 6
push str.ATE0_r_n
lea ecx, [esp + 0x20]
call fcn.00402bd0
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.00421260
test eax, eax
jl 0x438172
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.00421310
add esp, 0x1c
push 7
push str.ATGMM_r
lea ecx, [esp + 0x20]
call fcn.00402bd0
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.00421260
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.00421310
add esp, 0x1c
cmp eax, 2
jne 0x438229
push 8
push str.ATCGMM_r
lea ecx, [esp + 0x20]
call fcn.00402bd0
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.00421260
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.00421310
add esp, 0x1c
test eax, eax
jne 0x43c236
mov eax, dword [esp + 0x20]
test eax, eax
je 0x43861f
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.00401940
mov ecx, dword [esp + 0x94]
push ecx
mov ecx, ebx
mov byte [esp + 0x23b0], 0xc
call fcn.004034b0
mov eax, dword [esp + 0x94]
lea edx, [esp + 0x98]
mov byte [esp + 0x23ac], 9
cmp eax, edx
je 0x4382a4
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
push 0x47dd5c
push str.CGMM:
mov ecx, ebx
call fcn.00407b20
push 0x47dd5c
push 0x484da0
mov ecx, ebx
call fcn.00407b20
lea eax, [esp + 0x2c]
push eax
push 0x4849b0
lea ecx, [esp + 0x30]
push ecx
mov ecx, ebx
mov dword [esp + 0x38], 0
call fcn.0040b1e0
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 0x438303
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x2c]
push ecx
push 0x4849b0
lea edx, [esp + 0x30]
push edx
mov ecx, ebx
call fcn.0040b1e0
push eax
mov ecx, ebx
mov byte [esp + 0x23b0], 0xd
call fcn.00404480
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 0x438350
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x47dd5c
push str.SAMSUNG
mov ecx, ebx
call fcn.00407b20
push 0x47dd5c
push 0x47e358
mov ecx, ebx
call fcn.00407b20
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
jle 0x4383d4
push 0x2f
push eax
call dword [sym.imp.MSVCR90.dll_wcschr]
add esp, 8
test eax, eax
je 0x4383d4
sub eax, dword [ebx]
sar eax, 1
js 0x4383d4
push eax
push 0
lea ecx, [esp + 0x30]
push ecx
mov ecx, ebx
call fcn.00407850
push eax
mov ecx, ebx
mov byte [esp + 0x23b0], 0xe
call fcn.00404480
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 0x4383d4
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.00406330
mov esi, dword [esp + 0x84]
push eax
push esi
call fcn.004069b0
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 0x438415
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x438425
push str.SCH_R350
mov ecx, esi
call fcn.004034b0
push str.GT_I5700
lea ecx, [esp + 0x2c]
call fcn.00406330
push eax
push esi
call fcn.004069b0
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 0x43845f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x43846f
push str.Unknown
mov ecx, esi
call fcn.004080a0
push 0x47dd5c
lea ecx, [esp + 0x1c]
call fcn.00426270
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.0040d9a0
test eax, eax
jne 0x438596
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x219c]
push edx
push str.PackageVersion
lea ecx, [esp + 0x88]
call fcn.00420ef0
test eax, eax
jne 0x438596
push 0x47dd5c
lea ecx, [esp + 0x28]
call fcn.00406330
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.00406330
lea ecx, [esp + 0x2c]
push ecx
call fcn.0042cca0
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.00402eb0
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 0x438560
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.00426270
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 0x438596
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x18]
push 0x47dd5c
push ecx
call fcn.0042c300
add esp, 8
test al, al
je 0x4385ba
push str.ATCGTEMRNewPCStudio_r
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
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.00421310
mov eax, dword [esp + 0x98]
add esp, 0x1c
mov byte [esp + 0x23ac], 9
cmp eax, edi
je 0x43862d
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x43862d
push 0x47dd5c
mov ecx, ebx
call fcn.004034b0
xor edi, edi
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x4387e0
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x43870c
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438710
cmp dword [ecx - 0xc], edi
jl 0x4387e0
push str.PID_6651
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x43870c
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438710
cmp dword [ecx - 0xc], edi
jl 0x4387e0
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x43870c
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438710
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x4387e0
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 0x4387d8
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x4387e0
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4387e0
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x4387e0
cmp dword [ecx - 0xc], edi
jl 0x4387e0
push str.PID_6651
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4387e0
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x4387e0
cmp dword [ecx - 0xc], edi
jl 0x4387e0
push str.IF_JAVACOMM
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4387e0
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x4387e0
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x4387e0
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.00421310
add esp, 0x1c
push 0xb
push str.ATIMEINUM_r
lea ecx, [esp + 0x20]
call fcn.00402bd0
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.00421260
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.00421310
add esp, 0x1c
cmp eax, 0x8007048f
jne 0x4389de
mov eax, dword [esp + 0x23b4]
cmp eax, edi
jne 0x438859
push 0x80004003
call fcn.004633e0
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 0x438885
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 0x4388ad
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 0x4388d5
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 0x4388fd
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 0x438925
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 0x43894d
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 0x438975
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 0x43899d
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 0x4389c5
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 0x437eda
mov eax, dword [esp + 0x20]
cmp eax, edi
jbe 0x438b8d
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.00401940
mov edx, dword [esp + 0x94]
push edx
lea ecx, [esp + 0x38]
mov byte [esp + 0x23b0], 0x12
call fcn.00406330
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov bl, 0x14
mov byte [esp + 0x23ac], bl
cmp eax, ecx
je 0x438a54
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x481ac8
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x38], edi
call fcn.0040b1e0
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 0x438a90
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esp + 0x2c], edi
jle 0x438ae7
lea ecx, [esp + 0x2c]
push ecx
push 0x4849b0
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x40]
call fcn.0040b1e0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x23b0], 0x15
call fcn.00404480
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 0x438ae7
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 0x438b69
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x438b05
push 0x80004003
call fcn.004633e0
push eax
lea ecx, [esp + 0x28]
call fcn.00406780
mov esi, eax
push str.IMEINUM
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b0], 0x16
call fcn.004066f0
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x17
test ecx, ecx
je 0x438b39
mov ecx, dword [ecx]
jmp 0x438b3b
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x438b45
mov eax, dword [eax]
jmp 0x438b47
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.00407910
lea ecx, [esp + 0x24]
call fcn.00407910
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 0x438b8d
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 0x438d40
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x438c6c
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438c70
cmp dword [ecx - 0xc], edi
jl 0x438d40
push str.PID_6651
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x438c6c
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438c70
cmp dword [ecx - 0xc], edi
jl 0x438d40
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x438c6c
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438c70
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x438d40
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 0x438d38
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x438d40
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x438d40
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438d40
cmp dword [ecx - 0xc], edi
jl 0x438d40
push str.PID_6651
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x438d40
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x438d40
cmp dword [ecx - 0xc], edi
jl 0x438d40
push str.IF_JAVACOMM
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x438d40
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x438d40
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x438d40
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.00421310
add esp, 0x1c
push 8
push str.ATSBMM_r
lea ecx, [esp + 0x20]
call fcn.00402bd0
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.00421260
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.00421310
add esp, 0x1c
cmp eax, 0x8007048f
je 0x438844
mov eax, dword [esp + 0x20]
cmp eax, edi
jbe 0x438f48
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.00401940
mov edx, dword [esp + 0x94]
push edx
lea ecx, [esp + 0x40]
mov byte [esp + 0x23b0], 0x18
call fcn.004034b0
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], 9
cmp eax, ecx
je 0x438e19
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x4849b0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x38], edi
call fcn.0040b1e0
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 0x438e55
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x2c]
push ecx
push 0x4849b0
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x48]
call fcn.0040b1e0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x23b0], 0x19
call fcn.00404480
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 0x438ea7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x47dd5c
push str.SBMM
lea ecx, [esp + 0x44]
call fcn.00407b20
mov ecx, dword [esp + 0x3c]
cmp dword [ecx - 0xc], edi
je 0x438f48
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x438edc
push 0x80004003
call fcn.004633e0
mov edx, dword [esp + 0x3c]
push edx
lea ecx, [esp + 0x28]
call fcn.00406780
mov esi, eax
push str.Base_Model_Name
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b0], 0x1a
call fcn.004066f0
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x1b
test ecx, ecx
je 0x438f14
mov ecx, dword [ecx]
jmp 0x438f16
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x438f20
mov eax, dword [eax]
jmp 0x438f22
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.00407910
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 9
call fcn.00407910
xor edi, edi
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x4390ea
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x439027
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43902b
cmp dword [ecx - 0xc], edi
jl 0x4390ea
push str.PID_6651
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x439027
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43902b
cmp dword [ecx - 0xc], edi
jl 0x4390ea
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x439027
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43902b
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x4390ea
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 0x4390e2
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x4390ea
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4390ea
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x4390ea
cmp dword [ecx - 0xc], edi
jl 0x4390ea
push str.PID_6651
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4390ea
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x4390ea
push edi
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x4390ea
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x4390ea
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.00421310
add esp, 0x1c
push str.ATGMC_r
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
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.00421310
add esp, 0x1c
cmp eax, 0x8007048f
je 0x438844
mov eax, dword [esp + 0x20]
cmp eax, edi
jbe 0x4392f0
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.00401940
mov edx, dword [esp + 0x94]
push edx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x23b0], 0x1c
call fcn.004034b0
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], 9
cmp eax, ecx
je 0x4391c1
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x4849b0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x44]
mov dword [esp + 0x38], edi
call fcn.0040b1e0
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 0x4391fd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x2c]
push ecx
push 0x4849b0
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x44]
call fcn.0040b1e0
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x23b0], 0x1d
call fcn.00404480
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 0x43924f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x47dd5c
push str.GMC:
lea ecx, [esp + 0x40]
call fcn.00407b20
mov ecx, dword [esp + 0x38]
cmp dword [ecx - 0xc], edi
je 0x4392f0
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x439284
push 0x80004003
call fcn.004633e0
mov edx, dword [esp + 0x38]
push edx
lea ecx, [esp + 0x28]
call fcn.00406780
mov esi, eax
push str.CarrierID
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b0], 0x1e
call fcn.004066f0
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x1f
test ecx, ecx
je 0x4392bc
mov ecx, dword [ecx]
jmp 0x4392be
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x4392c8
mov eax, dword [eax]
jmp 0x4392ca
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.00407910
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 9
call fcn.00407910
xor edi, edi
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x4393ab
push str.VID_04E8
push ecx
call ebp
add esp, 8
or ebx, 0xffffffff
cmp eax, edi
je 0x4393a5
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, ebx
jle 0x4393ae
push edi
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, ebx
jle 0x4393a5
push edi
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, ebx
jle 0x4393a5
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x439459
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 0x439451
mov ecx, dword [esp + 0x14]
jmp 0x4393ae
or ebx, 0xffffffff
cmp dword [ecx - 0xc], edi
jl 0x439459
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x439459
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, ebx
jle 0x439459
push edi
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, ebx
jle 0x439459
push edi
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, ebx
jle 0x439459
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x439459
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.00421310
add esp, 0x1c
push str.ATGSN_r
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
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.00421310
add esp, 0x1c
cmp eax, 2
jne 0x43950c
push str.ATCGSN_r
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
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.00421310
add esp, 0x1c
cmp eax, edi
je 0x439720
cmp eax, 1
jne 0x43969f
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.004034f0
push str.CME_ERROR:_r_n
push str.CME_ERROR:_r_n
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b4], 0x20
call fcn.004283c0
mov ecx, eax
call fcn.00426430
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 0x439623
call fcn.00456380
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
push str.CDeviceManager::ModemIdentify
push 0x47ddf0
call fcn.004031a0
push 3
push 0x482a00
call fcn.004031a0
add esp, 0x10
lea ecx, [esp + 0x24]
call fcn.00401e10
lea ecx, [esp + 0x18]
call fcn.00401e10
lea ecx, [esp + 0x14]
call fcn.00401e10
lea ecx, [esp + 0x40]
call fcn.00401e10
lea ecx, [esp + 0x4c]
call fcn.00401e10
lea ecx, [esp + 0x44]
call fcn.00401e10
lea ecx, [esp + 0x48]
call fcn.00401e10
lea ecx, [esp + 0x38]
call fcn.00401e10
lea ecx, [esp + 0x3c]
call fcn.00401e10
lea ecx, [esp + 0x30]
call fcn.00401e10
mov eax, dword [esp + 0x23b4]
mov dword [esp + 0x23ac], ebx
cmp eax, edi
jmp 0x437d31
call fcn.00456380
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea ecx, [esp + 0x24]
call fcn.00401e10
lea ecx, [esp + 0x18]
call fcn.00401e10
lea ecx, [esp + 0x14]
call fcn.00401e10
lea ecx, [esp + 0x40]
call fcn.00401e10
lea ecx, [esp + 0x4c]
call fcn.00401e10
lea ecx, [esp + 0x44]
call fcn.00401e10
lea ecx, [esp + 0x48]
call fcn.00401e10
lea ecx, [esp + 0x38]
call fcn.00401e10
lea ecx, [esp + 0x3c]
call fcn.00401e10
lea ecx, [esp + 0x30]
call fcn.00401e10
mov eax, dword [esp + 0x23b4]
mov dword [esp + 0x23ac], ebx
cmp eax, edi
jmp 0x43c615
cmp eax, 0x8007048f
jne 0x439720
lea ecx, [esp + 0x23b4]
call fcn.00456380
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea ecx, [esp + 0x18]
call fcn.00401e10
lea ecx, [esp + 0x14]
call fcn.00401e10
lea ecx, [esp + 0x40]
call fcn.00401e10
lea ecx, [esp + 0x4c]
call fcn.00401e10
lea ecx, [esp + 0x44]
call fcn.00401e10
lea ecx, [esp + 0x48]
call fcn.00401e10
lea ecx, [esp + 0x38]
call fcn.00401e10
lea ecx, [esp + 0x3c]
call fcn.00401e10
lea ecx, [esp + 0x30]
call fcn.00401e10
mov eax, dword [esp + 0x23b4]
mov dword [esp + 0x23ac], ebx
cmp eax, edi
jmp 0x437eda
mov eax, dword [esp + 0x20]
cmp eax, edi
jbe 0x4397f3
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.00401940
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x68]
push edx
mov ecx, esi
mov byte [esp + 0x23b0], 0x21
call fcn.004034b0
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], 9
cmp eax, ecx
je 0x439797
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x4849b0
lea eax, [esp + 0x30]
push eax
mov ecx, esi
mov dword [esp + 0x38], edi
call fcn.0040b1e0
lea ecx, [esp + 0x28]
call fcn.00401e10
lea ecx, [esp + 0x2c]
push ecx
push 0x4849b0
lea edx, [esp + 0x2c]
push edx
mov ecx, esi
call fcn.0040b1e0
push eax
mov ecx, esi
mov byte [esp + 0x23b0], 0x22
call fcn.00404480
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 9
call fcn.00401e10
jmp 0x439803
mov esi, dword [esp + 0x68]
push 0x47dd5c
mov ecx, esi
call fcn.004034b0
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x439964
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x4398b5
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, ebx
jle 0x4398b9
push edi
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, ebx
jle 0x4398b5
push edi
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, ebx
jle 0x4398b5
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x439964
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 0x43995c
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], edi
jl 0x439964
push str.VID_04E8
push ecx
call ebp
add esp, 8
cmp eax, edi
je 0x439964
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, ebx
jle 0x439964
push edi
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, ebx
jle 0x439964
push edi
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, ebx
jle 0x439964
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x439964
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.00421310
add esp, 0x1c
push str.ATPBDYN__r
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
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.00421310
add esp, 0x1c
cmp eax, 0x8007048f
jne 0x4399db
mov eax, dword [esp + 0x23b4]
cmp eax, edi
jne 0x4396b2
push 0x80004003
call fcn.004633e0
mov eax, dword [esp + 0x20]
cmp eax, edi
jbe 0x439ad1
mov byte [esp + eax + 0x198], 0
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0x98]
call fcn.004020a0
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x23b0], 0x23
call fcn.004034b0
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], 9
cmp eax, ecx
je 0x439a3b
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x4849b0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x38], edi
call fcn.0040b1e0
lea ecx, [esp + 0x28]
call fcn.00401e10
lea ecx, [esp + 0x2c]
push ecx
push 0x4849b0
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x3c]
call fcn.0040b1e0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x23b0], 0x24
call fcn.00404480
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 9
call fcn.00401e10
push edi
push str.PBDYN
lea ecx, [esp + 0x38]
call fcn.00402020
cmp eax, edi
jl 0x439ad1
push 0x47dd5c
push str.PBDYN:
lea ecx, [esp + 0x38]
call fcn.00407b20
lea ecx, [esp + 0x30]
call fcn.00403140
mov ecx, eax
call fcn.00402a40
mov eax, dword [esp + 0x30]
mov eax, dword [eax - 0xc]
cmp eax, edi
je 0x439b7b
push edi
push str.ERROR
lea ecx, [esp + 0x38]
call fcn.00402020
cmp eax, ebx
jne 0x439b7b
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x6c]
call fcn.00404620
lea ecx, [esp + 0x23b4]
call fcn.00456380
mov edx, dword [esp + 0x30]
push edx
lea ecx, [esp + 0x38]
mov esi, eax
call fcn.00406780
mov edi, eax
push str.PhoneNumber
lea ecx, [esp + 0x28]
mov byte [esp + 0x23b0], 0x25
call fcn.004066f0
mov ebx, eax
mov ecx, edi
mov byte [esp + 0x23ac], 0x26
call fcn.00406830
push eax
mov ecx, ebx
call fcn.00406830
push eax
mov eax, dword [esi]
mov eax, dword [eax + 0x6c]
push esi
call eax
lea ecx, [esp + 0x24]
call fcn.00407910
lea ecx, [esp + 0x34]
mov byte [esp + 0x23ac], 9
call fcn.00407910
mov esi, dword [esp + 0x68]
xor edi, edi
push edi
push str.ERROR
mov ecx, esi
call fcn.00402020
cmp eax, 0xffffffff
mov edi, dword [esp + 0x23b4]
jle 0x439bda
test edi, edi
jne 0x439ba2
push 0x80004003
call fcn.004633e0
push str.TRUE
lea ecx, [esp + 0x28]
call fcn.004066f0
mov esi, eax
push str.TEMPORARY_IMEI
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b0], 0x27
call fcn.004066f0
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x28
test ecx, ecx
je 0x439c20
mov ecx, dword [ecx]
jmp 0x439c22
test edi, edi
jne 0x439be8
push 0x80004003
call fcn.004633e0
push 0x484bcc
lea ecx, [esp + 0x28]
call fcn.004066f0
mov esi, eax
push str.TEMPORARY_IMEI
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b0], 0x29
call fcn.004066f0
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x2a
test ecx, ecx
je 0x439c20
mov ecx, dword [ecx]
jmp 0x439c22
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x439c2c
mov eax, dword [eax]
jmp 0x439c2e
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.00407910
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 9
call fcn.00407910
push 0
push str.VID_04E8
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x439cf1
push 0
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x439cf1
push 0
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x439cf1
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x439d8f
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 0x439d87
push 0
push str.VID_04E8
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x439d8f
push 0
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x439d8f
push 0
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x439d8f
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x439d8f
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.00421310
add esp, 0x1c
push 0x483cb0
lea ecx, [esp + 0x1c]
call fcn.00403340
xor edi, edi
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x439f2e
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x439e68
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x439e6c
cmp dword [ecx - 0xc], 0
jl 0x439f2e
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x439e68
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x439e6c
push 0
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x439e68
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x439f2e
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 0x439f26
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x439f2e
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x439f2e
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x439f2e
cmp dword [ecx - 0xc], 0
jl 0x439f2e
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x439f2e
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x439f2e
push 0
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x439f2e
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x439f2e
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.00421310
add esp, 0x1c
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x439f7f
jl 0x439f55
push str.ERROR
push ecx
call ebp
add esp, 8
test eax, eax
je 0x439f55
sub eax, dword [esp + 0x30]
sar eax, 1
cmp eax, 0xffffffff
jne 0x439f7f
push 0
push str.VID_04E8PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jg 0x439f7f
push str.ATUMVERSION__r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
push 0x483cb0
jmp 0x439f92
push str.ATSWVER__r
lea ecx, [esp + 0x1c]
call fcn.00403340
push 0x484b88
lea ecx, [esp + 0x34]
call fcn.004080a0
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.00421260
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.00421310
add esp, 0x1c
cmp eax, 0x8007048f
je 0x43a3d7
mov eax, dword [esp + 0x20]
test eax, eax
jbe 0x43a3c8
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.00401940
mov ecx, dword [esp + 0x94]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x2b
call fcn.00406330
mov eax, dword [esp + 0x94]
lea edx, [esp + 0x98]
mov byte [esp + 0x23ac], 0x2d
cmp eax, edx
je 0x43a064
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.00402020
cmp eax, 0xffffffff
jle 0x43a30b
lea ecx, [esp + 0x34]
call fcn.00402420
lea ecx, [esp + 0x24]
call fcn.00402420
mov byte [esp + 0x23ac], 0x2f
nop
lea eax, [esp + 0x2c]
push eax
push 0x4849b0
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x28]
call fcn.0040b1e0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x23b0], 0x30
call fcn.00404480
lea edx, [esp + 0x34]
push 0x47dd5c
push edx
call fcn.004230c0
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 0x43a10c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x43a1cd
mov esi, dword [esp + 0x34]
cmp dword [esi - 0xc], 0
jl 0x43a0a0
push 0x481ac8
push esi
call ebp
add esp, 8
test eax, eax
je 0x43a0a0
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
jle 0x43a0a0
cmp dword [esi - 0xc], 0
jg 0x43a149
or eax, 0xffffffff
jmp 0x43a162
push 0x3a
push esi
call dword [sym.imp.MSVCR90.dll_wcschr]
add esp, 8
test eax, eax
jne 0x43a15e
or eax, 0xffffffff
jmp 0x43a162
sub eax, esi
sar eax, 1
add eax, 2
push eax
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0x3c]
call fcn.00407ef0
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b4], 0x31
call fcn.00404500
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 0x43a1ba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x47fac8
lea ecx, [esp + 0x28]
call fcn.00404640
jmp 0x43a0a0
push 0x47fac8
lea ecx, [esp + 0x28]
call fcn.00407db0
push eax
lea ecx, [esp + 0x20]
call fcn.00404480
cmp dword [0x49f1ec], 1
je 0x43a211
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x49f1f4
call fcn.00404620
lea edx, [esp + 0x1c]
push edx
mov ecx, 0x49f1f8
call fcn.00404620
jmp 0x43a2d8
mov esi, dword [esp + 0x84]
push 0x47dd5c
push 0x484b80
mov ecx, esi
call fcn.00407b20
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.0040d310
mov eax, dword [esp + 0x34]
add esp, 0xc
test eax, eax
jle 0x43a2d8
mov ecx, dword [esp + 0x14]
push ecx
push str.HARDWAREID
push eax
call fcn.0040ccd0
add esp, 8
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x80], esp
push edx
call fcn.00402440
lea eax, [esp + 0x78]
push eax
mov byte [esp + 0x23b4], 0x32
call fcn.00419a30
mov ecx, eax
mov byte [esp + 0x23b4], 0x2f
call fcn.00416940
mov eax, dword [eax]
mov ecx, dword [esp + 0x28]
push eax
push str.USBHARDWAREID
push ecx
mov byte [esp + 0x23b8], 0x33
call fcn.0040ccd0
add esp, 0xc
lea ecx, [esp + 0x74]
mov byte [esp + 0x23ac], 0x2f
call fcn.00401e10
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
push edx
push 0x47e47c
push eax
call fcn.0040ccd0
add esp, 0xc
push 0
push str.ERROR
lea ecx, [esp + 0x24]
call fcn.00402020
cmp eax, 0xffffffff
je 0x43a3f9
lea ecx, [esp + 0x24]
call fcn.00401e10
lea ecx, [esp + 0x34]
mov byte [esp + 0x23ac], 0x2d
call fcn.00401e10
lea ecx, [esp + 0x2c]
push ecx
push 0x4849b0
lea edx, [esp + 0x5c]
push edx
lea ecx, [esp + 0x28]
call fcn.0040b1e0
lea ecx, [esp + 0x54]
call fcn.00401e10
lea eax, [esp + 0x2c]
push eax
push 0x4849b0
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x28]
call fcn.0040b1e0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x36
call fcn.00404480
lea ecx, [esp + 0x50]
mov byte [esp + 0x23ac], 0x2d
call fcn.00401e10
push 0
push str.SWVER
lea ecx, [esp + 0x24]
call fcn.00402020
test eax, eax
jl 0x43a39e
push 0x47dd5c
push str.SWVER:
lea ecx, [esp + 0x24]
call fcn.00407b20
lea ecx, [esp + 0x1c]
call fcn.00403140
mov ecx, eax
call fcn.00402a40
push 0
push str.ERROR
lea ecx, [esp + 0x24]
call fcn.00402020
cmp eax, 0xffffffff
je 0x43a475
lea ecx, [esp + 0x1c]
mov byte [esp + 0x23ac], 9
call fcn.00401e10
inc edi
cmp edi, 2
jl 0x439d9f
jmp 0x43a4fd
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x43a3ec
push 0x80004003
call fcn.004633e0
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x34]
call eax
jmp 0x437d62
lea ecx, [esp + 0x23b4]
call fcn.00456380
mov esi, eax
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x78]
call fcn.00406780
mov edi, eax
push str.SoftwareRevision
lea ecx, [esp + 0x58]
mov byte [esp + 0x23b0], 0x34
call fcn.004066f0
mov ebx, eax
mov ecx, edi
mov byte [esp + 0x23ac], 0x35
call fcn.00406830
push eax
mov ecx, ebx
call fcn.00406830
push eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x6c]
push esi
call ecx
lea ecx, [esp + 0x54]
call fcn.00407910
lea ecx, [esp + 0x74]
call fcn.00407910
lea ecx, [esp + 0x24]
call fcn.00401e10
lea ecx, [esp + 0x34]
call fcn.00401e10
jmp 0x43a4ec
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x43a48a
push 0x80004003
call fcn.004633e0
mov edx, dword [esp + 0x1c]
push edx
lea ecx, [esp + 0x58]
call fcn.00406780
mov esi, eax
push str.SoftwareRevision
lea ecx, [esp + 0x54]
mov byte [esp + 0x23b0], 0x37
call fcn.004066f0
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x38
test ecx, ecx
je 0x43a4c2
mov ecx, dword [ecx]
jmp 0x43a4c4
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x43a4ce
mov eax, dword [eax]
jmp 0x43a4d0
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.00407910
lea ecx, [esp + 0x54]
call fcn.00407910
lea ecx, [esp + 0x1c]
mov byte [esp + 0x23ac], 9
call fcn.00401e10
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jl 0x43a5c7
push str.VID_04E8
push eax
call ebp
add esp, 8
test eax, eax
je 0x43a5c7
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43a5c7
cmp dword [ecx - 0xc], 0
jl 0x43a5c7
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43a5c7
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43a5c7
push 0
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x43a5c7
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x43a5c7
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.00421310
add esp, 0x1c
push str.ATHIDSWVER__r
lea ecx, [esp + 0x1c]
call fcn.00403340
mov edi, dword [esp + 0x18]
xor ebp, ebp
jmp 0x43a5e0
mov eax, dword [edi - 0xc]
push 0x1388
push eax
mov eax, dword [esp + 0x23bc]
push edi
push eax
call fcn.00421260
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.00421310
add esp, 0x1c
cmp eax, 0x8007048f
je 0x43aa57
mov eax, dword [esp + 0x20]
test eax, eax
jbe 0x43aa48
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.00401940
mov ecx, dword [esp + 0x94]
push ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x39
call fcn.00406330
mov eax, dword [esp + 0x94]
lea edx, [esp + 0x98]
mov byte [esp + 0x23ac], 0x3b
cmp eax, edx
je 0x43a6a5
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], 0
call fcn.00407d50
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
mov esi, dword [sym.imp.MSVCR90.dll_wcsstr]
jl 0x43a916
push str.VID_04E8PID_6651
push eax
call esi
add esp, 8
test eax, eax
je 0x43a916
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43a916
mov eax, dword [0x49f4e4]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f4e4
call edx
add eax, 0x10
mov dword [esp + 0x34], eax
mov eax, dword [0x49f4e4]
mov edx, dword [eax + 0xc]
mov ecx, 0x49f4e4
mov byte [esp + 0x23ac], 0x3c
call edx
add eax, 0x10
mov dword [esp + 0x24], eax
mov byte [esp + 0x23ac], 0x3d
jmp 0x43a730
lea eax, [esp + 0x2c]
push eax
push 0x4849b0
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x28]
call fcn.0040b1e0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x23b0], 0x3e
call fcn.00404480
lea edx, [esp + 0x34]
push 0x47dd5c
push edx
call fcn.004230c0
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 0x43a796
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x43a855
mov esi, dword [esp + 0x34]
cmp dword [esi - 0xc], 0
jl 0x43a730
push 0x481ac8
push esi
call dword [sym.imp.MSVCR90.dll_wcsstr]
add esp, 8
test eax, eax
je 0x43a730
sub eax, esi
sar eax, 1
cmp eax, 0xffffffff
jle 0x43a730
cmp dword [esi - 0xc], 0
jg 0x43a7d7
or eax, 0xffffffff
jmp 0x43a7f0
push 0x3a
push esi
call dword [sym.imp.MSVCR90.dll_wcschr]
add esp, 8
test eax, eax
jne 0x43a7ec
or eax, 0xffffffff
jmp 0x43a7f0
sub eax, esi
sar eax, 1
add eax, 2
push eax
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x3c]
call fcn.00407ef0
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b4], 0x3f
call fcn.00404500
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 0x43a842
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x47fac8
lea ecx, [esp + 0x28]
call fcn.00404640
jmp 0x43a730
push 0x47fac8
lea ecx, [esp + 0x28]
call fcn.00407db0
push eax
lea ecx, [esp + 0x20]
call fcn.00404480
cmp dword [0x49f1ec], 1
je 0x43a896
lea ecx, [esp + 0x14]
push ecx
mov ecx, 0x49f1f4
call fcn.00404480
lea edx, [esp + 0x1c]
push edx
mov ecx, 0x49f1f8
call fcn.00404480
jmp 0x43a8c4
mov eax, dword [esp + 0x14]
mov ecx, dword [0x49f1f0]
push eax
push str.HARDWAREID
push ecx
call fcn.0040ccd0
mov edx, dword [esp + 0x28]
mov eax, dword [0x49f1f0]
push edx
push 0x47e468
push eax
call fcn.0040ccd0
add esp, 0x18
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
jl 0x43aa7c
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 0x43aa7c
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
je 0x43aa7c
lea ecx, [esp + 0x24]
call fcn.00401e10
lea ecx, [esp + 0x34]
mov byte [esp + 0x23ac], 0x3b
call fcn.00401e10
lea ecx, [esp + 0x2c]
push ecx
push 0x4849b0
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x28]
call fcn.0040b1e0
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 0x43a94e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x2c]
push ecx
push 0x4849b0
lea edx, [esp + 0x90]
push edx
lea ecx, [esp + 0x28]
call fcn.0040b1e0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x42
call fcn.00404480
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 0x43a9a6
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 0x43ab03
push str.HIDSWVER
push ecx
call esi
mov ecx, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x43a9f4
sub eax, ecx
sar eax, 1
js 0x43a9f4
push 0x47dd5c
push str.HIDSWVER:
lea ecx, [esp + 0x24]
call fcn.00407b20
lea ecx, [esp + 0x1c]
call fcn.00403140
mov ecx, eax
call fcn.00402a40
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
jl 0x43ab03
push str.ERROR
push ecx
call esi
mov ecx, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x43aa1a
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jne 0x43aa24
cmp dword [ecx - 0xc], 0
jne 0x43ab03
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 0x43aa48
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc ebp
cmp ebp, 2
jl 0x43a5e0
jmp 0x43ab87
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x43aa6c
push 0x80004003
call fcn.004633e0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea eax, [edi - 0x10]
jmp 0x437d65
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x43aa91
push 0x80004003
call fcn.004633e0
push ecx
lea ecx, [esp + 0x58]
call fcn.00406780
mov esi, eax
push 0x483ebc
lea ecx, [esp + 0x54]
mov byte [esp + 0x23b0], 0x40
call fcn.004066f0
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x41
test ecx, ecx
je 0x43aac5
mov ecx, dword [ecx]
jmp 0x43aac7
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x43aad1
mov eax, dword [eax]
jmp 0x43aad3
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.00407910
lea ecx, [esp + 0x54]
call fcn.00407910
lea ecx, [esp + 0x24]
call fcn.00401e10
lea ecx, [esp + 0x34]
call fcn.00401e10
jmp 0x43ab76
mov edi, dword [esp + 0x23b4]
test edi, edi
jne 0x43ab18
push 0x80004003
call fcn.004633e0
push ecx
lea ecx, [esp + 0x58]
call fcn.00406780
mov esi, eax
push 0x483ebc
lea ecx, [esp + 0x54]
mov byte [esp + 0x23b0], 0x43
call fcn.004066f0
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x44
test ecx, ecx
je 0x43ab4c
mov ecx, dword [ecx]
jmp 0x43ab4e
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x43ab58
mov eax, dword [eax]
jmp 0x43ab5a
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.00407910
lea ecx, [esp + 0x54]
call fcn.00407910
lea ecx, [esp + 0x1c]
mov byte [esp + 0x23ac], 9
call fcn.00401e10
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
mov ebp, dword [sym.imp.MSVCR90.dll_wcsstr]
jl 0x43ac64
push str.VID_04E8
push eax
call ebp
add esp, 8
test eax, eax
je 0x43ac64
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43ac64
cmp dword [ecx - 0xc], 0
jl 0x43ac64
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43ac64
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43ac64
cmp dword [ecx - 0xc], 0
jl 0x43ac64
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43ac64
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43ac64
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x43ac64
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.00421310
add esp, 0x1c
push str.ATPRODUCTCODE__r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
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.00421310
add esp, 0x1c
cmp eax, 0x8007048f
jne 0x43acdb
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x43a3ec
push 0x80004003
call fcn.004633e0
mov eax, dword [esp + 0x20]
test eax, eax
jbe 0x43b024
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.00401940
mov edx, dword [esp + 0x94]
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x45
call fcn.00406330
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov bl, 0x47
mov byte [esp + 0x23ac], bl
cmp eax, ecx
je 0x43ad51
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x4849b0
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x38], 0
call fcn.0040b1e0
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 0x43ad91
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 0x43adec
push str.VID_04E8
push eax
call ebp
add esp, 8
test eax, eax
je 0x43adec
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43adec
cmp dword [ecx - 0xc], 0
jl 0x43adec
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43adec
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43adec
push 0
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jg 0x43ae3d
lea ecx, [esp + 0x2c]
push ecx
push 0x4849b0
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x28]
call fcn.0040b1e0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x48
call fcn.00404480
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 0x43ae3d
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 0x43aeab
push str.PRODUCTCODE
push ecx
call ebp
mov ecx, dword [esp + 0x24]
add esp, 8
test eax, eax
je 0x43ae87
sub eax, ecx
sar eax, 1
js 0x43ae87
push 0x47dd5c
push str.PRODUCTCODE:
lea ecx, [esp + 0x24]
call fcn.00407b20
lea ecx, [esp + 0x1c]
call fcn.00403140
mov ecx, eax
call fcn.00402a40
mov ecx, dword [esp + 0x1c]
cmp dword [ecx - 0xc], 0
jl 0x43aeab
push str.ERROR
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43aeab
sub eax, dword [esp + 0x1c]
sar eax, 1
cmp eax, 0xffffffff
jne 0x43affc
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
jl 0x43af3c
push str.VID_04E8PID_6651
push eax
call ebp
add esp, 8
test eax, eax
je 0x43af3c
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43af3c
push 0
push 0x484ad0
lea ecx, [esp + 0x24]
call fcn.00402020
test eax, eax
jl 0x43af0a
push 0x47dd5c
push 0x484ad0
lea ecx, [esp + 0x24]
call fcn.00407b20
lea ecx, [esp + 0x1c]
call fcn.00403140
mov ecx, eax
call fcn.00402a40
cmp dword [0x49f1ec], 1
je 0x43af24
lea ecx, [esp + 0x1c]
push ecx
mov ecx, 0x49f1fc
call fcn.00404480
jmp 0x43af3c
mov edx, dword [esp + 0x1c]
mov eax, dword [0x49f1f0]
push edx
push 0x47e450
push eax
call fcn.0040ccd0
add esp, 0xc
push 3
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x24]
call fcn.00402820
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x49
call fcn.00404480
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 0x43af85
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 0x43af9a
push 0x80004003
call fcn.004633e0
mov ecx, dword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x58]
call fcn.00406780
mov esi, eax
push str.ProductCode
lea ecx, [esp + 0x54]
mov byte [esp + 0x23b0], 0x4a
call fcn.004066f0
mov ecx, dword [esi]
mov byte [esp + 0x23ac], 0x4b
test ecx, ecx
je 0x43afd2
mov ecx, dword [ecx]
jmp 0x43afd4
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x43afde
mov eax, dword [eax]
jmp 0x43afe0
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.00407910
lea ecx, [esp + 0x54]
call fcn.00407910
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 0x43b024
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 0x43b1cc
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b106
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b10a
cmp dword [ecx - 0xc], 0
jl 0x43b1cc
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b106
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b10a
cmp dword [ecx - 0xc], 0
jl 0x43b1cc
push str.IF_MOD_2K
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b106
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b10a
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x43b1cc
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 0x43b1c4
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43b1cc
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b1cc
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b1cc
cmp dword [ecx - 0xc], 0
jl 0x43b1cc
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b1cc
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b1cc
push 0
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x43b1cc
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x43b1cc
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.00421310
add esp, 0x1c
push str.ATCLOCK__r
lea ecx, [esp + 0x70]
call fcn.004034f0
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.00421260
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.00421310
add esp, 0x1c
test eax, eax
jne 0x43b3d1
mov esi, dword [esp + 0x20]
test esi, esi
je 0x43b3d1
mov edx, dword [0x49f4e4]
mov eax, dword [edx + 0xc]
mov ecx, 0x49f4e4
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.00401940
mov eax, dword [esp + 0x94]
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x23b0], 0x4e
call fcn.004034b0
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], bl
cmp eax, ecx
je 0x43b2c7
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 0x43b2de
or eax, 0xffffffff
jmp 0x43b2f6
push str.CLOCK:
push esi
call ebp
add esp, 8
test eax, eax
jne 0x43b2f2
or eax, 0xffffffff
jmp 0x43b2f6
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 0x43b3c0
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x43b32d
push 0x80004003
call fcn.004633e0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea ecx, [esp + 0x24]
call fcn.00401e10
lea ecx, [esp + 0x6c]
call fcn.00401e10
lea ecx, [esp + 0x18]
call fcn.00401e10
lea ecx, [esp + 0x14]
call fcn.00401e10
lea ecx, [esp + 0x40]
call fcn.00401e10
lea ecx, [esp + 0x4c]
call fcn.00401e10
lea ecx, [esp + 0x44]
call fcn.00401e10
lea ecx, [esp + 0x48]
call fcn.00401e10
lea ecx, [esp + 0x38]
call fcn.00401e10
lea ecx, [esp + 0x3c]
call fcn.00401e10
lea ecx, [esp + 0x30]
call fcn.00401e10
mov eax, dword [esp + 0x23b4]
test eax, eax
mov dword [esp + 0x23ac], 0xffffffff
je 0x43b3b6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 0x17
jmp 0x43c948
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 0x4c
call fcn.00401e10
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43b560
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b49a
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b49e
cmp dword [ecx - 0xc], 0
jl 0x43b560
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b49a
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b49e
push 0
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x43b49a
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x43b560
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 0x43b558
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 0xc], 0
jl 0x43b560
push str.VID_04E8
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b560
mov ecx, dword [esp + 0x14]
sub eax, ecx
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b560
cmp dword [ecx - 0xc], 0
jl 0x43b560
push str.PID_6651
push ecx
call ebp
add esp, 8
test eax, eax
je 0x43b560
sub eax, dword [esp + 0x14]
sar eax, 1
cmp eax, 0xffffffff
jle 0x43b560
push 0
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x43b560
push str.ATE0_r_n
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
test eax, eax
jl 0x43b560
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.00421310
add esp, 0x1c
mov edx, dword [0x49f4e4]
mov eax, dword [edx + 0xc]
mov ecx, 0x49f4e4
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.00403340
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.00421260
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.00421310
add esp, 0x1c
cmp eax, 0x8007048f
jne 0x43b64e
mov eax, dword [esp + 0x23b4]
test eax, eax
jne 0x43b5f2
push 0x80004003
call fcn.004633e0
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 0x43b61e
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 0x43b646
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 0x10]
jmp 0x437d65
mov eax, dword [esp + 0x20]
xor edi, edi
cmp eax, edi
jbe 0x43b767
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.00401940
mov edx, dword [esp + 0x94]
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x50
call fcn.004034b0
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], 0x4f
cmp eax, ecx
je 0x43b6c5
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea edx, [esp + 0x2c]
push edx
push 0x4849b0
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x38], edi
call fcn.0040b1e0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x23b0], 0x51
call fcn.00404480
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 0x43b71b
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 0x43b767
push edi
push str.VID_04E8PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x43b767
cmp dword [0x49f1ec], 1
je 0x43b752
lea ecx, [esp + 0x1c]
push ecx
mov ecx, 0x49f200
call fcn.00404620
jmp 0x43b767
mov edx, dword [0x49f1f0]
push esi
push str.IMSI
push edx
call fcn.0040ccd0
add esp, 0xc
cmp dword [esp + 0x70], edi
je 0x43bfad
push str.ATPMODE1_r
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
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.00421310
add esp, 0x1c
push str.ATCHKUSIM_r
lea ecx, [esp + 0x1c]
call fcn.00403340
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.00421260
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.00421310
add esp, 0x1c
cmp eax, edi
jne 0x43b909
mov edx, dword [0x49f4e4]
mov eax, dword [edx + 0xc]
mov ecx, 0x49f4e4
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x198]
push ecx
lea edx, [esp + 0x28]
push 0x47eaa8
push edx
mov byte [esp + 0x23b8], 0x52
call fcn.0040c990
add esp, 0xc
push edi
push 0x484a6c
lea ecx, [esp + 0x2c]
call fcn.00423c00
cmp eax, edi
lea ecx, [esp + 0x24]
jl 0x43b8fc
call fcn.00401e10
lea ecx, [esp + 0x1c]
call fcn.00401e10
lea ecx, [esp + 0x6c]
call fcn.00401e10
lea ecx, [esp + 0x18]
call fcn.00401e10
lea ecx, [esp + 0x14]
call fcn.00401e10
lea ecx, [esp + 0x40]
call fcn.00401e10
lea ecx, [esp + 0x4c]
call fcn.00401e10
lea ecx, [esp + 0x44]
call fcn.00401e10
lea ecx, [esp + 0x48]
call fcn.00401e10
lea ecx, [esp + 0x38]
call fcn.00401e10
lea ecx, [esp + 0x3c]
call fcn.00401e10
lea ecx, [esp + 0x30]
call fcn.00401e10
mov eax, dword [esp + 0x23b4]
mov dword [esp + 0x23ac], 0xffffffff
cmp eax, edi
jmp 0x437d31
mov byte [esp + 0x23ac], 0x4f
call fcn.00401e10
push str.ATCHKLOCK_r
lea ecx, [esp + 0x38]
call fcn.004034f0
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.00421260
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.00421310
add esp, 0x1c
cmp eax, edi
jne 0x43bb69
mov esi, dword [esp + 0x20]
cmp esi, edi
je 0x43bb69
lea ecx, [esp + 0x2c]
call fcn.00402420
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.004020a0
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x23b0], 0x55
call fcn.004034b0
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], bl
cmp eax, ecx
je 0x43b9e1
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.00402020
cmp eax, edi
jge 0x43ba93
lea ecx, [esp + 0x23b4]
call fcn.00456380
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x34]
call eax
lea ecx, [esp + 0x2c]
call fcn.00401e10
lea ecx, [esp + 0x34]
call fcn.00401e10
lea ecx, [esp + 0x1c]
call fcn.00401e10
lea ecx, [esp + 0x6c]
call fcn.00401e10
lea ecx, [esp + 0x18]
call fcn.00401e10
lea ecx, [esp + 0x14]
call fcn.00401e10
lea ecx, [esp + 0x40]
call fcn.00401e10
lea ecx, [esp + 0x4c]
call fcn.00401e10
lea ecx, [esp + 0x44]
call fcn.00401e10
lea ecx, [esp + 0x48]
call fcn.00401e10
lea ecx, [esp + 0x38]
call fcn.00401e10
lea ecx, [esp + 0x3c]
call fcn.00401e10
lea ecx, [esp + 0x30]
call fcn.00401e10
mov eax, dword [esp + 0x23b4]
cmp eax, edi
jmp 0x43b3a1
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 0x43bb58
lea ecx, [esp + 0x23b4]
call fcn.00456380
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
lea ecx, [esp + 0x2c]
call fcn.00401e10
lea ecx, [esp + 0x34]
call fcn.00401e10
lea ecx, [esp + 0x1c]
call fcn.00401e10
lea ecx, [esp + 0x6c]
call fcn.00401e10
lea ecx, [esp + 0x18]
call fcn.00401e10
lea ecx, [esp + 0x14]
call fcn.00401e10
lea ecx, [esp + 0x40]
call fcn.00401e10
lea ecx, [esp + 0x4c]
call fcn.00401e10
lea ecx, [esp + 0x44]
call fcn.00401e10
lea ecx, [esp + 0x48]
call fcn.00401e10
lea ecx, [esp + 0x38]
call fcn.00401e10
lea ecx, [esp + 0x3c]
call fcn.00401e10
lea ecx, [esp + 0x30]
call fcn.00401e10
lea ecx, [esp + 0x23b4]
call fcn.00423050
mov eax, 0x17
jmp 0x43c948
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23ac], 0x53
call fcn.00401e10
mov eax, dword [esp + 0x23b4]
push 0x1388
push 0xc
push str.ATCHKIDLE__r
push eax
call fcn.00421260
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.00421310
add esp, 0x1c
cmp eax, edi
jne 0x43bf85
mov esi, dword [esp + 0x20]
cmp esi, edi
je 0x43bf85
lea ecx, [esp + 0x2c]
call fcn.00402420
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.004020a0
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x23b0], 0x57
call fcn.004034b0
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x98]
mov byte [esp + 0x23ac], bl
cmp eax, ecx
je 0x43bc29
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea ecx, [esp + 0x2c]
call fcn.00407d50
push edi
push str.CHKIDLE:
lea ecx, [esp + 0x34]
call fcn.00402020
cmp eax, edi
jge 0x43bce8
lea ecx, [esp + 0x23b4]
call fcn.00456380
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x34]
call eax
lea ecx, [esp + 0x2c]
call fcn.00401e10
lea ecx, [esp + 0x34]
call fcn.00401e10
lea ecx, [esp + 0x1c]
call fcn.00401e10
lea ecx, [esp + 0x6c]
call fcn.00401e10
lea ecx, [esp + 0x18]
call fcn.00401e10
lea ecx, [esp + 0x14]
call fcn.00401e10
lea ecx, [esp + 0x40]
call fcn.00401e10
lea ecx, [esp + 0x4c]
call fcn.00401e10
lea ecx, [esp + 0x44]
call fcn.00401e10
lea ecx, [esp + 0x48]
call fcn.00401e10
lea ecx, [esp + 0x38]
call fcn.00401e10
lea ecx, [esp + 0x3c]
call fcn.00401e10
lea ecx, [esp + 0x30]
call fcn.00401e10
lea ecx, [esp + 0x23b4]
call fcn.00423050
mov eax, 0xe
jmp 0x43c948
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 0x43bd22
lea ecx, [esp + 0x23b4]
call fcn.00456380
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
jmp 0x43bc5d
push str.ATPMODE5_r
lea ecx, [esp + 0x1c]
xor esi, esi
call fcn.00403340
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.00421260
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.00421310
add esp, 0x1c
test eax, eax
jne 0x43bd82
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.00421310
add esp, 0x1c
cmp eax, edi
je 0x43bdbc
cmp esi, edi
je 0x43bf7c
lea ecx, [esp + 0x23b4]
call fcn.00456380
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 0x483888
lea ecx, [esp + 0x30]
mov byte [esp + 0x23b8], 0x58
call fcn.00425330
lea ecx, [esp + 0x24]
mov byte [esp + 0x23ac], 0x59
call fcn.00456380
mov ecx, eax
call fcn.00421ea0
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x28]
call fcn.00456380
mov ecx, eax
call fcn.00421ed0
push eax
lea ecx, [esp + 0x6c]
call fcn.00425250
xor esi, esi
cmp dword [esp + 0x28], edi
jle 0x43bec1
mov bl, 0x5a
push esi
lea ecx, [esp + 0x6c]
call fcn.00406a30
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x74]
call fcn.00406330
push ecx
mov ecx, esp
mov dword [esp + 0x80], esp
push 0x47dd5c
mov byte [esp + 0x23b4], bl
call fcn.00406330
push ecx
mov ecx, esp
mov dword [esp + 0x5c], esp
push 0x47dd5c
mov byte [esp + 0x23b8], 0x5b
call fcn.00406330
mov ecx, dword [esp + 0x78]
push 0x8000
push ecx
mov byte [esp + 0x23bc], 0x5c
call fcn.00419a30
mov ecx, eax
mov byte [esp + 0x23bc], bl
call fcn.0041c3b0
lea ecx, [esp + 0x70]
mov byte [esp + 0x23ac], 0x59
call fcn.00401e10
inc esi
cmp esi, dword [esp + 0x28]
jl 0x43be36
mov eax, dword [esp + 0x24]
mov byte [esp + 0x23ac], 0x58
cmp eax, edi
je 0x43bed9
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x68]
call fcn.00406f30
lea ecx, [esp + 0x2c]
call fcn.00401e10
lea ecx, [esp + 0x34]
call fcn.00401e10
lea ecx, [esp + 0x1c]
call fcn.00401e10
lea ecx, [esp + 0x6c]
call fcn.00401e10
lea ecx, [esp + 0x18]
call fcn.00401e10
lea ecx, [esp + 0x14]
call fcn.00401e10
lea ecx, [esp + 0x40]
call fcn.00401e10
lea ecx, [esp + 0x4c]
call fcn.00401e10
lea ecx, [esp + 0x44]
call fcn.00401e10
lea ecx, [esp + 0x48]
call fcn.00401e10
lea ecx, [esp + 0x38]
call fcn.00401e10
lea ecx, [esp + 0x3c]
call fcn.00401e10
lea ecx, [esp + 0x30]
call fcn.00401e10
mov eax, dword [esp + 0x23b4]
cmp eax, edi
mov dword [esp + 0x23ac], 0xffffffff
je 0x43bf75
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor eax, eax
jmp 0x43c948
lea ecx, [esp + 0x2c]
call fcn.00401e10
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 0x43bfad
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 0x43bfc2
push 0x80004003
call fcn.004633e0
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.00402020
cmp eax, 0xffffffff
jle 0x43c074
push 0
push str.PID_6651
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x43c074
push 0
push str.IF_MOD_2K
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jg 0x43c025
push 0
push str.IF_JAVACOMM
lea ecx, [esp + 0x1c]
call fcn.00402020
cmp eax, 0xffffffff
jle 0x43c074
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.004031a0
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.0040d310
add esp, 0x1c
test eax, eax
je 0x43c074
push 0x3e8
call edi
inc esi
cmp esi, 0x1e
jl 0x43c034
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 0x43c09c
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 0x43c0c4
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 0x43c0e8
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 0x43c110
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 0x43c138
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 0x43c160
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 0x43c188
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 0x43c1b0
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 0x43c1d8
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 0x43c200
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 0x43c228
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 0x43bf60
cmp eax, 1
jne 0x43c629
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.004034f0
push str.CME_ERROR:_r_n
push str.CME_ERROR:_r_n
lea ecx, [esp + 0x2c]
mov byte [esp + 0x23b4], 0xb
call fcn.004283c0
mov ecx, eax
call fcn.00426430
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 0x43c46d
test eax, eax
jne 0x43c2b9
push 0x80004003
call fcn.004633e0
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
push eax
call edx
push str.CDeviceManager::ModemIdentify
push 0x47ddf0
call fcn.004031a0
push 2
push 0x482a00
call fcn.004031a0
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 0x43c306
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 0x43c329
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 0x43c350
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 0x43c377
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 0x43c39e
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 0x43c3c5
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 0x43c3ec
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 0x43c413
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 0x43c43a
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 0x43c461
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x23ac], edi
jmp 0x437d28
test eax, eax
jne 0x43c47b
push 0x80004003
call fcn.004633e0
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 0x43c4aa
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 0x43c4cd
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 0x43c4f4
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 0x43c51b
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 0x43c542
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 0x43c569
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 0x43c590
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 0x43c5b7
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 0x43c5de
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 0x43c605
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 0x43c61f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 2
jmp 0x43c948
cmp eax, 0x8007048f
mov eax, dword [esp + 0x23b4]
jne 0x43c7b8
test eax, eax
jne 0x43c649
push 0x80004003
call fcn.004633e0
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 0x43c674
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 0x43c69b
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 0x43c6c2
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 0x43c6e9
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 0x43c710
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 0x43c737
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 0x43c75e
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 0x43c785
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 0x43c7ac
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x23ac], edi
jmp 0x437ed1
test eax, eax
jne 0x43c7c6
push 0x80004003
call fcn.004633e0
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 0x43c7f1
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 0x43c818
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 0x43c83f
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 0x43c866
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 0x43c88d
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 0x43c8b4
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 0x43c8db
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 0x43c902
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 0x43c929
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 0x43c943
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.00471f66
add esp, 0x239c
ret