Function at 0x45dc70
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 0x45dfeb
cmp eax, 0x7c
je 0x45dfeb
cmp eax, 0x29
jne 0x45dcad
cmp dword [esi + 0x10], 0
jne 0x45dfeb
test dword [esi + 0x50], 0x10000000
je 0x45dff8
jmp 0x45df7c
cmp eax, 0x2e
jne 0x45dcc1
push 5
lea ecx, [esi + 0x24]
call fcn.0045e050
jmp 0x45df89
cmp eax, 0x5c
jne 0x45dd9d
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x45dd10
cmp word [eax], 0x5c
jne 0x45dd0b
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x45dd09
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45dcf7
movzx edi, word [ecx]
cmp edi, 0x28
je 0x45dd0b
cmp edi, 0x29
je 0x45dd0b
test dl, 0x10
jne 0x45dd09
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x45dd0b
cmp ecx, 0x7d
je 0x45dd0b
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0045c580
test byte [esi + 0x50], 0x80
je 0x45dd91
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x45dd79
push 4
lea ecx, [esi + 0x24]
call fcn.0045e050
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x45df26
cmp word [eax], 0x5c
jne 0x45df21
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x45df1f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x45dd71
movzx edx, word [ecx]
cmp edx, 0x28
je 0x45df21
cmp edx, 0x29
je 0x45df21
test bl, 0x10
jmp 0x45df10
cmp eax, 0x42
jne 0x45dd91
push 4
lea ecx, [esi + 0x24]
call fcn.0045e050
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x45dd30
mov ecx, esi
call fcn.0045ebb0
jmp 0x45dfd6
cmp eax, 0x5b
jne 0x45de4f
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x45ddec
cmp word [eax], 0x5c
jne 0x45dde7
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x45dde5
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45ddd3
movzx edi, word [ecx]
cmp edi, 0x28
je 0x45dde7
cmp edi, 0x29
je 0x45dde7
test dl, 0x10
jne 0x45dde5
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x45dde7
cmp ecx, 0x7d
je 0x45dde7
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0045c580
lea ecx, [esi + 0x24]
call fcn.00460160
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x45de14
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.0045dc20
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x45de32
cmp eax, 0x5d
jne 0x45de32
push eax
lea ecx, [esi + 0x24]
call fcn.004601f0
mov ecx, esi
call fcn.0045dc20
mov ecx, esi
call fcn.0045fcf0
cmp dword [esi + 0x4c], 0x5d
jne 0x45e006
mov ecx, esi
call fcn.0045dc20
jmp 0x45dfd6
cmp eax, 0x28
jne 0x45dec8
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x45de9a
cmp word [eax], 0x5c
jne 0x45de95
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x45de93
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45de81
movzx edi, word [ecx]
cmp edi, 0x28
je 0x45de95
cmp edi, 0x29
je 0x45de95
test dl, 0x10
jne 0x45de93
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x45de95
cmp ecx, 0x7d
je 0x45de95
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0045c580
mov ecx, esi
call fcn.0045ed00
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x45dff8
mov ecx, esi
call fcn.0045dc20
test bl, bl
je 0x45dfdd
jmp 0x45dfd6
cmp eax, 0x5e
jne 0x45ded1
push 2
jmp 0x45ded8
cmp eax, 0x24
jne 0x45df32
push 3
lea ecx, [esi + 0x24]
call fcn.0045e050
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x45df26
cmp word [eax], 0x5c
jne 0x45df21
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x45df1f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45df0d
movzx edi, word [ecx]
cmp edi, 0x28
je 0x45df21
cmp edi, 0x29
je 0x45df21
test dl, 0x10
jne 0x45df1f
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x45df21
cmp ecx, 0x7d
je 0x45df21
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0045c580
jmp 0x45dfdd
cmp eax, 0x2a
je 0x45dff1
cmp eax, 0x2b
je 0x45dff1
cmp eax, 0x3f
je 0x45dff1
cmp eax, 0x7b
je 0x45dff1
cmp eax, 0x7d
jne 0x45df6a
test dword [esi + 0x50], 0x10000000
je 0x45dfff
jmp 0x45df7c
cmp eax, 0x5d
jne 0x45df7c
test dword [esi + 0x50], 0x10000000
je 0x45e006
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0045ef60
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x45dfcf
cmp word [eax], 0x5c
jne 0x45dfca
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x45dfc8
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x45dfb6
movzx edi, word [ecx]
cmp edi, 0x28
je 0x45dfca
cmp edi, 0x29
je 0x45dfca
test dl, 0x10
jne 0x45dfc8
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x45dfca
cmp ecx, 0x7d
je 0x45dfca
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0045c580
mov ecx, esi
call fcn.0045ee00
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x45dc83
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.0045c570
push 5
call fcn.0045c570
push 6
call fcn.0045c570
push 4
call fcn.0045c570
int3