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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x52c0b3
je 0x52c09f
cmp ecx, 0x26
jg 0x52c022
je 0x52c01a
cmp ecx, 0x22
jg 0x52bfc4
je 0x52c2f5
cmp ecx, 9
jl 0x52c0ea
cmp ecx, 0xa
jle 0x52bfa2
cmp ecx, 0xb
jle 0x52c0ea
cmp ecx, 0xd
jle 0x52bfa2
cmp ecx, 0x20
je 0x52bfa2
cmp ecx, 0x21
jne 0x52c0ea
cmp byte [ebx + 1], 0x3d
push 2
pop eax
je 0x52bf97
mov dword [esi], 0x94
jmp 0x52c45f
mov dword [esi], 0x4b
jmp 0x52c45f
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x52bfb0
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x598938], 1
jne 0x52bfab
mov dword [esi], 0x95
jmp 0x52c45f
mov eax, ecx
sub eax, 0x23
je 0x52bfe4
dec eax
je 0x52c3e6
dec eax
jne 0x52c0ea
mov dword [esi], 0x5a
jmp 0x52c06f
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dl, 4
inc eax
test byte [ecx + 0x598938], dl
je 0x52c3e6
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x598938], dl
jne 0x52bff9
cmp eax, 1
jle 0x52c3e6
mov dword [esi], 0x84
jmp 0x52c45f
mov dword [esi], 0x52
jmp 0x52c06f
mov eax, ecx
sub eax, 0x27
je 0x52c2f5
dec eax
je 0x52c097
dec eax
je 0x52c08f
dec eax
je 0x52c087
dec eax
je 0x52c07f
dec eax
je 0x52c077
dec eax
jne 0x52c0ea
cmp byte [ebx + 1], 0x2d
jne 0x52c069
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x52c060
cmp ecx, 0xa
je 0x52bfb9
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x52c052
jmp 0x52bfb9
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x52c45f
mov dword [esi], 0x19
jmp 0x52c06f
mov dword [esi], 0x56
jmp 0x52c06f
mov dword [esi], 0x58
jmp 0x52c06f
mov dword [esi], 0x17
jmp 0x52c06f
mov dword [esi], 0x16
jmp 0x52c06f
movzx eax, byte [ebx + 1]
test byte [eax + 0x598938], dl
jne 0x52c102
mov dword [esi], 0x76
jmp 0x52c06f
cmp ecx, 0x3f
jg 0x52c296
je 0x52c273
cmp ecx, 0x3b
jg 0x52c1e8
je 0x52c1de
cmp ecx, 0x2f
je 0x52c1a0
jle 0x52c0ea
cmp ecx, 0x39
jle 0x52c102
cmp ecx, 0x3a
je 0x52c3e6
test byte [ecx + 0x598938], 0x46
jne 0x52c3c4
mov dword [esi], 0x94
jmp 0x52c06f
mov dword [esi], 0x81
xor eax, eax
jmp 0x52c111
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x598938], dl
jne 0x52c10c
cmp byte [eax + ebx], 0x2e
jne 0x52c132
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x598938], dl
jne 0x52c11f
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x52c13f
cmp cl, 0x45
jne 0x52c17c
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x598938], dl
jne 0x52c165
cmp cl, 0x2b
je 0x52c158
cmp cl, 0x2d
jne 0x52c17c
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x598938], dl
je 0x52c17c
inc eax
inc eax
jmp 0x52c16a
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x598938], dl
jne 0x52c169
mov dword [esi], 0x82
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x598938], 0x46
je 0x52c45f
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x598938], 0x46
jne 0x52c18d
jmp 0x52bf8c
cmp byte [ebx + 1], 0x2a
jne 0x52c1d3
mov cl, byte [ebx + 2]
test cl, cl
je 0x52c1d3
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x52c1be
cmp byte [eax + ebx], 0x2f
je 0x52c1cd
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x52bfb9
inc eax
jmp 0x52c1b3
inc eax
jmp 0x52bfb9
mov dword [esi], 0x59
jmp 0x52c06f
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x52c45f
mov eax, ecx
sub eax, 0x3c
je 0x52c237
dec eax
je 0x52c222
dec eax
jne 0x52c0ea
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x52c20a
mov dword [esi], 0x50
jmp 0x52c246
cmp eax, 0x3e
jne 0x52c217
mov dword [esi], 0x55
jmp 0x52c246
mov dword [esi], 0x4d
jmp 0x52c06f
xor eax, eax
cmp byte [ebx + 1], 0x3d
mov dword [esi], 0x4c
sete al
inc eax
jmp 0x52c45f
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x52c24e
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x52c45f
cmp eax, 0x3e
jne 0x52c25b
mov dword [esi], 0x4b
jmp 0x52c246
cmp eax, 0x3c
jne 0x52c268
mov dword [esi], 0x54
jmp 0x52c246
mov dword [esi], 0x4f
jmp 0x52c06f
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dword [esi], 0x85
inc eax
mov dl, 4
jmp 0x52c289
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x598938], dl
jne 0x52c284
jmp 0x52c45f
mov eax, ecx
sub eax, 0x40
je 0x52c3e6
sub eax, 0x18
je 0x52c362
sub eax, 3
je 0x52c338
sub eax, 5
je 0x52c2f5
sub eax, 0x18
je 0x52c362
sub eax, 4
je 0x52c2d9
dec eax
dec eax
jne 0x52c0ea
mov dword [esi], 0x5d
jmp 0x52c06f
cmp byte [ebx + 1], 0x7c
je 0x52c2ea
mov dword [esi], 0x53
jmp 0x52c06f
mov dword [esi], 0x5b
jmp 0x52c246
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x52c311
cmp edx, ecx
jne 0x52c30c
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x52c315
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x52c2fe
cmp edx, 0x27
jne 0x52c325
mov dword [esi], 0x5e
jmp 0x52c231
test edx, edx
je 0x52bf8c
mov dword [esi], 0x1a
jmp 0x52c231
xor eax, eax
inc eax
jmp 0x52c346
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x52c34b
inc eax
cmp ecx, 0x5d
jne 0x52c33d
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
jmp 0x52c45d
cmp byte [ebx + 1], 0x27
jne 0x52c0ea
movzx ecx, byte [ebx + 2]
push 2
mov dword [esi], 0x83
pop eax
mov edx, 0x94
jmp 0x52c398
cmp ecx, 0x27
je 0x52c39c
movzx ecx, cl
test byte [ecx + 0x598938], 8
jne 0x52c393
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x52c380
mov edi, eax
and edi, 0x80000001
jns 0x52c3ab
dec edi
or edi, 0xfffffffe
inc edi
jne 0x52c3b5
test ecx, ecx
jne 0x52c231
mov dword [esi], edx
test ecx, ecx
je 0x52c45f
jmp 0x52c231
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x52c3d2
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x598938], 0x46
jne 0x52c3cd
call fcn.0052beab
mov dword [esi], eax
mov eax, edi
jmp 0x52c45f
movzx ecx, byte [ebx + 1]
and dword [ebp - 4], 0
xor eax, eax
inc eax
mov dword [esi], 0x85
mov edx, 0x94
test ecx, ecx
je 0x52c45d
movzx edi, cl
test byte [edi + 0x598938], 0x46
je 0x52c411
inc dword [ebp - 4]
jmp 0x52c428
cmp ecx, 0x28
jne 0x52c41c
cmp dword [ebp - 4], 0
jg 0x52c433
cmp ecx, 0x3a
jne 0x52c457
cmp byte [ebx + eax + 1], cl
jne 0x52c457
inc eax
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x52c400
jmp 0x52c457
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x52c44d
movzx edi, cl
test byte [edi + 0x598938], 1
jne 0x52c44d
cmp ecx, 0x29
jne 0x52c433
cmp ecx, 0x29
jne 0x52c455
inc eax
jmp 0x52c457
mov dword [esi], edx
cmp dword [ebp - 4], 0
jne 0x52c45f
mov dword [esi], edx
pop edi
pop ebx
leave
ret