Function at 0x10045f20
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x100462d5
cmp eax, 0x7c
je 0x100462d5
cmp eax, 0x29
jne 0x10045f5d
cmp dword [esi + 0x10], 0
jne 0x100462d5
test dword [esi + 0x50], 0x10000000
je 0x100462e2
jmp 0x10046266
cmp eax, 0x2e
jne 0x10045f71
push 5
lea ecx, [esi + 0x24]
call fcn.10046340
jmp 0x10046273
cmp eax, 0x5c
jne 0x1004604d
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x10045fc0
cmp word [eax], 0x5c
jne 0x10045fbb
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x10045fb9
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10045fa7
movzx edi, word [ecx]
cmp edi, 0x28
je 0x10045fbb
cmp edi, 0x29
je 0x10045fbb
test dl, 0x10
jne 0x10045fb9
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x10045fbb
cmp ecx, 0x7d
je 0x10045fbb
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10045550
test byte [esi + 0x50], 0x80
je 0x10046041
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x10046029
push 4
lea ecx, [esi + 0x24]
call fcn.10046340
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x10046210
cmp word [eax], 0x5c
jne 0x1004620b
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x10046209
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x10046021
movzx edx, word [ecx]
cmp edx, 0x28
je 0x1004620b
cmp edx, 0x29
je 0x1004620b
test bl, 0x10
jmp 0x100461fa
cmp eax, 0x42
jne 0x10046041
push 4
lea ecx, [esi + 0x24]
call fcn.10046340
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x10045fe0
mov ecx, esi
call fcn.10046890
jmp 0x100462c0
cmp eax, 0x5b
jne 0x1004613f
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x1004609c
cmp word [eax], 0x5c
jne 0x10046097
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x10046095
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10046083
movzx edi, word [ecx]
cmp edi, 0x28
je 0x10046097
cmp edi, 0x29
je 0x10046097
test dl, 0x10
jne 0x10046095
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x10046097
cmp ecx, 0x7d
je 0x10046097
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10045550
lea ecx, [esi + 0x24]
call fcn.100484d0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x1004610a
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x10046100
cmp word [eax], 0x5c
jne 0x100460fb
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x100460f9
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100460e7
movzx edi, word [ecx]
cmp edi, 0x28
je 0x100460fb
cmp edi, 0x29
je 0x100460fb
test dl, 0x10
jne 0x100460f9
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x100460fb
cmp ecx, 0x7d
je 0x100460fb
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10045550
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x10046128
cmp eax, 0x5d
jne 0x10046128
push eax
lea ecx, [esi + 0x24]
call fcn.10048570
mov ecx, esi
call fcn.10045ed0
mov ecx, esi
call fcn.10048000
push 4
push 0x5d
mov ecx, esi
call fcn.10046820
jmp 0x100462c0
cmp eax, 0x28
jne 0x100461b2
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x1004618a
cmp word [eax], 0x5c
jne 0x10046185
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x10046183
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x10046171
movzx edi, word [ecx]
cmp edi, 0x28
je 0x10046185
cmp edi, 0x29
je 0x10046185
test dl, 0x10
jne 0x10046183
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x10046185
cmp ecx, 0x7d
je 0x10046185
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10045550
mov ecx, esi
call fcn.100469e0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.10046820
test bl, bl
je 0x100462c7
jmp 0x100462c0
cmp eax, 0x5e
jne 0x100461bb
push 2
jmp 0x100461c2
cmp eax, 0x24
jne 0x1004621c
push 3
lea ecx, [esi + 0x24]
call fcn.10046340
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x10046210
cmp word [eax], 0x5c
jne 0x1004620b
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x10046209
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100461f7
movzx edi, word [ecx]
cmp edi, 0x28
je 0x1004620b
cmp edi, 0x29
je 0x1004620b
test dl, 0x10
jne 0x10046209
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x1004620b
cmp ecx, 0x7d
je 0x1004620b
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10045550
jmp 0x100462c7
cmp eax, 0x2a
je 0x100462db
cmp eax, 0x2b
je 0x100462db
cmp eax, 0x3f
je 0x100462db
cmp eax, 0x7b
je 0x100462db
cmp eax, 0x7d
jne 0x10046254
test dword [esi + 0x50], 0x10000000
je 0x100462e9
jmp 0x10046266
cmp eax, 0x5d
jne 0x10046266
test dword [esi + 0x50], 0x10000000
je 0x100462f0
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.10046c90
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x100462b9
cmp word [eax], 0x5c
jne 0x100462b4
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x100462b2
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x100462a0
movzx edi, word [ecx]
cmp edi, 0x28
je 0x100462b4
cmp edi, 0x29
je 0x100462b4
test dl, 0x10
jne 0x100462b2
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x100462b4
cmp ecx, 0x7d
je 0x100462b4
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.10045550
mov ecx, esi
call fcn.10046af0
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x10045f33
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.10045540
push 5
call fcn.10045540
push 6
call fcn.10045540
push 4
call fcn.10045540
int3