Function at 0x7ae2c8
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x348
mov eax, dword [0x4e3a40]
xor eax, esp
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
mov eax, dword [ecx + 8]
push ebx
push ebp
push esi
mov esi, edx
xor edx, edx
mov dword [esi + 4], eax
mov dword [esi + 0xc], edx
mov eax, dword [ecx + 8]
mov ebp, dword [ecx + 0xc]
mov dword [esp + 0x24], eax
lea eax, [ebp + eax*2]
movzx ebp, word [eax]
push edi
or ebx, reloc.MSVCRT.dll_strncpy
xor edi, edi
test bp, bp
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x1c], eax
jne 0x7ae337
mov dword [esi + 8], edx
mov dword [esi], edx
mov eax, strncpy
jmp 0x7aea0e
movzx ebp, bp
test ebp, ebp
je 0x7ae6d1
lea ebx, [ebx]
test edi, edi
je 0x7ae42d
push ebp
push 0x4c32ac
call fcn.0081ee3f
add esp, 8
test eax, eax
je 0x7ae4aa
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
sub esi, dword [eax + 0xc]
sar esi, 1
sub esi, edi
test ebx, ebx
jne 0x7ae387
lea ecx, [esi + edi - 1]
mov dword [eax], edi
mov dword [eax + 4], ecx
jmp 0x7ae41f
mov eax, dword [esp + 0x20]
add eax, 0x10
mov eax, dword [eax]
sub eax, 0x10
mov edx, 1
sub edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
sub eax, esi
or edx, eax
jge 0x7ae3b1
mov ecx, dword [esp + 0x20]
push esi
add ecx, 0x10
call fcn.00792b48
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0xc]
lea ecx, [esi + esi]
push ecx
lea ecx, [eax + edi*2]
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x10]
add eax, 0x10
push ecx
push edx
call fcn.008264c8
add esp, 0xc
cmp esi, reloc.MSVCRT.dll_strncpy
mov eax, esi
jne 0x7ae3f9
mov eax, dword [esp + 0x20]
add eax, 0x10
mov eax, dword [eax]
test eax, eax
je 0x7ae401
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x7ae3ea
sub eax, edx
sar eax, 1
test eax, eax
jl 0x7aeac0
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x10]
add ecx, 0x10
cmp eax, dword [edx - 8]
jg 0x7aeac0
mov dword [edx - 0xc], eax
mov ecx, dword [ecx]
mov word [ecx + eax*2], 0
mov edx, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], edi
cmp dword [esp + 0x14], 0
je 0x7ae66b
cmp ebp, 0x3e
jne 0x7ae511
test dl, 0xc0
jne 0x7ae528
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
sub eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x18]
sar eax, 1
cmp ecx, 1
mov dword [esp + 0x28], eax
jne 0x7ae4be
cmp ebx, ecx
mov dword [esp + 0x14], 0
jne 0x7ae503
cmp dword [esp + 0x2c], 0x2f
jne 0x7ae503
mov eax, dword [esp + 0x30]
test eax, eax
je 0x7ae49d
push eax
push 0x4c32bc
call fcn.0081ee3f
mov edx, dword [esp + 0x18]
add esp, 8
test eax, eax
je 0x7ae503
mov eax, dword [esp + 0x20]
or dword [eax + 0xc], 0x10000
jmp 0x7ae503
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
add eax, 2
mov dword [esp + 0x1c], eax
jmp 0x7ae6be
cmp eax, ecx
jle 0x7ae6b5
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea eax, [ecx + ecx]
sub esi, eax
lea eax, [esi + 2]
mov esi, ecx
mov ecx, dword [esp + 0x14]
sub ecx, eax
sub esi, 1
je 0x7ae4fb
mov dx, word [eax]
mov bp, word [ecx + eax]
add eax, 2
cmp dx, bp
mov edx, dword [esp + 0x10]
je 0x7ae4de
jmp 0x7ae6b5
mov dword [esp + 0x14], 0
test dl, 0x20
je 0x7ae9f2
jmp 0x7ae6b5
cmp ebp, 0x3c
jne 0x7ae528
cmp ebx, 2
je 0x7aeaca
cmp ebx, reloc.MSVCRT.dll_strncpy
je 0x7aeaca
test bl, 1
je 0x7ae63e
test dl, 0xc0
je 0x7ae588
cmp ebp, 0x22
jne 0x7ae55e
test dl, dl
jns 0x7ae630
mov eax, dword [esp + 0x2c]
xor edx, 0x80
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebp
jmp 0x7ae6b5
cmp ebp, 0x27
jne 0x7ae630
test dl, 0x40
je 0x7ae630
mov eax, dword [esp + 0x2c]
xor edx, 0x40
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebp
jmp 0x7ae6b5
cmp ebp, 0x22
jne 0x7ae5b4
test edx, 0x100
je 0x7ae630
mov eax, dword [esp + 0x2c]
xor edx, 0x180
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebp
jmp 0x7ae6b5
cmp ebp, 0x27
jne 0x7ae5dc
test edx, 0x100
je 0x7ae630
mov eax, dword [esp + 0x2c]
xor edx, 0x140
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebp
jmp 0x7ae6b5
cmp ebp, 0x3d
jne 0x7ae60a
cmp dword [esp + 0x2c], ebp
je 0x7ae60a
test edx, 0x100
jne 0x7ae612
mov eax, dword [esp + 0x2c]
xor edx, 0x100
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebp
jmp 0x7ae6b5
test edx, 0x100
je 0x7ae630
push ebp
push 0x4c31a0
call fcn.0081ee3f
add esp, 8
test eax, eax
jne 0x7ae62c
xor dword [esp + 0x10], reloc.MSVCRT.dll_strncpy
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebp
jmp 0x7ae6b5
test bl, 0x40
je 0x7ae6b5
cmp ebp, 0x22
jne 0x7ae659
test dl, 0x40
jne 0x7ae6b5
xor edx, 0x80
mov dword [esp + 0x10], edx
jmp 0x7ae6b5
cmp ebp, 0x27
jne 0x7ae6b5
test dl, dl
js 0x7ae6b5
xor edx, 0x40
mov dword [esp + 0x10], edx
jmp 0x7ae6b5
test edx, edx
je 0x7aea27
test dl, 0x10
je 0x7ae719
cmp ebp, 0x3c
je 0x7aeadf
push ebp
push 0x4c31a0
call fcn.0081ee3f
add esp, 8
test eax, eax
jne 0x7ae6b1
xor dword [esp + 0x10], 0x10
mov ebx, 2
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0x4c32cc
mov edx, dword [esp + 0x10]
add dword [esp + 0x1c], 2
mov eax, dword [esp + 0x1c]
movzx ebp, word [eax]
test ebp, ebp
jne 0x7ae348
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
sub eax, dword [ecx + 0xc]
sar eax, 1
sub eax, 1
cmp ebx, 4
mov dword [esp + 0x28], eax
je 0x7ae9f2
cmp ebx, 2
je 0x7ae9f2
test dl, 0x20
mov eax, 0x4c31c4
jne 0x7aea90
cmp ebx, 0x40
je 0x7aea90
cmp ebx, 1
jne 0x7aea61
mov eax, 0x4c31dc
jmp 0x7aea95
test dl, 1
je 0x7ae822
mov eax, 1
xor edx, eax
cmp ebp, 0x60
mov dword [esp + 0x10], edx
ja 0x7ae802
cmp ebp, 0x40
jbe 0x7ae744
cmp ebp, 0x5b
jb 0x7ae802
cmp ebp, 0x5f
je 0x7ae802
cmp ebp, 0x3a
je 0x7ae802
cmp ebp, 0x2f
jne 0x7ae77d
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
sub edi, dword [ecx + 0xc]
xor ebx, ebx
sar edi, 1
mov dword [esp + 0x14], 0x4c32d0
mov dword [esp + 0x18], eax
add edi, eax
jmp 0x7ae6b5
cmp ebp, 0x21
jne 0x7ae78e
or edx, 2
mov dword [esp + 0x10], edx
jmp 0x7ae6b5
cmp ebp, 0x3f
jne 0x7ae7bc
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
sub edi, dword [ecx + 0xc]
mov dword [esp + 0x14], 0x4c2f7c
sar edi, 1
mov dword [esp + 0x18], 2
mov ebx, 0x10
add edi, eax
jmp 0x7ae6b5
mov edx, dword [esp + 0x28]
push edx
push 0x4c32d4
push 0x4c32fc
lea edx, reloc.MSVCRT.dll_strncpy
mov dword [esp + 0x20], 0x4c32d0
mov dword [esp + 0x24], eax
call fcn.007af2a8
mov ecx, dword [esp + 0x2c]
add esp, 0xc
lea eax, [esp + 0xfc]
push eax
add ecx, 0x10
call fcn.0079a6a8
or ebx, reloc.MSVCRT.dll_strncpy
jmp 0x7ae6b1
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
sub edi, dword [ecx + 0xc]
mov dword [esp + 0x14], 0x4c32d0
mov dword [esp + 0x18], eax
mov ebx, eax
sar edi, 1
jmp 0x7ae6b5
test dl, 2
je 0x7ae8d5
xor edx, 2
cmp ebp, 0x2d
mov dword [esp + 0x10], edx
jne 0x7ae843
or edx, 4
mov dword [esp + 0x10], edx
jmp 0x7ae6b5
cmp ebp, 0x5b
jne 0x7ae859
test dl, 0x20
jne 0x7ae86f
or edx, 8
mov dword [esp + 0x10], edx
jmp 0x7ae6b5
cmp ebp, 0x44
jne 0x7ae86f
test dl, 0x20
jne 0x7ae86f
or edx, 0x20
mov dword [esp + 0x10], edx
jmp 0x7ae6b5
push ebp
push 0x4c3330
call fcn.0081ee3f
add esp, 8
test eax, eax
mov dword [esp + 0x14], 0x4c32d0
mov dword [esp + 0x18], 1
je 0x7ae89b
mov ebx, 0x40
jmp 0x7ae6b1
mov edx, dword [esp + 0x28]
push edx
push 0x4c3338
push 0x4c32fc
lea edx, reloc.MSVCRT.dll_strncpy
call fcn.007af2a8
mov ecx, dword [esp + 0x2c]
add esp, 0xc
lea eax, reloc.MSVCRT.dll_strncpy
push eax
add ecx, 0x10
call fcn.0079a6a8
or ebx, reloc.MSVCRT.dll_strncpy
jmp 0x7ae6b1
test dl, 4
je 0x7ae94a
xor edx, 4
cmp ebp, 0x2d
mov dword [esp + 0x10], edx
jne 0x7ae900
mov dword [esp + 0x14], 0x4c3344
mov dword [esp + 0x18], 3
mov ebx, 0x20
jmp 0x7ae6b5
mov ecx, dword [esp + 0x28]
push ecx
push 0x4c334c
push 0x4c32fc
lea edx, reloc.MSVCRT.dll_strncpy
mov dword [esp + 0x20], 0x4c32d0
mov dword [esp + 0x24], 1
call fcn.007af2a8
mov ecx, dword [esp + 0x2c]
add esp, 0xc
lea edx, reloc.MSVCRT.dll_strncpy
push edx
add ecx, 0x10
call fcn.0079a6a8
or ebx, reloc.MSVCRT.dll_strncpy
jmp 0x7ae6b1
test dl, 8
je 0x7ae9b9
xor edx, 8
cmp ebp, 0x43
mov dword [esp + 0x10], edx
jne 0x7ae975
mov dword [esp + 0x14], 0x4c3364
mov dword [esp + 0x18], 3
mov ebx, 8
jmp 0x7ae6b5
mov eax, dword [esp + 0x28]
push eax
push 0x4c31c4
push 0x4c32fc
lea edx, [esp + 0x40]
mov dword [esp + 0x20], 0x4c32d0
mov dword [esp + 0x24], 1
call fcn.007af2a8
add esp, 0xc
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x24]
add ecx, 0x10
call fcn.0079a6a8
or ebx, reloc.MSVCRT.dll_strncpy
jmp 0x7ae6b1
test dl, 0x20
je 0x7ae6b5
cmp ebp, 0x3c
jne 0x7ae9d3
or edx, 1
mov dword [esp + 0x10], edx
jmp 0x7ae6b5
cmp ebp, 0x3e
jne 0x7ae6b5
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
sub eax, dword [ecx + 0xc]
mov ebx, 0x40
sar eax, 1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add eax, 1
mov dword [edx + 8], eax
sub eax, dword [ecx + 4]
mov dword [ecx], ebx
mov dword [ecx + 8], eax
mov eax, ebx
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0081e2f5
add esp, 0x348
ret
cmp ebp, 0x3c
jne 0x7aea39
mov dword [esp + 0x10], 1
jmp 0x7ae6b1
push ebp
push 0x4c31a0
mov ebx, 4
call fcn.0081ee3f
add esp, 8
test eax, eax
je 0x7ae69c
mov dword [esp + 0x10], 0x10
jmp 0x7ae6b1
test ebx, ebx
jne 0x7aea6c
mov eax, 0x4c31f4
jmp 0x7aea95
cmp ebx, 8
jne 0x7aea78
mov eax, 0x4c3214
jmp 0x7aea95
cmp ebx, 0x10
jne 0x7aea84
mov eax, 0x4c3230
jmp 0x7aea95
cmp ebx, 0x20
jne 0x7aea95
mov eax, 0x4c3260
jmp 0x7aea95
mov eax, 0x4c31cc
mov edx, dword [esi + 4]
push edx
push eax
push 0x4c3270
lea edx, [esp + 0x40]
or ebx, reloc.MSVCRT.dll_strncpy
call fcn.007af2a8
add esp, 0xc
lea eax, [esp + 0x34]
push eax
lea ecx, [esi + 0x10]
call fcn.0079a6a8
jmp 0x7ae9f2
push 0x80070057
call fcn.00792ac8
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
sub eax, dword [ecx + 0xc]
sar eax, 1
sub eax, 1
jmp 0x7ae9ee
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
sub eax, dword [edx + 0xc]
mov ebx, 4
sar eax, 1
sub eax, 1
jmp 0x7ae9ee