Function at 0x100dbe20
Capabilities:
Parse credit card information

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov esi, ecx
mov ecx, dword [edx + 0x108]
mov edi, edx
lea ebp, [edx + 8]
cmp ecx, 0x40
jb 0x100dbe83
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dbee7
cmp dword [edi + 0x150], 0
js 0x100dbee7
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dbeee
movzx edx, byte [edi + ecx*4 + 8]
lea eax, [ecx + 1]
cmp ecx, 0x3f
mov dword [edi + 0x108], eax
mov byte [esp + 3], dl
jne 0x100dbefd
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dbf65
cmp dword [edi + 0x150], 0
js 0x100dbf65
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dbf6c
mov edx, ebp
call fcn.100dbcb0
movzx eax, byte [ebp]
mov byte [esp + 3], al
mov eax, 1
jmp 0x100dbf6e
movzx eax, byte [edi + ecx*4 + 0xc]
cmp ecx, 0x3e
mov byte [esp + 0xf], al
lea eax, [ecx + 2]
mov dword [edi + 0x108], eax
jb 0x100dc0c6
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc12a
cmp dword [edi + 0x150], 0
js 0x100dc12a
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc131
mov edx, ebp
call fcn.100dbcb0
xor eax, eax
movzx ecx, byte [ebp + eax*4]
mov byte [esp + 0xf], cl
movzx ecx, byte [ebp + eax*4 + 4]
mov byte [esp + 9], cl
lea ecx, [eax + 2]
add eax, 3
movzx ecx, byte [edi + ecx*4 + 8]
mov dword [edi + 0x108], eax
mov byte [esp + 0xe], cl
movzx ecx, byte [edi + eax*4 + 8]
mov byte [esp + 8], cl
lea ecx, [eax + 1]
add eax, 2
mov dword [edi + 0x108], ecx
movzx ecx, byte [edi + ecx*4 + 8]
mov dword [edi + 0x108], eax
mov byte [esp + 0xd], cl
movzx ecx, byte [edi + eax*4 + 8]
mov byte [esp + 7], cl
lea ecx, [eax + 1]
add eax, 2
mov dword [edi + 0x108], ecx
movzx ecx, byte [edi + ecx*4 + 8]
mov dword [edi + 0x108], eax
mov byte [esp + 0xc], cl
movzx ecx, byte [edi + eax*4 + 8]
mov byte [esp + 6], cl
lea ecx, [eax + 1]
add eax, 2
mov dword [edi + 0x108], ecx
movzx ecx, byte [edi + ecx*4 + 8]
mov dword [edi + 0x108], eax
mov byte [esp + 0xb], cl
movzx ecx, byte [edi + eax*4 + 8]
mov byte [esp + 5], cl
lea ecx, [eax + 1]
add eax, 2
mov dword [edi + 0x108], ecx
movzx ecx, byte [edi + ecx*4 + 8]
mov dword [edi + 0x108], eax
mov byte [esp + 0xa], cl
movzx ecx, byte [edi + eax*4 + 8]
mov byte [esp + 4], cl
lea ecx, [eax + 1]
add eax, 2
mov dword [edi + 0x108], ecx
mov edx, dword [edi + ecx*4 + 8]
mov dword [edi + 0x108], eax
mov ch, byte [esp + 3]
mov ebx, dword [edi + eax*4 + 8]
inc eax
mov dword [edi + 0x108], eax
mov cl, byte [edi + eax*4 + 8]
inc eax
mov dword [edi + 0x108], eax
movzx eax, byte [esp + 0xf]
mov byte [esi], ch
mov ah, byte [esp + 4]
mov byte [esi + 1], al
mov al, byte [esp + 9]
mov byte [esi + 2], al
mov al, byte [esp + 0xe]
mov byte [esi + 3], al
mov al, byte [esp + 8]
mov byte [esi + 4], al
mov al, byte [esp + 0xd]
mov byte [esi + 5], al
mov al, byte [esp + 7]
mov byte [esi + 6], al
mov al, byte [esp + 0xc]
mov byte [esi + 7], al
mov al, byte [esp + 6]
mov byte [esi + 8], al
mov al, byte [esp + 0xb]
mov byte [esi + 9], al
mov al, byte [esp + 5]
mov byte [esi + 0xa], al
mov al, byte [esp + 0xa]
mov byte [esi + 0xb], al
mov byte [esi + 0xc], ah
mov byte [esi + 0xd], dl
mov byte [esi + 0xe], bl
mov byte [esi + 0xf], cl
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
movzx edx, byte [edi + ecx*4 + 0x10]
lea ebx, [ecx + 3]
cmp ecx, 0x3d
mov dword [edi + 0x108], ebx
mov byte [esp + 9], dl
jne 0x100dc146
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc1a7
cmp dword [edi + 0x150], 0
js 0x100dc1a7
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc1ae
mov edx, ebp
call fcn.100dbcb0
movzx eax, byte [ebp]
mov ecx, 1
mov byte [esp + 9], al
lea eax, [ecx + 1]
jmp 0x100dbf86
movzx edx, byte [edi + ecx*4 + 0x14]
cmp eax, 0x3e
mov byte [esp + 0xe], dl
lea edx, [ecx + 4]
mov dword [edi + 0x108], edx
jne 0x100dc1b8
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc21c
cmp dword [edi + 0x150], 0
js 0x100dc21c
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc223
mov edx, ebp
call fcn.100dbcb0
xor ecx, ecx
lea eax, [ecx + 1]
jmp 0x100dbf86
movzx eax, byte [edi + ecx*4 + 0x18]
lea ebx, [ecx + 5]
cmp ecx, 0x3b
mov dword [edi + 0x108], ebx
mov byte [esp + 8], al
jb 0x100dc238
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc299
cmp dword [edi + 0x150], 0
js 0x100dc299
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc2a0
mov edx, ebp
call fcn.100dbcb0
movzx eax, byte [ebp]
mov ecx, 1
mov byte [esp + 8], al
lea eax, [ecx + 1]
jmp 0x100dbfaa
movzx eax, byte [edi + ecx*4 + 0x1c]
cmp edx, 0x3e
mov byte [esp + 0xd], al
lea eax, [ecx + 6]
mov dword [edi + 0x108], eax
jne 0x100dc2aa
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc30e
cmp dword [edi + 0x150], 0
js 0x100dc30e
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc315
mov edx, ebp
call fcn.100dbcb0
xor ecx, ecx
lea eax, [ecx + 1]
jmp 0x100dbfaa
movzx edx, byte [edi + ecx*4 + 0x20]
lea ebx, [ecx + 7]
cmp ecx, 0x39
mov dword [edi + 0x108], ebx
mov byte [esp + 7], dl
jb 0x100dc32a
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc38b
cmp dword [edi + 0x150], 0
js 0x100dc38b
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc392
mov edx, ebp
call fcn.100dbcb0
movzx eax, byte [ebp]
mov ecx, 1
mov byte [esp + 7], al
lea eax, [ecx + 1]
jmp 0x100dbfce
movzx edx, byte [edi + ecx*4 + 0x24]
cmp eax, 0x3e
mov byte [esp + 0xc], dl
lea edx, [ecx + 8]
mov dword [edi + 0x108], edx
jne 0x100dc39c
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc400
cmp dword [edi + 0x150], 0
js 0x100dc400
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc407
mov edx, ebp
call fcn.100dbcb0
xor ecx, ecx
lea eax, [ecx + 1]
jmp 0x100dbfce
movzx eax, byte [edi + ecx*4 + 0x28]
lea ebx, [ecx + 9]
cmp ecx, 0x37
mov dword [edi + 0x108], ebx
mov byte [esp + 6], al
jb 0x100dc41c
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc47d
cmp dword [edi + 0x150], 0
js 0x100dc47d
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc484
mov edx, ebp
call fcn.100dbcb0
movzx eax, byte [ebp]
mov ecx, 1
mov byte [esp + 6], al
lea eax, [ecx + 1]
jmp 0x100dbff2
movzx eax, byte [edi + ecx*4 + 0x2c]
cmp edx, 0x3e
mov byte [esp + 0xb], al
lea eax, [ecx + 0xa]
mov dword [edi + 0x108], eax
jne 0x100dc48e
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc4f2
cmp dword [edi + 0x150], 0
js 0x100dc4f2
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc4f9
mov edx, ebp
call fcn.100dbcb0
xor ecx, ecx
lea eax, [ecx + 1]
jmp 0x100dbff2
movzx edx, byte [edi + ecx*4 + 0x30]
lea ebx, [ecx + 0xb]
cmp ecx, 0x35
mov dword [edi + 0x108], ebx
mov byte [esp + 5], dl
jb 0x100dc50e
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc56f
cmp dword [edi + 0x150], 0
js 0x100dc56f
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc576
mov edx, ebp
call fcn.100dbcb0
movzx eax, byte [ebp]
mov ecx, 1
mov byte [esp + 5], al
lea eax, [ecx + 1]
jmp 0x100dc016
movzx edx, byte [edi + ecx*4 + 0x34]
cmp eax, 0x3e
mov byte [esp + 0xa], dl
lea edx, [ecx + 0xc]
mov dword [edi + 0x108], edx
jne 0x100dc580
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc5e4
cmp dword [edi + 0x150], 0
js 0x100dc5e4
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc5eb
mov edx, ebp
call fcn.100dbcb0
xor ecx, ecx
lea eax, [ecx + 1]
jmp 0x100dc016
movzx eax, byte [edi + ecx*4 + 0x38]
lea ebx, [ecx + 0xd]
cmp ecx, 0x33
mov dword [edi + 0x108], ebx
mov byte [esp + 4], al
jb 0x100dc600
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc660
cmp dword [edi + 0x150], 0
js 0x100dc660
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc667
mov edx, ebp
call fcn.100dbcb0
movzx eax, byte [ebp]
mov ecx, 1
mov byte [esp + 4], al
lea eax, [ecx + 1]
jmp 0x100dc03a
mov eax, dword [edi + ecx*4 + 0x3c]
lea ebx, [ecx + 0xe]
cmp edx, 0x3e
mov dword [edi + 0x108], ebx
mov dword [esp + 0x10], eax
jne 0x100dc671
mov eax, dword [edi + 0x148]
mov edx, dword [edi + 0x14c]
lea ecx, [edi + 0x110]
cmp eax, 1
mov ebx, edx
sbb ebx, 0
jl 0x100dc6ce
cmp dword [edi + 0x150], 0
js 0x100dc6ce
add eax, 0xffffff00
adc edx, 0xffffffff
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], edx
mov edx, ebp
call fcn.100c9f30
jmp 0x100dc6d5
mov edx, ebp
call fcn.100dbcb0
xor ecx, ecx
lea eax, [ecx + 1]
jmp 0x100dc03a
mov ebx, dword [edi + ecx*4 + 0x40]
lea eax, [ecx + 0xf]
cmp ecx, 0x31
mov dword [edi + 0x108], eax
jb 0x100dc6f6
lea eax, [edi + 0x110]
mov ecx, dword [edi + 0x148]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x14c]
cmp ecx, 1
mov edx, eax
sbb edx, 0
jl 0x100dc6e9
cmp dword [edi + 0x150], 0
js 0x100dc6e9
add ecx, 0xffffff00
mov edx, ebp
mov dword [edi + 0x148], ecx
mov ecx, dword [esp + 0x14]
adc eax, 0xffffffff
mov dword [edi + 0x14c], eax
call fcn.100c9f30
jmp 0x100dc6f4
mov edx, ebp
call fcn.100dbcb0
mov ebx, dword [edi + 8]
mov dword [edi + 0x108], 1
mov eax, 1
jmp 0x100dc6f6
mov ecx, dword [esp + 0x14]
mov edx, ebp
call fcn.100dbcb0
xor eax, eax
mov ch, byte [esp + 3]
mov edx, dword [esp + 0x10]
jmp 0x100dc053