Function at 0x100077c0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1000e240
push 0x1000d9c0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x934
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
push str.Enter_GetRecordRroc
call fcn.10003300
add esp, 4
mov eax, dword [0x1006614c]
test dword [0x10068004], eax
je 0x1000976c
xor esi, esi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x16c], 0
mov ecx, 0x1f
xor eax, eax
lea edi, [ebp - 0x16b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x5c], 0
mov ecx, 0xf
xor eax, eax
lea edi, [ebp - 0x5b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x60], esi
mov ebx, dword [ebp + 8]
cmp ebx, esi
jl 0x1000975f
cmp ebx, 0x20
jg 0x1000975f
mov dword [ebp - 0xa4], esi
cmp esi, 0xa
jge 0x10009758
lea ecx, [ebx + ebx*2]
shl ecx, 4
sub ecx, ebx
shl ecx, 7
lea eax, [esi + esi*2]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov dword [ebp - 0x920], eax
mov ecx, dword [eax + 0x10011afc]
test ecx, ecx
je 0x10009752
cmp dword [eax + 0x10011b84], 1
je 0x10009752
mov ecx, eax
lea edi, [ecx + 0x10011940]
push edi
push esi
push ebx
push 0x100112f0
call fcn.10003300
add esp, 0x10
push 0x100118e0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 0x920]
mov eax, dword [edx + 0x1001193c]
test eax, eax
je 0x1000972d
mov eax, edx
mov ecx, dword [eax + 0x10011938]
test ecx, ecx
je 0x1000972d
mov dword [ebp - 4], 0
mov edx, dword [ecx]
lea eax, [ebp - 0x1c]
push eax
push 0
push 0
push 0xba
call dword [edx + 0xc]
mov edi, eax
mov dword [ebp - 0xec], edi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
push ecx
push str.77add
call fcn.10003300
add esp, 8
push 0x100118e0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x10007938
push str.hResult___S_OK
call fcn.10003300
add esp, 4
inc esi
jmp 0x1000784f
mov ecx, dword [ebp - 0x920]
mov edx, dword [ecx + 0x10011968]
mov eax, dword [ebp - 0x1c]
cmp eax, edx
jge 0x10007957
dec eax
mov dword [ecx + 0x10011968], eax
jmp 0x10009688
dec eax
mov dword [ebp - 0x1c], eax
cmp eax, edx
jle 0x100095c9
xor eax, eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x47c], 1
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x494], eax
mov byte [ebp - 0x468], al
mov ecx, 0x80
lea edi, [ebp - 0x467]
rep stosd dword es:[edi], eax
mov word [ebp - 0x698], ax
mov ecx, 0x80
lea edi, [ebp - 0x696]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x46c], eax
mov ecx, 0x26
lea edi, [ebp - 0x25c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], eax
mov ecx, 0xf
lea edi, [ebp - 0x1a8]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1a8], 0x3c
mov dword [ebp - 0x1a4], 0x40000000
mov dword [ebp - 0x1a0], eax
mov ecx, 0x27
lea edi, [ebp - 0x260]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x260], 0x9c
xor ecx, ecx
mov dword [ebp - 0x6a4], ecx
mov dword [ebp - 0x6a0], ecx
mov dword [ebp - 0x69c], ecx
lea eax, [ebp - 0x698]
mov dword [ebp - 0x69c], eax
mov dword [ebp - 0x48c], edx
mov ecx, dword [ebp - 0x920]
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 0x10011968], eax
test edx, edx
jge 0x10007a9e
cmp eax, 2
jle 0x10007a6c
add eax, 0xfffffffe
mov dword [ebp - 0x48c], eax
jmp 0x10007a76
mov dword [ebp - 0x48c], 0
push 0x10011288
call fcn.10003300
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x48c]
push edx
push str.iLine_d_niLineCount_d_n
call fcn.10003300
add esp, 0x10
mov edx, dword [ebp - 0x48c]
cmp edx, dword [ebp - 0x1c]
jg 0x100095c6
mov ecx, 0x80
xor eax, eax
lea edi, [ebp - 0x468]
rep stosd dword es:[edi], eax
mov ecx, 0x80
lea edi, [ebp - 0x698]
rep stosd dword es:[edi], eax
push 0x100118e0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [ebx + ebx*2]
shl ecx, 4
sub ecx, ebx
shl ecx, 7
lea esi, [esi + esi*2]
lea eax, [esi + esi*4]
lea edx, [eax + eax*4]
lea edi, [ecx + edx*8]
mov dword [ebp - 0x920], edi
mov eax, dword [edi + 0x1001193c]
test eax, eax
je 0x10007c2b
mov ecx, dword [edi + 0x10011938]
test ecx, ecx
je 0x10007c2b
mov eax, dword [ecx]
lea edx, [ebp - 0x6a4]
push edx
push 0
mov edx, dword [ebp - 0x48c]
push edx
push 0xbb
call dword [eax + 0xc]
mov ecx, dword [edi + 0x10011938]
mov eax, dword [ecx]
lea edx, [ebp - 0x494]
push edx
push 0
mov edx, dword [ebp - 0x6a4]
push edx
push 0xd6
call dword [eax + 0xc]
mov eax, dword [ebp - 0x494]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [edi + 0x10011938]
mov edx, dword [ecx]
lea eax, [ebp - 0x474]
push eax
push 0
mov eax, dword [ebp - 0x6a4]
push eax
push 0xc1
call dword [edx + 0xc]
mov eax, dword [ebp - 0x474]
cmp eax, 0x100
jle 0x10007b85
mov eax, 0x100
mov dword [ebp - 0x474], eax
mov ecx, dword [ebp - 0x6a4]
add ecx, eax
mov dword [ebp - 0x6a0], ecx
mov ecx, dword [edi + 0x10011938]
mov edx, dword [ecx]
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x6a4]
push eax
push 0
push 0x44b
call dword [edx + 0xc]
mov ecx, dword [edi + 0x10011938]
mov edx, dword [ecx]
push 0
mov eax, dword [ebp - 0x6a0]
push eax
mov eax, dword [ebp - 0x6a4]
push eax
push 0xb1
call dword [edx + 0xc]
mov ecx, dword [edi + 0x10011938]
mov edx, dword [ecx]
lea eax, [ebp - 0x46c]
push eax
lea eax, [ebp - 0x1a8]
push eax
push 1
push 0x43a
call dword [edx + 0xc]
mov ecx, dword [edi + 0x10011938]
mov edx, dword [ecx]
push 0
lea eax, [ebp - 0x260]
push eax
push 0
push 0x43d
call dword [edx + 0xc]
mov edi, dword [edi + 0x10011938]
mov edx, dword [edi]
push 0
lea eax, [ebp - 0x1b8]
push eax
push 0
push 0xb2
mov ecx, edi
call dword [edx + 0xc]
push 0x100118e0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0x488]
push ecx
push str.iCharNum:__d
call fcn.10003300
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x48c]
push eax
push 0x10011250
call fcn.10003300
mov eax, dword [ebp - 0x194]
mov byte [ebp - 0x1c0], al
xor ecx, ecx
mov cl, ah
mov byte [ebp - 0x470], cl
shr eax, 0x10
mov byte [ebp - 0x1bc], al
mov edx, dword [ebp - 0x19c]
push edx
mov eax, dword [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x18e]
push ecx
push 0x10011234
call fcn.10003300
mov esi, dword [ebp - 0x1bc]
and esi, 0xff
mov eax, dword [ebp - 0x470]
and eax, 0xff
mov dword [ebp - 0x924], eax
mov ecx, dword [ebp - 0x1c0]
and ecx, 0xff
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x46c]
push edx
push esi
push eax
push ecx
push 0x10011204
call fcn.10003300
mov eax, dword [ebp - 0x1b4]
push eax
mov ecx, dword [ebp - 0x1b0]
push ecx
mov edx, dword [ebp - 0x1b8]
push edx
mov eax, dword [ebp - 0x1ac]
push eax
push 0x100111d4
call fcn.10003300
add esp, 0x4c
lea ecx, [ebp - 0x244]
push ecx
movsx edx, word [ebp - 0x246]
push edx
mov eax, dword [ebp - 0x248]
and eax, 0xffff
push eax
mov ecx, dword [ebp - 0x24c]
push ecx
push 0x1001119c
call fcn.10003300
add esp, 0x14
cmp word [ebp - 0x248], 3
jne 0x10007d51
push 0x10011164
call fcn.10003300
add esp, 4
jmp 0x100095aa
mov al, byte [ebp - 0x468]
test al, al
jne 0x10007d7e
push 0
push 0
push 0x200
lea edx, [ebp - 0x468]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x698]
push eax
push 0
push 1
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea ecx, [ebp - 0x468]
push ecx
push 0x10011154
call fcn.10003300
mov eax, dword [ebp - 0x1c4]
and eax, 0xffff
mov dword [ebp - 0x92c], eax
push eax
push 0x10011144
call fcn.10003300
add esp, 0x10
mov ecx, 0x80
xor eax, eax
lea edi, [ebp - 0x468]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x488]
test eax, eax
jle 0x1000958b
shl esi, 8
or esi, dword [ebp - 0x924]
shl esi, 8
or esi, dword [ebp - 0x928]
push 0
push 0
push 0x200
lea edx, [ebp - 0x468]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x698]
push eax
push 0
push 1
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
dec eax
mov dword [ebp - 0x488], eax
lea ecx, [ebp - 0x468]
push ecx
mov edx, dword [ebp - 0x92c]
push edx
push str._d_t__s
call fcn.10003300
add esp, 0xc
mov edi, dword [ebp - 0x1c4]
xor eax, eax
cmp di, ax
jne 0x10007e3b
cmp dword [0x10066178], eax
je 0x100094fb
cmp di, 0xa
je 0x100094fb
cmp di, 9
je 0x100094fb
cmp di, 0xd
je 0x100094fb
cmp di, 0xc
je 0x100094fb
cmp di, 0xe
je 0x100094fb
cmp di, 0xf
je 0x100094fb
mov esi, 1
cmp dword [0x10066178], esi
je 0x10008faa
cmp di, 0x25
je 0x10008faa
cmp di, 0x26
je 0x10008faa
cmp di, 0x2b
je 0x10008faa
cmp di, 0x33
je 0x10008faa
cmp di, 0x2f
je 0x10008faa
cmp di, 0x3b
jae 0x10008faa
cmp di, 0x11
jbe 0x100095aa
cmp di, 0x56
jae 0x100095aa
lea edi, [ebp - 0x16c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea esi, [ebp - 0x16c]
dec esi
mov dword [ebp - 0x930], esi
lea eax, [esi + ecx]
cmp byte [eax], 0x20
jne 0x10007f18
mov byte [eax], 0
lea edi, [ebp - 0x16c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esi + ecx]
cmp byte [eax], 0x20
je 0x10007efd
lea edi, [ebp - 0x16c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
test edi, edi
jle 0x10008e16
push 0x20
lea eax, [ebp - 0x16c]
push eax
call dword [sym.imp.MSVCRT.dll_strrchr]
mov dword [ebp - 0x750], eax
push 0x3a
lea ecx, [ebp - 0x16c]
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
add esp, 0x10
cmp edi, 8
jle 0x10008dfd
mov edx, eax
lea ecx, [ebp - 0x16c]
sub edx, ecx
cmp edx, 3
jl 0x10008dfd
cmp byte [eax - 3], 0x3a
jne 0x10008dfd
mov eax, dword [ebp - 0x750]
test eax, eax
je 0x10008dfd
lea edx, [ebp - 0x16c]
cmp eax, edx
je 0x10008dfd
mov dword [ebp - 0x478], 0
lea eax, [ebp - 0x16c]
push eax
push 0x10011130
call fcn.10003300
add esp, 8
mov al, byte [ebp - 0x16c]
cmp al, 0x3f
je 0x10007fc7
cmp al, 0x20
jne 0x10007ffa
lea edi, [ebp - 0x16c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
lea ecx, [edi - 1]
push ecx
lea edx, [ebp - 0x16b]
push edx
lea eax, [ebp - 0x16c]
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x10007fb9
lea ecx, [ebp - 0x16c]
push ecx
push 0x1001111c
call fcn.10003300
add esp, 8
mov ecx, 0xae
xor eax, eax
mov edi, 0x10065ac0
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x47c]
test eax, eax
je 0x10008e07
mov byte [ebp - 0x780], 0
mov byte [ebp - 0x770], 0
mov dword [ebp - 0x788], 0
push 0x29
lea edx, [ebp - 0x16c]
push edx
mov esi, dword [sym.imp.MSVCRT.dll_strrchr]
call esi
mov edi, eax
push 0x28
lea eax, [ebp - 0x16c]
push eax
call esi
add esp, 0x10
test edi, edi
je 0x10008072
mov al, byte [edi + 1]
test al, al
je 0x10008072
mov byte [edi + 1], 0
push 0x3e
lea ecx, [ebp - 0x16c]
push ecx
call esi
mov edi, eax
push 0x3c
lea edx, [ebp - 0x16c]
push edx
call esi
add esp, 0x10
test edi, edi
je 0x1000809c
mov al, byte [edi + 1]
test al, al
je 0x1000809c
mov byte [edi + 1], 0
lea eax, [ebp - 0x16c]
push eax
push 0x10011104
call fcn.10003300
add esp, 8
lea edi, [ebp - 0x16c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, dword [ebp - 0x930]
mov al, byte [edx + ecx]
cmp al, 0x29
je 0x100080d9
cmp al, 0x3e
jne 0x10008170
cmp al, 0x29
jne 0x100080e9
mov byte [ebp - 0x780], 0x28
mov byte [ebp - 0x770], 0x29
jmp 0x100080fa
cmp al, 0x3e
jne 0x100080fa
mov byte [ebp - 0x780], 0x3c
mov byte [ebp - 0x770], al
movsx eax, byte [ebp - 0x780]
push eax
lea ecx, [ebp - 0x16c]
push ecx
call esi
mov edi, eax
movsx edx, byte [ebp - 0x770]
push edx
lea eax, [ebp - 0x16c]
push eax
call esi
add esp, 0x10
test edi, edi
je 0x1000815c
test eax, eax
je 0x1000815c
mov ecx, eax
sub ecx, edi
cmp ecx, 5
jl 0x1000815c
mov cl, byte [eax + 1]
test cl, cl
jne 0x1000815c
mov dword [ebp - 0x788], 1
mov byte [eax], 0
push 0x3f
lea edx, [edi + 1]
push edx
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
mov byte [edi], 0
lea ecx, [ebp - 0x16c]
push ecx
push 0x100110f0
call fcn.10003300
add esp, 8
push 0x100110ec
lea edx, [ebp - 0x16c]
push edx
mov esi, dword [sym.imp.MSVCRT.dll_strstr]
call esi
add esp, 8
test eax, eax
jne 0x100081a0
push 0x100110e8
lea eax, [ebp - 0x16c]
push eax
call esi
add esp, 8
test eax, eax
je 0x100081a3
mov byte [eax], 0
lea ecx, [ebp - 0x16c]
push ecx
push 0x100110d8
call fcn.10003300
add esp, 8
cmp byte [ebp - 0x16a], 0x3a
jne 0x1000823a
cmp byte [ebp - 0x167], 0x3a
jne 0x1000823a
mov al, byte [ebp - 0x164]
test al, al
jne 0x1000823a
lea edx, [ebp - 0x16c]
mov edi, 0x100110cc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x16c]
push ecx
push 0x100110b4
call fcn.10003300
add esp, 8
lea edx, [ebx + ebx*2]
shl edx, 4
sub edx, ebx
shl edx, 7
mov eax, dword [ebp - 0xa4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov dword [edx + eax*8 + 0x10011b88], 1
mov esi, dword [sym.imp.MSVCRT.dll_strstr]
mov al, byte [ebp - 0x16c]
test al, al
jne 0x100082ab
lea edx, [ebp - 0x16c]
mov edi, 0x100110cc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x16c]
push ecx
push 0x100110b4
call fcn.10003300
add esp, 8
lea edx, [ebx + ebx*2]
shl edx, 4
sub edx, ebx
shl edx, 7
mov eax, dword [ebp - 0xa4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
mov dword [edx + eax*8 + 0x10011b88], 1
mov esi, dword [sym.imp.MSVCRT.dll_strstr]
lea edi, [ebp - 0x16c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x18
jbe 0x10008336
lea edx, [ebp - 0x16c]
mov edi, 0x100110cc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x484], 1
lea ecx, [ebp - 0x16c]
push ecx
push 0x100110b4
call fcn.10003300
add esp, 8
lea edx, [ebx + ebx*2]
shl edx, 4
sub edx, ebx
shl edx, 7
mov eax, dword [ebp - 0xa4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x920], eax
mov dword [eax + 0x10011b88], 1
jmp 0x1000880a
lea ecx, [ebp - 0x16c]
push ecx
push 0x100110b4
call fcn.10003300
add esp, 8
xor edi, edi
cmp dword [ebp - 0x788], edi
je 0x100084c7
push 0x10065dc0
lea edx, [ebp - 0x5c]
push edx
push 0x10011090
call fcn.10003300
add esp, 0xc
cmp dword [0x10065d7c], edi
jbe 0x10008438
mov edi, 0x10065dc0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x10065dc0
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x100083e3
mov dword [ebp - 0x484], 2
push 0x100103c0
call fcn.10003300
lea ecx, [ebx + ebx*2]
shl ecx, 4
sub ecx, ebx
shl ecx, 7
mov eax, dword [ebp - 0xa4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov dword [ebp - 0x920], eax
lea eax, [eax + 0x10011940]
push eax
jmp 0x10008573
mov dword [ebp - 0x484], 3
push 0x100103b8
call fcn.10003300
lea ecx, [ebx + ebx*2]
shl ecx, 4
sub ecx, ebx
shl ecx, 7
mov eax, dword [ebp - 0xa4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov dword [ebp - 0x920], eax
push 0x10065f40
lea eax, [eax + 0x10011940]
push eax
push 0x10011078
call fcn.10003300
add esp, 0x10
jmp 0x1000880a
mov edi, 0x10065e80
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x10065e80
lea ecx, [ebp - 0x5c]
push ecx
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x10008472
mov dword [ebp - 0x484], 2
push 0x100103c0
jmp 0x10008544
mov dword [ebp - 0x484], 3
push 0x100103b8
call fcn.10003300
lea edx, [ebx + ebx*2]
shl edx, 4
sub edx, ebx
shl edx, 7
mov eax, dword [ebp - 0xa4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x920], eax
push 0x10065f40
lea ecx, [eax + 0x10011940]
push ecx
push 0x10011078
call fcn.10003300
add esp, 0x10
jmp 0x1000880a
cmp dword [0x10065d7c], edi
jbe 0x100085df
push 0x10065d80
lea edx, [ebp - 0x16c]
push edx
call esi
add esp, 8
test eax, eax
je 0x10008524
mov dword [ebp - 0x484], edi
push 0x10011070
call fcn.10003300
lea ecx, [ebx + ebx*2]
shl ecx, 4
sub ecx, ebx
shl ecx, 7
mov eax, dword [ebp - 0xa4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8]
mov dword [ebp - 0x920], eax
lea eax, [eax + 0x10011940]
push eax
jmp 0x10008573
lea ecx, [ebp - 0x16c]
push ecx
push 0x10065d80
call esi
add esp, 8
test eax, eax
je 0x1000858a
mov dword [ebp - 0x484], edi
push 0x10011070
call fcn.10003300
lea edx, [ebx + ebx*2]
shl edx, 4
sub edx, ebx
shl edx, 7
mov eax, dword [ebp - 0xa4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x920], eax
lea ecx, [eax + 0x10011940]
push ecx
push 0x10065f40
push 0x10011078
call fcn.10003300
add esp, 0x10
jmp 0x1000880a
mov dword [ebp - 0x484], 1
push 0x10011068
call fcn.10003300
lea edx, [ebx + ebx*2]
shl edx, 4
sub edx, ebx
shl edx, 7
mov eax, dword [ebp - 0xa4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0x920], eax
push 0x10065f40
lea ecx, [eax + 0x10011940]
push ecx
push 0x10011078
call fcn.10003300
add esp, 0x10
jmp 0x1000880a
push 0x1001104c
call fcn.10003300
lea edx, [ebx + ebx*2]
shl edx, 4
sub edx, ebx
shl edx, 7
mov eax, dword [ebp - 0xa4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov dword [ebp - 0x920], esi
lea esi, [esi + 0x10011940]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
push 0x1001103c
call fcn.10003300
lea edi, [ebp - 0x16c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [ebp - 0x16c]
push ecx
push 0x1001102c
call fcn.10003300
push esi
lea edx, [ebp - 0x16c]
push edx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 0x24
test eax, eax
jne 0x10008676
lea eax, [ebp - 0x16c]
push eax
push esi
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x100086a2
mov dword [ebp - 0x484], 1
push 0x10011068
call fcn.10003300
push 0x10065f40
push esi
push 0x10011078
call fcn.10003300
add esp, 0x10
jmp 0x1000880a
cmp dword [0x10066170], 1
push 0x3f
jne 0x10008789
lea ecx, [ebp - 0x16c]
push ecx
push 0x10065ec0
mov esi, dword [sym.imp.MSVCRT.dll_strncpy]
call esi
push 0x3f
lea edx, [ebp - 0x16c]
push edx
push 0x10065f00
call esi
add esp, 0x18
mov edi, 0x10065e80
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, ecx
lea edi, [ebp - 0x16c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 3]
cmp eax, 0x40
jae 0x100087be
mov edi, 0x10011028
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x10065f00
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x10065e80
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x10065f00
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x10011024
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x10065f00
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x100087be
lea eax, [ebp - 0x16c]
push eax
push 0x10065ec0
mov esi, dword [sym.imp.MSVCRT.dll_strncpy]
call esi
push 0x3f
lea ecx, [ebp - 0x16c]
push ecx
push 0x10065f00
call esi
add esp, 0x18
mov byte [0x10065eff], 0
mov byte [0x10065f3f], 0
push 0x10065f00
push 0x1001100c
call fcn.10003300
push str.MSGACTION_SEND
call fcn.100032e0
mov dword [ebp - 0x484], 0
push 0x10011068
call fcn.10003300
mov edx, dword [ebp - 0x920]
lea eax, [edx + 0x10011940]
push eax
push 0x10065f40
push 0x10011078
call fcn.10003300
add esp, 0x1c
mov eax, dword [0x10064ab0]
mov dword [0x10065ca4], eax
inc eax
mov dword [0x10064ab0], eax
mov dword [0x10065ac0], 1
mov edi, str.QQ2009
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x10065ad4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x10065f40]
test al, al
push 0x40
push 0x10065adc
jne 0x10008860
push 0x10066160
jmp 0x10008865
push 0x10065f40
call fcn.100035d0
add esp, 0xc
mov esi, dword [ebp - 0x484]
mov edi, dword [ebp - 0x920]
mov dword [edi + 0x10011b00], esi
push 0x10010fdc
call fcn.10003300
add esp, 4
test esi, esi
je 0x10008d17
cmp esi, 2
je 0x10008d17
cmp esi, 1
je 0x100088b4
cmp esi, 3
jne 0x10008df1
cmp esi, 1
jne 0x10008aa6
mov edi, 0x100110cc
lea esi, [ebp - 0x16c]
mov cl, byte [esi]
mov al, cl
cmp cl, byte [edi]
jne 0x100088e3
test al, al
je 0x100088df
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x100088e3
add esi, 2
add edi, 2
test al, al
jne 0x100088bf
xor eax, eax
jmp 0x100088e8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10008aa6
mov eax, dword [ebp - 0x920]
lea eax, [eax + 0x1001197c]
push eax
lea ecx, [ebp - 0x16c]
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
jne 0x10008aa6
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x100089a2
lea edi, [ebp - 0x16c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edx, dword [ebp - 0x920]
lea edx, [edx + 0x1001197c]
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x16c]
mov eax, dword [ebp - 0x920]
lea esi, [eax + 0x10011940]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov dword [ebp - 0x934], esi
mov esi, edi
mov edi, dword [ebp - 0x934]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x16c]
push ecx
push edx
push 0x10010fb8
call fcn.10003300
add esp, 0xc
jmp 0x10008aa6
mov eax, dword [ebp - 0x920]
mov dword [eax + 0x10011b00], 0
lea edi, [eax + 0x10011b04]
lea edx, [eax + 0x10011b44]
mov esi, edx
mov cl, byte [esi]
mov al, cl
cmp cl, byte [edi]
jne 0x100089e4
test al, al
je 0x100089e0
mov cl, byte [esi + 1]
mov al, cl
cmp cl, byte [edi + 1]
jne 0x100089e4
add esi, 2
add edi, 2
test al, al
jne 0x100089c0
xor eax, eax
jmp 0x100089e9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov al, byte [edx]
je 0x10008a01
test al, al
je 0x10008a05
mov eax, dword [ebp - 0x920]
lea edi, [eax + 0x10011b04]
jmp 0x10008a11
test al, al
jne 0x10008a2e
mov ecx, dword [ebp - 0x920]
lea edi, [ecx + 0x10011940]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x10065d7c]
test eax, eax
jbe 0x10008a3e
mov edi, 0x10065f40
jmp 0x10008a7f
mov edi, 0x10065f00
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x10008a68
push 0x10065f00
push str.szUserQqNumTemp___0__s
call fcn.10003300
add esp, 8
mov edi, 0x10065f00
jmp 0x10008a7f
push 0x10065e80
push 0x10010f88
call fcn.10003300
add esp, 8
mov edi, 0x10065e80
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov eax, dword [ebp - 0x920]
lea edi, [eax + 0x10011b04]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x10008df1
mov eax, dword [ebp - 0x788]
test eax, eax
je 0x10008bf1
mov byte [ebp - 0x808], 0
mov ecx, 0x1f
xor eax, eax
lea edi, [ebp - 0x807]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea edi, [ebp - 0x16c]
lea edx, [ebp - 0x808]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x5c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, ecx
lea edi, [ebp - 0x16c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 3]
cmp eax, 0x80
jae 0x10008bb7
lea edx, [ebp - 0x808]
mov edi, 0x10011028
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x5c]
lea edx, [ebp - 0x808]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edx, [ebp - 0x808]
mov edi, 0x10011024
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x10065f40
lea eax, [ebp - 0x808]
push eax
push 0x10011078
call fcn.10003300
push 0x3f
lea ecx, [ebp - 0x808]
push ecx
mov edx, dword [ebp - 0x920]
lea eax, [edx + 0x10011b04]
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0x18
jmp 0x10008c85
mov edi, 0x100110cc
lea esi, [ebp - 0x16c]
mov cl, byte [esi]
mov al, cl
cmp cl, byte [edi]
jne 0x10008c20
test al, al
je 0x10008c1c
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x10008c20
add esi, 2
add edi, 2
test al, al
jne 0x10008bfc
xor eax, eax
jmp 0x10008c25
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
push 0x10065f40
jne 0x10008c42
push 0x100110cc
push 0x10011078
call fcn.10003300
add esp, 0xc
jmp 0x10008c85
mov esi, dword [ebp - 0x920]
lea eax, [esi + 0x10011940]
push eax
push 0x10011078
call fcn.10003300
add esp, 0xc
lea edi, [esi + 0x1001197c]
lea edx, [esi + 0x10011b04]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x10065d7c]
test eax, eax
jbe 0x10008cb6
push 0x10065f40
push str.glQqAccountInfo.dwPid___0__s
call fcn.10003300
add esp, 8
mov ecx, dword [ebp - 0x920]
lea edx, [ecx + 0x10011b44]
mov edi, 0x10065f40
jmp 0x10008dd4
mov edi, 0x10065f00
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x10008cef
push 0x10065f00
push str.szUserQqNumTemp___0__s
call fcn.10003300
add esp, 8
mov ecx, dword [ebp - 0x920]
lea edx, [ecx + 0x10011b44]
mov edi, 0x10065f00
jmp 0x10008dd4
push 0x10065e80
push 0x10010f88
call fcn.10003300
add esp, 8
mov ecx, dword [ebp - 0x920]
lea edx, [ecx + 0x10011b44]
mov edi, 0x10065e80
jmp 0x10008dd4
lea ecx, [edi + 0x10011940]
push ecx
push 0x10065f40
push 0x10011078
call fcn.10003300
add esp, 0xc
mov eax, dword [0x10065d7c]
test eax, eax
jbe 0x10008d4c
mov edx, dword [ebp - 0x920]
lea edx, [edx + 0x10011b04]
mov edi, 0x10065f40
jmp 0x10008da5
mov edi, 0x10065f00
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x10008d82
push 0x10065f00
push str.szUserQqNumTemp___0__s
call fcn.10003300
add esp, 8
mov ecx, dword [ebp - 0x920]
lea edx, [ecx + 0x10011b04]
mov edi, 0x10065f00
jmp 0x10008da5
push 0x10065e80
push 0x10010f88
call fcn.10003300
add esp, 8
mov ecx, dword [ebp - 0x920]
lea edx, [ecx + 0x10011b04]
mov edi, 0x10065e80
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x920]
lea edi, [eax + 0x1001197c]
lea edx, [eax + 0x10011b44]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [0x10065cb0], 0
jmp 0x10008e07
mov dword [ebp - 0x478], 1
mov ecx, 0x20
xor eax, eax
lea edi, [ebp - 0x16c]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x478]
test eax, eax
jne 0x10008f98
lea ecx, [ebx + ebx*2]
shl ecx, 4
sub ecx, ebx
shl ecx, 7
lea eax, [edi + edi*2]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
lea esi, [ecx + edx*8]
mov eax, dword [esi + 0x10011b00]
mov dword [0x10065b1c], eax
mov dword [0x10065b60], 1
lea eax, [esi + 0x10011b44]
mov dword [ebp - 0x938], eax
push eax
push edi
push ebx
push str.szLastReceiver__d__d__s
call fcn.10003300
lea eax, [esi + 0x10011b04]
mov dword [ebp - 0x93c], eax
push eax
push edi
push ebx
push str.szLastSender__d__d__s
call fcn.10003300
add esp, 0x20
cmp dword [esi + 0x10011b88], 1
jne 0x10008eb6
push 0x10010f0c
call fcn.10003300
push 0x40
push 0x10065b20
lea ecx, [esi + 0x10011940]
push ecx
call fcn.100035d0
add esp, 0x10
jmp 0x10008ecc
push 0x40
push 0x10065b20
mov edx, dword [ebp - 0x93c]
push edx
call fcn.100035d0
add esp, 0xc
push 0x40
push 0x10065b64
mov eax, dword [ebp - 0x938]
push eax
call fcn.100035d0
add esp, 0xc
lea edi, [ebp - 0x468]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x10008f06
push 0x10010ef8
call fcn.10003300
add esp, 4
jmp 0x100095aa
mov eax, dword [0x10065ab8]
test eax, eax
jne 0x10008f86
mov edx, dword [0x10065ab4]
mov ecx, dword [ebp - 0x488]
lea eax, [edx + ecx]
cmp eax, 0x1000
jl 0x10008f53
call fcn.1000b490
test eax, eax
je 0x10008f72
mov eax, dword [0x10064ab0]
mov dword [0x10065ca4], eax
inc eax
mov dword [0x10064ab0], eax
mov eax, dword [ebp - 0x488]
mov ecx, eax
lea esi, [ebp - 0x468]
mov edi, 0x10064ab4
jmp 0x10008f5f
lea esi, [ebp - 0x468]
lea edi, [edx + 0x10064ab4]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [0x10065ab4], eax
mov eax, dword [ebp - 0x48c]
cmp eax, dword [ebp - 0x1c]
jne 0x100095aa
jmp 0x100095a5
push 0x10010eb8
call fcn.10003300
add esp, 4
jmp 0x100095aa
push 0x10010ea8
call fcn.10003300
add esp, 4
jmp 0x100095aa
push 0x10010e98
call fcn.10003300
add esp, 4
mov dword [0x10066178], esi
mov eax, dword [ebp - 0x480]
test ax, ax
jne 0x10008fd5
test di, di
je 0x10008fda
mov eax, edi
mov dword [ebp - 0x480], eax
test di, di
jne 0x10009006
push str.icharpos_0
call fcn.10003300
add esp, 4
mov eax, dword [0x10065ab4]
test eax, eax
jle 0x100095aa
push 0x10010e74
call fcn.10003300
add esp, 4
jmp 0x100095a5
cmp ax, di
je 0x10009019
mov eax, dword [0x10065ab4]
test eax, eax
jle 0x10009019
call fcn.1000b490
mov dword [ebp - 0x480], edi
cmp di, 0x26
jne 0x100090ad
lea edi, [ebp - 0x468]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x80
jb 0x10009053
push 0x7f
lea ecx, [ebp - 0x468]
push ecx
lea edx, [ebp - 0x16c]
push edx
jmp 0x10009072
lea edi, [ebp - 0x468]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x16c]
push ecx
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
mov edx, dword [ebp - 0x920]
mov eax, dword [edx + 0x10011970]
test eax, eax
jne 0x100094e9
mov eax, edx
mov dword [eax + 0x10011970], 3
push 0x10010e64
call fcn.10003300
add esp, 4
jmp 0x100095aa
mov ecx, dword [ebp - 0x920]
mov eax, dword [ecx + 0x10011970]
dec eax
neg eax
sbb eax, eax
and eax, 2
mov dword [ebp - 0x484], eax
cmp di, 0x33
je 0x100090d3
cmp di, 0x2f
jne 0x10009140
lea edi, [ebp - 0x16c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x10009136
mov edi, 0x10010e5c
lea esi, [ebp - 0x16c]
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x10009114
test al, al
je 0x10009110
mov cl, byte [esi + 1]
mov al, cl
cmp cl, byte [edi + 1]
jne 0x10009114
add esi, 2
add edi, 2
test al, al
jne 0x100090f0
xor eax, eax
jmp 0x10009119
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10009136
mov eax, 3
mov dword [ebp - 0x484], eax
mov edx, dword [ebp - 0x920]
mov dword [edx + 0x10011970], eax
jmp 0x10009140
mov dword [ebp - 0x484], 1
mov eax, dword [0x10064ab0]
mov dword [0x10065ca4], eax
inc eax
mov dword [0x10064ab0], eax
mov dword [0x10065ac0], 1
mov edi, str.QQ2009
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x10065ad4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [0x10065f40]
test al, al
push 0x40
push 0x10065adc
jne 0x10009196
push 0x10066160
jmp 0x1000919b
push 0x10065f40
call fcn.100035d0
add esp, 0xc
mov esi, dword [ebp - 0x484]
mov edi, dword [ebp - 0x920]
mov dword [edi + 0x10011b00], esi
push 0x10010fdc
call fcn.10003300
add esp, 4
test esi, esi
je 0x1000929b
cmp esi, 2
je 0x1000929b
cmp esi, 1
jne 0x1000922e
mov edx, edi
lea edi, [edx + 0x10011940]
lea esi, [edx + 0x10011b04]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov dword [ebp - 0x940], esi
mov esi, edi
mov edi, dword [ebp - 0x940]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x10065f40
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [edx + 0x10011b44]
je 0x10009291
mov edi, 0x10065f40
jmp 0x10009358
cmp esi, 3
jne 0x10009375
lea edi, [ebp - 0x16c]
mov edx, dword [ebp - 0x920]
lea esi, [edx + 0x10011b04]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov dword [ebp - 0x944], esi
mov esi, edi
mov edi, dword [ebp - 0x944]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x10065f40
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [edx + 0x10011b44]
je 0x10009291
mov edi, 0x10065f40
jmp 0x10009358
mov edi, 0x10065e80
jmp 0x10009358
lea ecx, [edi + 0x10011940]
push ecx
push 0x10065f40
push 0x10011078
call fcn.10003300
add esp, 0xc
mov eax, dword [0x10065d7c]
test eax, eax
jbe 0x100092d0
mov edx, dword [ebp - 0x920]
lea edx, [edx + 0x10011b04]
mov edi, 0x10065f40
jmp 0x10009329
mov edi, 0x10065f00
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x10009306
push 0x10065f00
push str.szUserQqNumTemp___0__s
call fcn.10003300
add esp, 8
mov ecx, dword [ebp - 0x920]
lea edx, [ecx + 0x10011b04]
mov edi, 0x10065f00
jmp 0x10009329
push 0x10065e80
push 0x10010f88
call fcn.10003300
add esp, 8
mov ecx, dword [ebp - 0x920]
lea edx, [ecx + 0x10011b04]
mov edi, 0x10065e80
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x920]
lea edi, [eax + 0x1001197c]
lea edx, [eax + 0x10011b44]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x920]
lea ecx, [edi + 0x10011940]
push ecx
mov edx, dword [ebp - 0xa4]
push edx
push str.i_d_szTitle_s
call fcn.10003300
lea esi, [edi + 0x10011b04]
push esi
push str.szLastSender_s
call fcn.10003300
lea edi, [edi + 0x10011b44]
push edi
push str.szLastReceiver_s
call fcn.10003300
lea eax, [ebp - 0x468]
push eax
push str.szMsgTemp_s
call fcn.10003300
push 0x40
push 0x10065b20
push esi
call fcn.100035d0
mov ecx, dword [ebp - 0x484]
mov dword [0x10065b1c], ecx
mov dword [0x10065b60], 1
push 0x40
push 0x10065b64
push edi
call fcn.100035d0
add esp, 0x3c
mov ecx, 0x20
xor eax, eax
lea edi, [ebp - 0x16c]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x468]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x10009437
push 0x10010ef8
call fcn.10003300
add esp, 4
push 0x10010e64
call fcn.10003300
add esp, 4
jmp 0x100095aa
mov edi, 0x100110ec
lea esi, [ebp - 0x468]
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x10009466
test al, al
je 0x10009462
mov cl, byte [esi + 1]
mov al, cl
cmp cl, byte [edi + 1]
jne 0x10009466
add esi, 2
add edi, 2
test al, al
jne 0x10009442
xor eax, eax
jmp 0x1000946b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10009486
call fcn.1000b490
push 0x10010e64
call fcn.10003300
add esp, 4
jmp 0x100095aa
mov edx, dword [0x10065ab4]
mov ecx, dword [ebp - 0x488]
lea eax, [edx + ecx]
cmp eax, 0x1000
jl 0x100094ca
call fcn.1000b490
test eax, eax
je 0x100094e9
mov eax, dword [0x10064ab0]
mov dword [0x10065ca4], eax
inc eax
mov dword [0x10064ab0], eax
mov eax, dword [ebp - 0x488]
mov ecx, eax
lea esi, [ebp - 0x468]
mov edi, 0x10064ab4
jmp 0x100094d6
lea esi, [ebp - 0x468]
lea edi, [edx + 0x10064ab4]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [0x10065ab4], eax
push 0x10010e64
call fcn.10003300
add esp, 4
jmp 0x100095aa
mov dword [0x10066178], eax
mov ecx, dword [ebp - 0x920]
mov dword [ecx + 0x10011b88], eax
mov dword [ebp - 0x47c], 1
cmp dword [0x10065ab4], eax
jle 0x10009529
call fcn.1000b490
mov dword [ebp - 0x47c], eax
lea edi, [ebp - 0x468]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x80
jb 0x10009553
push 0x7f
lea edx, [ebp - 0x468]
push edx
lea eax, [ebp - 0x16c]
push eax
jmp 0x10009572
lea edi, [ebp - 0x468]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [ebp - 0x468]
push ecx
lea edx, [ebp - 0x16c]
push edx
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
xor eax, eax
cmp esi, 0x408000
sete al
mov dword [ebp - 0x60], eax
jmp 0x100095aa
mov ecx, 0x20
xor eax, eax
lea edi, [ebp - 0x16c]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x48c]
cmp ecx, dword [ebp - 0x1c]
jne 0x100095aa
call fcn.1000b490
mov eax, dword [ebp - 0x48c]
inc eax
mov dword [ebp - 0x48c], eax
cmp eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0xa4]
jle 0x10007aa7
mov eax, dword [ebp - 0x1c]
cmp eax, 0x64
jle 0x10009688
mov dword [ebp - 0x88c], 0
push 0x100118e0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea edx, [ebx + ebx*2]
shl edx, 4
sub edx, ebx
shl edx, 7
lea eax, [esi + esi*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov ecx, dword [edi + 0x10011938]
test ecx, ecx
je 0x10009676
mov edx, dword [ecx]
lea eax, [ebp - 0x894]
push eax
push 0
push 0
push 0xbb
call dword [edx + 0xc]
mov ecx, dword [edi + 0x10011938]
mov edx, dword [ecx]
lea eax, [ebp - 0x890]
push eax
push 0
push 0x40
push 0xbb
call dword [edx + 0xc]
mov ecx, dword [edi + 0x10011938]
mov edx, dword [ecx]
lea eax, [ebp - 0x88c]
push eax
lea eax, [ebp - 0x894]
push eax
push 0
push 0x437
call dword [edx + 0xc]
mov ecx, dword [edi + 0x10011938]
mov edx, dword [ecx]
lea eax, [ebp - 0x88c]
push eax
push 0x100661b4
push 0
push 0xc2
call dword [edx + 0xc]
push 0x100118e0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
add dword [edi + 0x10011968], 0xffffffc0
lea ecx, [ebx + ebx*2]
shl ecx, 4
sub ecx, ebx
shl ecx, 7
lea eax, [esi + esi*2]
lea eax, [eax + eax*4]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*8 + 0x10011940]
push eax
push esi
push ebx
push str.Get_End__d__d__s
call fcn.10003300
add esp, 0x10
inc esi
jmp 0x1000784f
push edi
push esi
push ebx
push 0x10010dd0
call fcn.10003300
add esp, 0x10
mov ecx, 0x96
xor eax, eax
mov edx, dword [ebp - 0x920]
lea edi, [edx + 0x10011938]
rep stosd dword es:[edi], eax
inc esi
jmp 0x1000784f
push str.End_GetRecord
jmp 0x10009764
push 0x10010da4
call fcn.10003300
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret