Function at 0x539f65
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 0x53a0e7
je 0x53a0d3
cmp ecx, 0x26
jg 0x53a054
je 0x53a04c
cmp ecx, 0x21
jg 0x539ffa
je 0x539fe2
cmp ecx, 9
jl 0x53a11e
cmp ecx, 0xa
jle 0x539fbd
cmp ecx, 0xb
jle 0x53a11e
cmp ecx, 0xd
jle 0x539fbd
cmp ecx, 0x20
jne 0x53a11e
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
mov ecx, eax
jmp 0x539fcd
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x655590], al
jne 0x539fc8
mov dword [esi], 0x95
mov eax, ecx
jmp 0x53a442
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x53a43c
mov dword [esi], 0x4b
jmp 0x53a442
mov edx, ecx
sub edx, 0x22
je 0x53a320
dec edx
je 0x53a01b
dec edx
dec edx
jne 0x53a11e
mov dword [esi], 0x5a
jmp 0x53a0a3
movzx edi, byte [ebx + 1]
mov dl, 4
mov ecx, eax
test byte [edi + 0x655590], dl
je 0x53a412
inc ecx
movzx edi, byte [ecx + ebx]
test byte [edi + 0x655590], dl
jne 0x53a02f
cmp ecx, eax
jle 0x53a412
mov dword [esi], 0x84
jmp 0x539fdb
mov dword [esi], 0x52
jmp 0x53a0a3
mov eax, ecx
sub eax, 0x27
je 0x53a320
dec eax
je 0x53a0cb
dec eax
je 0x53a0c3
dec eax
je 0x53a0bb
dec eax
je 0x53a0b3
dec eax
je 0x53a0ab
dec eax
jne 0x53a11e
cmp byte [ebx + 1], 0x2d
jne 0x53a09d
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x53a08e
cmp ecx, 0xa
je 0x53a092
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x53a084
mov dword [esi], 0x95
jmp 0x53a442
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x53a442
mov dword [esi], 0x19
jmp 0x53a0a3
mov dword [esi], 0x56
jmp 0x53a0a3
mov dword [esi], 0x58
jmp 0x53a0a3
mov dword [esi], 0x17
jmp 0x53a0a3
mov dword [esi], 0x16
jmp 0x53a0a3
movzx eax, byte [ebx + 1]
test byte [eax + 0x655590], dl
jne 0x53a133
mov dword [esi], 0x76
jmp 0x53a0a3
cmp ecx, 0x3f
jg 0x53a2c1
je 0x53a29e
cmp ecx, 0x3b
jg 0x53a213
je 0x53a209
cmp ecx, 0x2f
je 0x53a1cb
jle 0x53a11e
cmp ecx, 0x39
jle 0x53a133
cmp ecx, 0x3a
je 0x53a412
test byte [ecx + 0x655590], 0x46
jne 0x53a3f0
xor eax, eax
inc eax
jmp 0x53a43c
mov dword [esi], 0x81
movzx ecx, byte [ebx]
xor eax, eax
jmp 0x53a145
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x655590], dl
jne 0x53a140
cmp byte [eax + ebx], 0x2e
jne 0x53a166
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x655590], dl
jne 0x53a153
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x53a173
cmp cl, 0x45
jne 0x53a1b9
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x655590], dl
jne 0x53a199
cmp cl, 0x2b
je 0x53a18c
cmp cl, 0x2d
jne 0x53a1b9
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x655590], dl
je 0x53a1b9
inc eax
inc eax
jmp 0x53a19e
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x655590], dl
jne 0x53a19d
mov dword [esi], 0x82
jmp 0x53a1b9
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x655590], 0x46
jne 0x53a1b2
jmp 0x53a442
cmp byte [ebx + 1], 0x2a
jne 0x53a1fe
mov cl, byte [ebx + 2]
test cl, cl
je 0x53a1fe
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x53a1e9
cmp byte [eax + ebx], 0x2f
je 0x53a1f8
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x53a092
inc eax
jmp 0x53a1de
inc eax
jmp 0x53a092
mov dword [esi], 0x59
jmp 0x53a0a3
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x53a442
mov eax, ecx
sub eax, 0x3c
je 0x53a262
dec eax
je 0x53a24d
dec eax
jne 0x53a11e
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x53a235
mov dword [esi], 0x50
jmp 0x53a271
cmp eax, 0x3e
jne 0x53a242
mov dword [esi], 0x55
jmp 0x53a271
mov dword [esi], 0x4d
jmp 0x53a0a3
xor eax, eax
mov dword [esi], 0x4c
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x53a442
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x53a279
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x53a442
cmp eax, 0x3e
jne 0x53a286
mov dword [esi], 0x4b
jmp 0x53a271
cmp eax, 0x3c
jne 0x53a293
mov dword [esi], 0x54
jmp 0x53a271
mov dword [esi], 0x4f
jmp 0x53a0a3
xor eax, eax
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x53a2b4
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x655590], dl
jne 0x53a2af
jmp 0x53a442
mov edx, ecx
sub edx, 0x40
je 0x53a412
sub edx, 0x18
je 0x53a38f
sub edx, 3
je 0x53a363
sub edx, 5
je 0x53a320
sub edx, 0x18
je 0x53a38f
sub edx, 4
je 0x53a304
dec edx
dec edx
jne 0x53a11e
mov dword [esi], 0x5d
jmp 0x53a0a3
cmp byte [ebx + 1], 0x7c
je 0x53a315
mov dword [esi], 0x53
jmp 0x53a0a3
mov dword [esi], 0x5b
jmp 0x53a271
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x53a33c
cmp edx, ecx
jne 0x53a337
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x53a340
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x53a329
cmp edx, 0x27
jne 0x53a350
mov dword [esi], 0x5e
jmp 0x53a25c
test edx, edx
je 0x53a43c
mov dword [esi], 0x1a
jmp 0x53a25c
xor eax, eax
inc eax
jmp 0x53a371
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x53a376
inc eax
cmp ecx, 0x5d
jne 0x53a368
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x53a442
cmp byte [ebx + 1], 0x27
jne 0x53a11e
push 2
mov dword [esi], 0x83
movzx ecx, byte [ebx + 2]
pop eax
jmp 0x53a3c4
cmp ecx, 0x27
je 0x53a3c8
movzx ecx, cl
test byte [ecx + 0x655590], 8
jne 0x53a3bf
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x53a3a8
mov edx, eax
and edx, 0x80000001
jns 0x53a3d7
dec edx
or edx, 0xfffffffe
inc edx
jne 0x53a3e1
test ecx, ecx
jne 0x53a25c
mov dword [esi], 0x94
test ecx, ecx
je 0x53a442
jmp 0x53a25c
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x53a3fe
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x655590], 0x46
jne 0x53a3f9
call fcn.00539eed
mov dword [esi], eax
mov eax, edi
jmp 0x53a442
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
xor edx, edx
test ecx, ecx
je 0x53a43c
movzx ecx, cl
test byte [ecx + 0x655590], 0x46
je 0x53a438
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x53a422
test edx, edx
jne 0x53a442
mov dword [esi], 0x94
pop edi
pop ebx
ret