Function at 0x53ff38
Capabilities:
Parse credit card information
Parse pe header

Disassembly:
mov edi, edi
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
xor eax, eax
inc eax
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x5400ba
je 0x5400a6
cmp ecx, 0x26
jg 0x540027
je 0x54001f
cmp ecx, 0x21
jg 0x53ffcd
je 0x53ffb5
cmp ecx, 9
jl 0x5400f1
cmp ecx, 0xa
jle 0x53ff90
cmp ecx, 0xb
jle 0x5400f1
cmp ecx, 0xd
jle 0x53ff90
cmp ecx, 0x20
jne 0x5400f1
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
mov ecx, eax
jmp 0x53ffa0
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x65c590], al
jne 0x53ff9b
mov dword [esi], 0x95
mov eax, ecx
jmp 0x540415
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x54040f
mov dword [esi], 0x4b
jmp 0x540415
mov edx, ecx
sub edx, 0x22
je 0x5402f3
dec edx
je 0x53ffee
dec edx
dec edx
jne 0x5400f1
mov dword [esi], 0x5a
jmp 0x540076
movzx edi, byte [ebx + 1]
mov dl, 4
mov ecx, eax
test byte [edi + 0x65c590], dl
je 0x5403e5
inc ecx
movzx edi, byte [ecx + ebx]
test byte [edi + 0x65c590], dl
jne 0x540002
cmp ecx, eax
jle 0x5403e5
mov dword [esi], 0x84
jmp 0x53ffae
mov dword [esi], 0x52
jmp 0x540076
mov eax, ecx
sub eax, 0x27
je 0x5402f3
dec eax
je 0x54009e
dec eax
je 0x540096
dec eax
je 0x54008e
dec eax
je 0x540086
dec eax
je 0x54007e
dec eax
jne 0x5400f1
cmp byte [ebx + 1], 0x2d
jne 0x540070
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x540061
cmp ecx, 0xa
je 0x540065
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x540057
mov dword [esi], 0x95
jmp 0x540415
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x540415
mov dword [esi], 0x19
jmp 0x540076
mov dword [esi], 0x56
jmp 0x540076
mov dword [esi], 0x58
jmp 0x540076
mov dword [esi], 0x17
jmp 0x540076
mov dword [esi], 0x16
jmp 0x540076
movzx eax, byte [ebx + 1]
test byte [eax + 0x65c590], dl
jne 0x540106
mov dword [esi], 0x76
jmp 0x540076
cmp ecx, 0x3f
jg 0x540294
je 0x540271
cmp ecx, 0x3b
jg 0x5401e6
je 0x5401dc
cmp ecx, 0x2f
je 0x54019e
jle 0x5400f1
cmp ecx, 0x39
jle 0x540106
cmp ecx, 0x3a
je 0x5403e5
test byte [ecx + 0x65c590], 0x46
jne 0x5403c3
xor eax, eax
inc eax
jmp 0x54040f
mov dword [esi], 0x81
movzx ecx, byte [ebx]
xor eax, eax
jmp 0x540118
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x65c590], dl
jne 0x540113
cmp byte [eax + ebx], 0x2e
jne 0x540139
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x65c590], dl
jne 0x540126
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x540146
cmp cl, 0x45
jne 0x54018c
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x65c590], dl
jne 0x54016c
cmp cl, 0x2b
je 0x54015f
cmp cl, 0x2d
jne 0x54018c
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x65c590], dl
je 0x54018c
inc eax
inc eax
jmp 0x540171
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x65c590], dl
jne 0x540170
mov dword [esi], 0x82
jmp 0x54018c
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x65c590], 0x46
jne 0x540185
jmp 0x540415
cmp byte [ebx + 1], 0x2a
jne 0x5401d1
mov cl, byte [ebx + 2]
test cl, cl
je 0x5401d1
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x5401bc
cmp byte [eax + ebx], 0x2f
je 0x5401cb
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x540065
inc eax
jmp 0x5401b1
inc eax
jmp 0x540065
mov dword [esi], 0x59
jmp 0x540076
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x540415
mov eax, ecx
sub eax, 0x3c
je 0x540235
dec eax
je 0x540220
dec eax
jne 0x5400f1
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x540208
mov dword [esi], 0x50
jmp 0x540244
cmp eax, 0x3e
jne 0x540215
mov dword [esi], 0x55
jmp 0x540244
mov dword [esi], 0x4d
jmp 0x540076
xor eax, eax
mov dword [esi], 0x4c
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x540415
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x54024c
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x540415
cmp eax, 0x3e
jne 0x540259
mov dword [esi], 0x4b
jmp 0x540244
cmp eax, 0x3c
jne 0x540266
mov dword [esi], 0x54
jmp 0x540244
mov dword [esi], 0x4f
jmp 0x540076
xor eax, eax
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x540287
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x65c590], dl
jne 0x540282
jmp 0x540415
mov edx, ecx
sub edx, 0x40
je 0x5403e5
sub edx, 0x18
je 0x540362
sub edx, 3
je 0x540336
sub edx, 5
je 0x5402f3
sub edx, 0x18
je 0x540362
sub edx, 4
je 0x5402d7
dec edx
dec edx
jne 0x5400f1
mov dword [esi], 0x5d
jmp 0x540076
cmp byte [ebx + 1], 0x7c
je 0x5402e8
mov dword [esi], 0x53
jmp 0x540076
mov dword [esi], 0x5b
jmp 0x540244
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x54030f
cmp edx, ecx
jne 0x54030a
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x540313
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x5402fc
cmp edx, 0x27
jne 0x540323
mov dword [esi], 0x5e
jmp 0x54022f
test edx, edx
je 0x54040f
mov dword [esi], 0x1a
jmp 0x54022f
xor eax, eax
inc eax
jmp 0x540344
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x540349
inc eax
cmp ecx, 0x5d
jne 0x54033b
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x540415
cmp byte [ebx + 1], 0x27
jne 0x5400f1
push 2
mov dword [esi], 0x83
movzx ecx, byte [ebx + 2]
pop eax
jmp 0x540397
cmp ecx, 0x27
je 0x54039b
movzx ecx, cl
test byte [ecx + 0x65c590], 8
jne 0x540392
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x54037b
mov edx, eax
and edx, 0x80000001
jns 0x5403aa
dec edx
or edx, 0xfffffffe
inc edx
jne 0x5403b4
test ecx, ecx
jne 0x54022f
mov dword [esi], 0x94
test ecx, ecx
je 0x540415
jmp 0x54022f
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x5403d1
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x65c590], 0x46
jne 0x5403cc
call fcn.0053fec0
mov dword [esi], eax
mov eax, edi
jmp 0x540415
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
xor edx, edx
test ecx, ecx
je 0x54040f
movzx ecx, cl
test byte [ecx + 0x65c590], 0x46
je 0x54040b
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x5403f5
test edx, edx
jne 0x540415
mov dword [esi], 0x94
pop edi
pop ebx
ret