Function at 0x100238e0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, dword [0x1008a5e4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x9c]
xor ebx, ebx
push 0x30
push ebx
push eax
mov dword [ebp - 0x2c], ebx
call sub.VCRUNTIME140.dll_memset
lea eax, [edi + 0x18]
add esp, 0xc
mov dword [edi + 0x198], eax
nop dword [eax]
push edi
call fcn.10024880
mov edx, dword [edi + 0x198]
add esp, 4
mov esi, eax
mov dword [ebp - 0x30], esi
mov cl, byte [edx + 0xc]
cmp cl, 0x63
je 0x10023953
cmp cl, 0x28
je 0x10023953
cmp cl, 0x74
je 0x10023953
push edx
call fcn.10025df0
add esp, 4
test eax, eax
je 0x1002396a
test esi, esi
jne 0x10023920
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10048062
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x10023957
movups xmm0, xmmword [ebp - 0x7c]
mov esi, 1
movups xmmword [ebp - 0x6c], xmm0
movups xmm0, xmmword [ebp - 0x8c]
movups xmmword [ebp - 0x5c], xmm0
nop dword [eax]
cmp esi, 5
jb 0x10023a83
mov al, byte [edi + 0x24]
cmp al, 0x31
jne 0x10023a52
mov cl, byte [edi + 0x54]
cmp cl, 0x6f
je 0x100239b1
cmp cl, 0x2c
jne 0x100239cc
cmp byte [edi + 0x84], 0x28
jne 0x100239cc
cmp byte [edi + 0xb4], 0x31
jne 0x100239cc
cmp byte [edi + 0xe4], 0x29
je 0x10023a22
cmp byte [edi + 0x54], 0x29
jne 0x10023a83
cmp byte [edi + 0x84], 0x2c
jne 0x10023a83
cmp byte [edi + 0xb4], 0x28
jne 0x10023a83
cmp byte [edi + 0xe4], 0x31
je 0x10023a22
cmp al, 0x6e
jne 0x10023a83
cmp byte [edi + 0x54], 0x29
jne 0x10023a83
cmp byte [edi + 0x84], 0x6f
jne 0x10023a83
cmp byte [edi + 0xb4], 0x28
jne 0x10023a83
cmp byte [edi + 0xe4], 0x6e
jne 0x10023a83
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
cmp esi, 5
jbe 0x10023a7e
movups xmm0, xmmword [edi + 0x108]
lea esi, [ebx + 2]
movups xmmword [edi + 0x48], xmm0
movups xmm0, xmmword [edi + 0x118]
movups xmmword [edi + 0x58], xmm0
movups xmm0, xmmword [edi + 0x128]
movups xmmword [edi + 0x68], xmm0
jmp 0x10023a83
cmp al, 0x6e
jne 0x10023a83
cmp byte [edi + 0x54], 0x6f
jne 0x10023a01
cmp byte [edi + 0x84], 0x28
jne 0x10023a83
mov al, byte [edi + 0xb4]
cmp al, 0x6e
je 0x10023a73
cmp al, 0x31
jne 0x10023a83
cmp byte [edi + 0xe4], 0x29
je 0x10023a22
jmp 0x10023a83
mov esi, 1
test edx, edx
je 0x10024439
cmp ebx, 5
jae 0x10024439
mov ecx, esi
sub ecx, ebx
lea ebx, [esi + esi*2]
shl ebx, 4
add ebx, 0x18
add ebx, edi
mov dword [ebp - 0x40], ecx
cmp esi, 5
ja 0x10023afe
cmp ecx, 2
jae 0x10023afe
push edi
mov dword [edi + 0x198], ebx
call fcn.10024880
mov edx, eax
add esp, 4
test edx, edx
je 0x10023afe
mov eax, dword [edi + 0x198]
mov ecx, dword [ebp - 0x40]
cmp byte [eax + 0xc], 0x63
jne 0x10023af0
movups xmm0, xmmword [eax]
movups xmm2, xmmword [eax + 0x10]
movups xmm1, xmmword [eax + 0x20]
movups xmmword [ebp - 0x9c], xmm0
movups xmmword [ebp - 0x5c], xmm2
movups xmmword [ebp - 0x6c], xmm1
jmp 0x10023aa6
inc esi
mov byte [ebp - 0x90], 0
inc ecx
add ebx, 0x30
jmp 0x10023aa3
mov ebx, dword [ebp - 0x2c]
mov eax, esi
sub eax, ebx
mov dword [ebp - 0x30], edx
cmp eax, 2
jae 0x10023b17
mov ebx, esi
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
lea ecx, [ebx + ebx*2]
shl ecx, 4
add ecx, edi
mov dword [ebp - 0x44], ecx
mov dl, byte [ecx + 0x24]
lea eax, [ecx + 0x54]
mov byte [ebp - 0x25], dl
mov dword [ebp - 0x3c], eax
cmp dl, 0x73
jne 0x10023b46
cmp byte [eax], dl
jne 0x10023b49
mov edx, dword [ebp - 0x30]
dec esi
inc dword [edi + 0x1b8]
jmp 0x10023990
mov dword [ebp - 0x3c], eax
cmp dl, 0x3b
jne 0x10023b61
cmp byte [eax], dl
jne 0x10023b6b
mov edx, dword [ebp - 0x30]
dec esi
inc dword [edi + 0x1b8]
jmp 0x10023990
cmp dl, 0x6f
je 0x10023b73
cmp dl, 0x26
je 0x10023b73
lea eax, [ecx + 0x48]
mov dword [ebp - 0x4c], eax
jmp 0x10023b9c
lea eax, [ecx + 0x48]
push eax
mov dword [ebp - 0x4c], eax
call fcn.10025df0
add esp, 4
test eax, eax
jne 0x10023ff2
mov eax, dword [ebp - 0x3c]
cmp byte [eax], 0x74
je 0x10023ff2
mov dl, byte [ebp - 0x25]
mov eax, dword [ebp - 0x4c]
cmp dl, 0x28
jne 0x10023bca
push eax
call fcn.10025df0
add esp, 4
test eax, eax
je 0x10023bca
inc dword [edi + 0x1b8]
lea eax, [ebx - 1]
mov edx, dword [ebp - 0x30]
dec esi
test ebx, ebx
cmove eax, ebx
mov ebx, eax
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
mov eax, dword [ebp - 0x44]
lea ecx, [eax + 0x18]
mov dword [ebp - 0x40], ecx
mov cl, byte [ecx + 0xc]
cmp cl, 0x6b
je 0x10023c02
cmp cl, 0x6e
je 0x10023c02
cmp cl, 0x6f
je 0x10023c02
cmp cl, 0x55
je 0x10023c02
cmp cl, 0x66
je 0x10023c02
cmp cl, 0x45
je 0x10023c02
cmp cl, 0x54
je 0x10023c02
cmp cl, 0x74
jne 0x10023cfa
mov ecx, dword [ebp - 0x3c]
mov dl, byte [ecx]
cmp dl, 0x6b
je 0x10023c38
cmp dl, 0x6e
je 0x10023c38
cmp dl, 0x6f
je 0x10023c38
cmp dl, 0x55
je 0x10023c38
cmp dl, 0x66
je 0x10023c38
cmp dl, 0x45
je 0x10023c38
cmp dl, 0x54
je 0x10023c38
cmp dl, 0x74
je 0x10023c38
cmp dl, 0x26
jne 0x10023cfd
mov ecx, dword [eax + 0x4c]
lea edx, [eax + 0x18]
mov ebx, dword [edx + 4]
mov dword [ebp - 0x38], ecx
inc ecx
mov dword [ebp - 0x34], ebx
add ebx, ecx
mov ecx, dword [ebp - 0x3c]
cmp ebx, 0x20
mov ebx, dword [ebp - 0x2c]
jae 0x10023cfd
push dword [ebp - 0x34]
lea eax, [edx + 0xf]
push eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x24]
push eax
call sub.VCRUNTIME140.dll_memcpy
push dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x34]
add eax, 0x57
push eax
lea eax, [ebp - 0x23]
add eax, edx
push eax
mov byte [ebp + edx - 0x24], 0x20
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
inc edx
add eax, edx
push eax
mov byte [ebp + eax - 0x24], 0
lea eax, [ebp - 0x24]
push eax
mov eax, dword [edi + 8]
push 1
push edi
call eax
mov cl, al
add esp, 0x28
test cl, cl
je 0x10023cf7
mov eax, dword [ebp - 0x40]
mov byte [eax + 0xc], cl
mov ecx, dword [ebp - 0x34]
inc ecx
add ecx, dword [ebp - 0x38]
mov dword [eax + 4], ecx
lea eax, [ebp - 0x24]
push ecx
push eax
push dword [ebp - 0x48]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x34]
add esp, 0xc
add eax, dword [ebp - 0x38]
dec esi
mov edx, dword [ebp - 0x40]
mov byte [eax + edx + 0x10], 0
lea eax, [ebx - 1]
inc dword [edi + 0x1b8]
test ebx, ebx
mov edx, dword [ebp - 0x30]
cmove eax, ebx
mov ebx, eax
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
mov dl, byte [eax + 0x24]
mov byte [ebp - 0x25], dl
cmp dl, 0x3b
jne 0x10023d3e
cmp byte [ecx], 0x66
jne 0x10023e83
mov dh, byte [eax + 0x57]
cmp dh, 0x49
je 0x10023d22
cmp dh, 0x69
jne 0x10023e83
mov dh, byte [eax + 0x58]
cmp dh, 0x46
je 0x10023d33
cmp dh, 0x66
jne 0x10023e83
mov edx, dword [ebp - 0x30]
mov byte [ecx], 0x54
jmp 0x10023990
cmp dl, 0x6e
je 0x10023d4c
cmp dl, 0x76
jne 0x10023e83
cmp byte [ecx], 0x28
jne 0x10023e83
mov ecx, dword [eax + 0x1c]
add eax, 0x27
push ecx
push eax
push str.USER_ID
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], eax
call fcn.10023490
add esp, 0xc
test eax, eax
je 0x10023e6e
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push str.USER_NAME
call fcn.10023490
add esp, 0xc
test eax, eax
je 0x10023e6e
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push str.DATABASE
call fcn.10023490
add esp, 0xc
test eax, eax
je 0x10023e6e
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push str.PASSWORD
call fcn.10023490
add esp, 0xc
test eax, eax
je 0x10023e6e
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push str.USER
call fcn.10023490
add esp, 0xc
test eax, eax
je 0x10023e6e
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push str.CURRENT_USER
call fcn.10023490
add esp, 0xc
test eax, eax
je 0x10023e6e
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push str.CURRENT_DATE
call fcn.10023490
add esp, 0xc
test eax, eax
je 0x10023e6e
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push str.CURRENT_TIME
call fcn.10023490
add esp, 0xc
test eax, eax
je 0x10023e6e
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push str.CURRENT_TIMESTAMP
call fcn.10023490
add esp, 0xc
test eax, eax
je 0x10023e6e
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push str.LOCALTIME
call fcn.10023490
add esp, 0xc
test eax, eax
je 0x10023e6e
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push str.LOCALTIMESTAMP
call fcn.10023490
add esp, 0xc
test eax, eax
jne 0x10023e7d
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x30]
mov byte [ecx + 0x24], 0x66
jmp 0x10023990
mov eax, dword [ebp - 0x44]
mov dl, byte [ebp - 0x25]
lea ecx, [eax + 0x27]
mov dword [ebp - 0x34], ecx
cmp dl, 0x6b
jne 0x10023ee0
mov eax, dword [eax + 0x1c]
push eax
push ecx
push 0x1006d718
mov dword [ebp - 0x48], eax
call fcn.10023490
add esp, 0xc
test eax, eax
je 0x10023ebe
push dword [ebp - 0x48]
push dword [ebp - 0x34]
push str.NOT_IN
call fcn.10023490
add esp, 0xc
test eax, eax
jne 0x10023ed7
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x30]
cmp byte [eax], 0x28
sete al
add al, 0x6e
mov byte [ecx + 0x24], al
jmp 0x10023990
mov eax, dword [ebp - 0x44]
mov dl, byte [ebp - 0x25]
mov ecx, dword [ebp - 0x34]
cmp dl, 0x6f
jne 0x10023faa
mov eax, dword [eax + 0x1c]
push eax
push ecx
push str.LIKE
mov dword [ebp - 0x48], eax
call fcn.10023490
add esp, 0xc
test eax, eax
je 0x10023f1d
push dword [ebp - 0x48]
push dword [ebp - 0x34]
push str.NOT_LIKE
call fcn.10023490
add esp, 0xc
test eax, eax
jne 0x10024006
mov eax, dword [ebp - 0x3c]
cmp byte [eax], 0x28
jne 0x10023f2c
mov ecx, dword [ebp - 0x44]
mov byte [ecx + 0x24], 0x66
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x1002411e
mov ecx, esi
sub ecx, ebx
lea ebx, [esi + esi*2]
shl ebx, 4
add ebx, 0x18
add ebx, edi
mov dword [ebp - 0x40], ecx
nop dword [eax]
cmp esi, 5
ja 0x10024118
cmp ecx, 3
jae 0x10024118
push edi
mov dword [edi + 0x198], ebx
call fcn.10024880
mov edx, eax
add esp, 4
test edx, edx
je 0x10024118
mov eax, dword [edi + 0x198]
mov ecx, dword [ebp - 0x40]
cmp byte [eax + 0xc], 0x63
jne 0x10024107
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x9c], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x5c], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebp - 0x6c], xmm0
jmp 0x10023f50
cmp dl, 0x74
jne 0x10024009
mov eax, dword [ebp - 0x3c]
mov cl, byte [eax]
cmp cl, 0x6e
je 0x10023fd6
cmp cl, 0x31
je 0x10023fd6
cmp cl, dl
je 0x10023fd6
cmp cl, 0x28
je 0x10023fd6
cmp cl, 0x66
je 0x10023fd6
cmp cl, 0x76
je 0x10023fd6
cmp cl, 0x73
jne 0x10024043
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x40]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax + 0x20], xmm0
inc dword [edi + 0x1b8]
dec esi
mov edx, dword [ebp - 0x30]
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
mov dl, byte [ebp - 0x25]
mov eax, dword [ebp - 0x3c]
cmp dl, 0x41
jne 0x10024043
cmp byte [eax], 0x6e
jne 0x1002409f
mov eax, dword [ebp - 0x44]
add eax, 0x57
push 0x5f
push eax
call sub.VCRUNTIME140.dll_strchr
add esp, 8
test eax, eax
je 0x10023f2c
mov eax, dword [ebp - 0x3c]
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
mov byte [eax], 0x74
jmp 0x10023f2c
cmp dl, 0x5c
jne 0x10024082
cmp byte [eax], 0x6f
jne 0x10023fd6
mov ecx, dword [ebp - 0x44]
cmp dword [ecx + 0x4c], 1
jne 0x10023fd6
mov al, byte [ecx + 0x57]
cmp al, 0x2a
je 0x10024071
cmp al, 0x2f
je 0x10024071
cmp al, 0x2d
je 0x10024071
cmp al, 0x2b
je 0x10024071
cmp al, 0x25
jne 0x10023fd6
mov edx, dword [ebp - 0x30]
xor ebx, ebx
mov byte [ecx + 0x24], 0x31
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
cmp dl, 0x28
jne 0x1002409f
cmp byte [eax], dl
jne 0x100240bc
mov edx, dword [ebp - 0x30]
xor ebx, ebx
dec esi
mov dword [ebp - 0x2c], ebx
inc dword [edi + 0x1b8]
jmp 0x10023990
cmp dl, 0x29
jne 0x100240bc
cmp byte [eax], dl
jne 0x100240ea
mov edx, dword [ebp - 0x30]
xor ebx, ebx
dec esi
mov dword [ebp - 0x2c], ebx
inc dword [edi + 0x1b8]
jmp 0x10023990
cmp dl, 0x7b
jne 0x100240ea
cmp byte [eax], 0x6e
jne 0x100240ea
mov ecx, dword [ebp - 0x44]
cmp dword [ecx + 0x4c], 0
je 0x10024422
mov edx, dword [ebp - 0x30]
xor ebx, ebx
sub esi, 2
mov dword [ebp - 0x2c], ebx
add dword [edi + 0x1b8], 2
jmp 0x10023990
cmp byte [eax], 0x7d
jne 0x10023f2c
mov edx, dword [ebp - 0x30]
xor ebx, ebx
dec esi
mov dword [ebp - 0x2c], ebx
inc dword [edi + 0x1b8]
jmp 0x10023990
inc esi
mov byte [ebp - 0x90], 0
inc ecx
add ebx, 0x30
jmp 0x10023f46
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov eax, esi
sub eax, ebx
cmp eax, 3
jae 0x10024131
mov ebx, esi
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
lea eax, [ebx + ebx*2]
shl eax, 4
lea ebx, [eax + edi]
mov al, byte [ebx + 0x24]
cmp al, 0x31
jne 0x1002415c
cmp byte [ebx + 0x54], 0x6f
jne 0x10024194
cmp byte [ebx + 0x84], al
jne 0x10024194
sub esi, 2
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
cmp al, 0x6f
jne 0x1002417b
cmp byte [ebx + 0x54], 0x28
je 0x10024194
cmp byte [ebx + 0x84], al
jne 0x10024194
xor ebx, ebx
sub esi, 2
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
cmp al, 0x26
jne 0x10024194
cmp byte [ebx + 0x84], al
jne 0x10024194
sub esi, 2
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
cmp al, 0x76
jne 0x100241c3
cmp byte [ebx + 0x54], 0x6f
jne 0x10024251
mov cl, byte [ebx + 0x84]
cmp cl, al
je 0x100241e1
cmp cl, 0x31
je 0x100241e1
cmp cl, 0x6e
jne 0x10024200
sub esi, 2
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
cmp al, 0x6e
je 0x100241cb
cmp al, 0x31
jne 0x100241f6
cmp byte [ebx + 0x54], 0x6f
jne 0x100241ee
mov cl, byte [ebx + 0x84]
cmp cl, 0x31
je 0x100241e1
cmp cl, 0x6e
jne 0x100241ee
sub esi, 2
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
cmp al, 0x6e
je 0x100241fa
cmp al, 0x31
je 0x100241fa
cmp al, 0x73
jne 0x1002425d
cmp byte [ebx + 0x54], 0x6f
jne 0x10024251
mov edx, 0x1006bac4
lea ecx, [ebx + 0x57]
mov ah, byte [ecx]
cmp ah, byte [edx]
jne 0x10024228
test ah, ah
je 0x10024224
mov ah, byte [ecx + 1]
cmp ah, byte [edx + 1]
jne 0x10024228
add ecx, 2
add edx, 2
test ah, ah
jne 0x10024208
xor ecx, ecx
jmp 0x1002422d
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x10024251
cmp byte [ebx + 0x84], 0x74
jne 0x10024251
mov edx, dword [ebp - 0x30]
xor ebx, ebx
sub esi, 2
mov dword [ebp - 0x2c], ebx
add dword [edi + 0x1b8], 2
jmp 0x10023990
cmp al, 0x6e
je 0x10024261
cmp al, 0x31
je 0x10024261
cmp al, 0x73
je 0x10024261
cmp al, 0x76
jne 0x10024291
cmp byte [ebx + 0x54], 0x2c
jne 0x10024291
mov cl, byte [ebx + 0x84]
cmp cl, 0x31
je 0x10024281
cmp cl, 0x6e
je 0x10024281
cmp cl, 0x73
je 0x10024281
cmp cl, 0x76
jne 0x10024291
mov edx, dword [ebp - 0x30]
sub esi, 2
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
cmp al, 0x45
je 0x1002429d
cmp al, 0x42
je 0x1002429d
cmp al, 0x2c
jne 0x100242bd
lea eax, [ebx + 0x48]
push eax
call fcn.10025df0
add esp, 4
test eax, eax
je 0x100242ba
cmp byte [ebx + 0x84], 0x28
je 0x100243b8
mov al, byte [ebx + 0x24]
cmp al, 0x6b
je 0x100242c9
cmp al, 0x45
je 0x100242c9
cmp al, 0x42
jne 0x1002430a
lea eax, [ebx + 0x48]
push eax
call fcn.10025df0
add esp, 4
test eax, eax
je 0x10024307
mov al, byte [ebx + 0x84]
cmp al, 0x31
je 0x100243b8
cmp al, 0x6e
je 0x100243b8
cmp al, 0x76
je 0x100243b8
cmp al, 0x73
je 0x100243b8
cmp al, 0x66
je 0x100243b8
mov al, byte [ebx + 0x24]
cmp al, 0x2c
jne 0x1002437f
lea eax, [ebx + 0x48]
push eax
call fcn.10025df0
add esp, 4
test eax, eax
je 0x10024362
mov al, byte [ebx + 0x84]
cmp al, 0x31
je 0x10024334
cmp al, 0x6e
je 0x10024334
cmp al, 0x76
je 0x10024334
cmp al, 0x73
jne 0x10024362
movups xmm0, xmmword [ebx + 0x78]
mov edx, dword [ebp - 0x30]
movups xmmword [ebx + 0x48], xmm0
movups xmm0, xmmword [ebx + 0x88]
movups xmmword [ebx + 0x58], xmm0
movups xmm0, xmmword [ebx + 0x98]
movups xmmword [ebx + 0x68], xmm0
xor ebx, ebx
sub esi, 3
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
lea eax, [ebx + 0x48]
push eax
call fcn.10025df0
add esp, 4
test eax, eax
je 0x10024413
cmp byte [ebx + 0x84], 0x66
jmp 0x100243b6
cmp al, 0x6e
jne 0x100243a5
cmp byte [ebx + 0x54], 0x2e
jne 0x10024413
cmp byte [ebx + 0x84], al
jne 0x10024413
mov edx, dword [ebp - 0x30]
sub esi, 2
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
cmp al, 0x45
jne 0x100243e4
cmp byte [ebx + 0x54], 0x2e
jne 0x10024413
cmp byte [ebx + 0x84], 0x6e
jne 0x10024413
movups xmm0, xmmword [ebx + 0x78]
mov edx, dword [ebp - 0x30]
dec esi
movups xmmword [ebx + 0x48], xmm0
movups xmm0, xmmword [ebx + 0x88]
movups xmmword [ebx + 0x58], xmm0
movups xmm0, xmmword [ebx + 0x98]
movups xmmword [ebx + 0x68], xmm0
xor ebx, ebx
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
cmp al, 0x66
jne 0x10024413
cmp byte [ebx + 0x54], 0x28
jne 0x10024413
cmp byte [ebx + 0x84], 0x29
je 0x10024413
push dword [ebx + 0x1c]
lea eax, [ebx + 0x27]
push eax
push str.USER
call fcn.10023490
add esp, 0xc
test eax, eax
jne 0x10024413
mov byte [ebx + 0x24], 0x6e
mov ebx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x2c], ebx
jmp 0x10023990
pop edi
mov byte [eax], 0x58
lea eax, [ebx + 2]
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10048062
mov esp, ebp
pop ebp
ret
cmp esi, 5
jae 0x1002446b
cmp byte [ebp - 0x90], 0x63
jne 0x10024475
movups xmm0, xmmword [ebp - 0x9c]
lea eax, [esi + esi*2]
add eax, eax
inc esi
movups xmmword [edi + eax*8 + 0x18], xmm0
movups xmm0, xmmword [ebp - 0x5c]
movups xmmword [edi + eax*8 + 0x28], xmm0
movups xmm0, xmmword [ebp - 0x6c]
movups xmmword [edi + eax*8 + 0x38], xmm0
mov eax, 5
cmp esi, eax
cmova esi, eax
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10048062
mov esp, ebp
pop ebp
ret