Function at 0x41c25d
Capabilities:
Hash data using fnv
Parse credit card information

Disassembly:
mov edi, dword [ebp - 0x40c]
xor eax, eax
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x414], eax
mov dword [ebp - 4], eax
shr byte [ebp - 0x64f], 1
cmp edi, dword [ebp - 0x408]
jb 0x41c2bd
mov dword [edi], 0
push dword [ebp - 0x40c]
push dword [ebp - 0x538]
call fcn.00402b74
mov edi, dword [ebp - 0x40c]
test dword [ebp - 0x650], 0x20000
jne 0x41c9cb
cmp byte [esi], 0x5b
je 0x41ce67
cmp byte [esi], 0x23
je 0x41cf24
cmp byte [esi], 0x3b
je 0x41cb18
cmp dword [esi], 0x2d2d2d2d
je 0x41cafe
lodsb al, byte [esi]
cmp al, 0x20
je 0x41c545
cmp al, 9
je 0x41c545
cmp al, 0xd
je 0x41c566
cmp al, 0xa
je 0x41c566
test al, al
je 0x41c566
test dword [ebp - 0x650], 0x301
je 0x41c3e8
or dword [ebp - 0x650], 0x200
test dword [ebp - 0x650], 0x10000
jne 0x41c377
cmp al, 0x2a
je 0x41c49a
cmp al, 0x5f
je 0x41c4b2
cmp al, 0x2d
je 0x41c4be
cmp al, 0x2f
je 0x41c4a6
cmp al, 0x5b
je 0x41c636
cmp al, 0x5d
je 0x41c96d
cmp al, 0x5c
je 0x41c390
cmp al, 0x60
je 0x41c48e
and dword [ebp - 0x650], 0xfffffffb
call fcn.0041c398
jmp 0x41c2f4
cmp byte [esi], 0x20
jbe 0x41c37f
lodsb al, byte [esi]
jmp 0x41c37f
test dword [ebp - 0x650], 0x100000
je 0x41c45e
mov dword [edi], 0x3e64743c
lea edi, [edi + 4]
cmp al, 0x28
jne 0x41c452
dec edi
mov dword [edi], 0x6c6f6320
mov dword [edi + 4], 0x6e617073
mov word [edi + 8], 0x223d
lea edi, [edi + 0xa]
mov al, byte [esi]
lea esi, [esi + 1]
cmp al, 0x2c
je 0x41c42c
cmp al, 0x29
je 0x41c445
call fcn.0041c398
jmp 0x41c418
mov dword [edi], 0x6f722022
mov dword [edi + 4], 0x61707377
mov dword [edi + 8], 0x223d6e
lea edi, [edi + 0xb]
jmp 0x41c418
mov word [edi], 0x3e22
lea edi, [edi + 2]
mov al, byte [esi]
lea esi, [esi + 1]
or dword [ebp - 0x650], 2
jmp 0x41c32d
cmp al, 0x2a
jne 0x41c480
cmp byte [esi], 0x20
jne 0x41c480
mov dword [edi], 0x3e696c3c
add edi, 4
or dword [ebp - 0x650], 2
inc esi
mov al, byte [esi]
inc esi
jmp 0x41c32d
mov dword [edi], 0x3e703c
add edi, 3
jmp 0x41c32d
mov ecx, 0x10000
mov ebx, 0x45ec50
jmp 0x41c4c8
mov ecx, 8
mov ebx, 0x45ec58
jmp 0x41c4c8
mov ecx, pe_nt_image_headers32
mov ebx, 0x45ec60
jmp 0x41c4c8
mov ecx, 0x20
mov ebx, 0x45ec64
jmp 0x41c4c8
mov ecx, 0x40
mov ebx, 0x45ec7c
mov dl, al
test dword [ebp - 0x650], ecx
je 0x41c4e4
not ecx
and dword [ebp - 0x650], ecx
mov word [edi], 0x2f3c
lea edi, [edi + 2]
jmp 0x41c52e
test dword [ebp - 0x650], 4
je 0x41c37f
cmp byte [esi], 0x20
je 0x41c37f
cmp byte [esi], 9
je 0x41c37f
cmp byte [esi], 0xd
je 0x41c37f
cmp byte [esi], 0xa
je 0x41c37f
or dword [ebp - 0x650], ecx
mov byte [edi], 0x3c
lea edi, [edi + 1]
mov al, byte [ebx]
inc ebx
test al, al
je 0x41c53a
stosb byte es:[edi], al
jmp 0x41c524
mov al, byte [ebx]
lea ebx, [ebx + 1]
cmp al, 0x20
jbe 0x41c53a
stosb byte es:[edi], al
jmp 0x41c52e
mov byte [edi], 0x3e
lea edi, [edi + 1]
jmp 0x41c2f4
test dword [ebp - 0x650], 4
jne 0x41c2f4
or dword [ebp - 0x650], 4
mov byte [edi], al
lea edi, [edi + 1]
jmp 0x41c2f4
test al, al
je 0x41c571
xor al, 7
cmp byte [esi], al
jne 0x41c571
inc esi
or dword [ebp - 0x650], 4
test al, al
je 0x41c588
test dword [ebp - 0x650], 0x200
jne 0x41c58d
call fcn.0041ca41
test dword [ebp - 0x650], 1
je 0x41c602
cmp dword [ebp + 0x10], 0
je 0x41c5e1
mov dword [edi], 0x6320613c
mov dword [edi + 4], 0x7373616c
mov dword [edi + 8], 0x6162223d
mov dword [edi + 0xc], 0x20226b63
lea edi, [edi + 0x10]
mov dword [edi], 0x66657268
mov dword [edi + 4], 0x4223223d
lea edi, [edi + 8]
call fcn.0041d03c
mov word [edi], 0x3e22
mov dword [edi + 2], 0x3e612f3c
lea edi, [edi + 6]
mov byte [edi], 0x3c
lea edi, [edi + 1]
mov ecx, dword [ebp - 0x64c]
add ecx, 0x3e30682f
mov dword [edi], ecx
lea edi, [edi + 4]
and dword [ebp - 0x650], 0xfffffdfe
test dword [ebp - 0x650], 0x300
je 0x41c616
mov word [edi], 0xa0d
lea edi, [edi + 2]
test al, al
jne 0x41c292
mov dword [edi], 0
push dword [ebp - 0x40c]
push dword [ebp - 0x538]
call fcn.00402b74
ret
dec esi
push edi
push esi
mov edx, 0x811c9dc5
and dword [ebp - 0x644], 0
mov al, byte [esi]
lea esi, [esi + 1]
cmp al, 0x20
je 0x41c645
cmp al, 9
je 0x41c645
cmp al, 0xd
je 0x41c6ad
cmp al, 0xa
je 0x41c6ad
test al, al
je 0x41c6ad
cmp al, 0x5b
jne 0x41c668
inc dword [ebp - 0x644]
xor dl, al
imul edx, edx, 0x1000193
cmp al, 0x5d
jne 0x41c645
dec dword [ebp - 0x644]
jne 0x41c645
mov dword [ebp - 0x648], esi
mov ebx, edx
shr ebx, 0x10
xor ebx, edx
dec ebx
lea ebx, [ebx + 1]
and ebx, 0xffff
mov eax, dword [ebp - 0x410]
mov edi, dword [eax + ebx*4]
mov esi, dword [esp]
test edi, edi
jne 0x41c6b9
mov edi, esi
mov esi, dword [ebp - 0x648]
jmp 0x41c6fa
pop esi
pop edi
mov al, byte [esi]
lea esi, [esi + 1]
jmp 0x41c37f
and dword [ebp - 0x644], 0
mov al, byte [esi]
lea esi, [esi + 1]
cmp al, 0x20
je 0x41c6c0
cmp al, 9
je 0x41c6c0
mov ah, byte [edi]
lea edi, [edi + 1]
cmp ah, 0x20
je 0x41c6cd
cmp ah, 9
je 0x41c6cd
cmp al, ah
jne 0x41c68a
cmp ah, 0x5b
jne 0x41c6ed
inc dword [ebp - 0x644]
jmp 0x41c6c0
cmp ah, 0x5d
jne 0x41c6c0
dec dword [ebp - 0x644]
jne 0x41c6c0
mov dword [ebp - 0x640], 1
mov edx, dword [esp]
cmp byte [esi], 0x5b
jne 0x41c70f
mov dword [esp], esi
inc edx
cmp byte [edx], 0x23
je 0x41c746
cmp byte [edx], 0x3f
jne 0x41c726
mov dword [ebp - 0x640], 3
jmp 0x41c746
cmp byte [edx], 0x21
jne 0x41c737
mov dword [ebp - 0x640], 2
jmp 0x41c746
cmp byte [edx], 0x24
jne 0x41c746
mov dword [ebp - 0x640], 4
and dword [ebp - 0x644], 0
cmp byte [edi], 0x5b
jne 0x41c753
inc edi
mov al, byte [edi]
inc edi
cmp al, 0x20
je 0x41c753
cmp al, 9
je 0x41c753
dec edi
mov edx, edi
pop esi
pop edi
cmp dword [ebp - 0x640], 1
je 0x41c88d
cmp dword [ebp - 0x640], 4
je 0x41c7db
mov dword [edi], 0x676d693c
mov dword [edi + 4], 0x616c6320
mov dword [edi + 8], 0x223d7373
cmp dword [ebp - 0x640], 2
je 0x41c79f
mov dword [edi + 0xc], 0x6f6369
jmp 0x41c7a6
mov dword [edi + 0xc], 0x747874
lea edi, [edi + 0xf]
push esi
mov esi, edx
lodsb al, byte [esi]
cmp al, 0x21
je 0x41c7b6
cmp al, 0x3f
je 0x41c7b6
dec esi
lodsb al, byte [esi]
cmp al, 0x30
jb 0x41c7c2
cmp al, 0x39
ja 0x41c7c2
stosb byte es:[edi], al
jmp 0x41c7b6
lea edx, [esi - 1]
pop esi
mov dword [edi], 0x72732022
mov dword [edi + 4], 0x223d63
lea edi, [edi + 7]
jmp 0x41c8a1
push esi
mov esi, edx
cmp byte [edx], 0x24
jne 0x41c7e4
inc esi
mov dword [edi], 0x6469763c
mov dword [edi + 4], 0x63206f65
mov dword [edi + 8], 0x72746e6f
mov dword [edi + 0xc], 0x20736c6f
add edi, 0x10
cmp byte [esi], 0x30
jb 0x41c86a
cmp byte [esi], 0x39
ja 0x41c86a
mov dword [edi], 0x64697720
mov dword [edi + 4], 0x223d6874
add edi, 8
lodsb al, byte [esi]
cmp al, 0x78
je 0x41c834
cmp al, 0x20
jb 0x41c862
cmp al, 0x5d
je 0x41c862
cmp al, 0x30
jb 0x41c862
cmp al, 0x39
ja 0x41c862
stosb byte es:[edi], al
jmp 0x41c81c
mov dword [edi], 0x65682022
mov dword [edi + 4], 0x74686769
mov word [edi + 8], 0x223d
add edi, 0xa
lodsb al, byte [esi]
cmp al, 0x3a
je 0x41c862
cmp al, 0x20
jb 0x41c862
cmp al, 0x5d
je 0x41c862
cmp al, 0x30
jb 0x41c862
cmp al, 0x39
ja 0x41c862
stosb byte es:[edi], al
jmp 0x41c84a
mov word [edi], 0x2022
add edi, 2
mov dword [edi], 0x6f733c3e
mov dword [edi + 4], 0x65637275
mov dword [edi + 8], 0x63727320
mov word [edi + 0xc], 0x223d
add edi, 0xe
lea edx, [esi - 1]
pop esi
jmp 0x41c8a1
mov dword [edi], 0x6820613c
mov dword [edi + 4], 0x3d666572
mov byte [edi + 8], 0x22
lea edi, [edi + 9]
push ecx
push esi
mov esi, dword [ebp - 0x63c]
mov ecx, dword [ebp - 0x640]
mov byte [ebp + esi - 0x638], cl
inc dword [ebp - 0x63c]
mov esi, edx
cmp byte [esi], 0x3f
je 0x41c8d2
cmp byte [esi], 0x3a
je 0x41c8d2
cmp byte [esi], 0x24
je 0x41c8d2
cmp byte [esi], 0x21
jne 0x41c8d3
inc esi
cmp dword [ebp + 0xc], 0
je 0x41c8e5
push dword [ebp + 0x18]
push edi
push esi
call dword [ebp + 0xc]
mov edi, eax
mov esi, edx
call fcn.0041c939
pop esi
pop ecx
cmp dword [ebp - 0x640], 2
je 0x41c91d
cmp dword [ebp - 0x640], 3
je 0x41c91d
mov word [edi], 0x3e22
add edi, 2
and dword [ebp - 0x650], 0xfffffffb
inc esi
cmp byte [esi], 0x23
jne 0x41c2f4
inc esi
jmp 0x41c2f4
mov dword [edi], 0x6c612022
mov dword [edi + 4], 0x223d74
lea edi, [edi + 7]
inc esi
call fcn.0041c939
dec esi
jmp 0x41c2f4
call fcn.0041c985
jb 0x41c37f
jmp 0x41c2f4
cmp edi, dword [ebp - 0x408]
jb 0x41c9f0
mov dword [edi], 0
push dword [ebp - 0x40c]
push dword [ebp - 0x538]
call fcn.00402b74
mov edi, dword [ebp - 0x40c]
cmp dword [esi], 0x646e653b
je 0x41ca1d
mov al, byte [esi]
lea esi, [esi + 1]
call fcn.0041c398
test al, al
je 0x41ca1c
cmp al, 0xd
je 0x41ca0e
cmp al, 0xa
jne 0x41c9f8
xor al, 7
cmp byte [esi], al
jne 0x41c9cb
inc esi
mov byte [edi], al
lea edi, [edi + 1]
jmp 0x41c9cb
dec esi
mov dword [edi], 0x72702f3c
mov word [edi + 4], 0x3e65
mov word [edi + 6], 0xa0d
lea edi, [edi + 8]
and dword [ebp - 0x650], 0xfffdffff
jmp 0x41cfaf
call fcn.0041ca41
mov dword [edi], 0x2072683c
mov dword [edi + 4], 0xa0d3e2f
lea edi, [edi + 8]
jmp 0x41cfaf
cmp dword [esi], 0x646e653b
je 0x41cd70
cmp dword [esi], 0x6c696b3b
jne 0x41cb36
cmp byte [esi + 4], 0x6c
je 0x41cd7f
cmp dword [esi], 0x6765623b
jne 0x41cb83
cmp word [esi + 4], 0x6e69
jne 0x41cb83
call fcn.0041ca41
mov dword [edi], 0x6572703c
mov dword [edi + 4], 0x616c6320
mov dword [edi + 8], 0x223d7373
lea edi, [edi + 0xc]
push esi
add esi, 6
call fcn.0041d04f
pop esi
mov word [edi], 0x3e22
lea edi, [edi + 2]
or dword [ebp - 0x650], 0x20000
jmp 0x41cfaf
cmp dword [esi], 0x6261743b
jne 0x41cbbe
cmp word [esi + 4], 0x656c
jne 0x41cbbe
call fcn.0041ca41
mov al, 2
call fcn.0041ce35
mov dword [edi], 0x6261743c
mov dword [edi + 4], 0x3e656c
add edi, 7
or dword [ebp - 0x650], 0x100000
jmp 0x41cfaf
cmp dword [esi], 0x2d2d2d3b
jne 0x41cbe4
call fcn.0041ca41
mov dword [edi], 0x72742f3c
mov dword [edi + 4], 0x72743c3e
mov byte [edi + 8], 0x3e
lea edi, [edi + 9]
jmp 0x41cfaf
cmp dword [esi], 0x6f75713b
jne 0x41cc48
cmp word [esi + 4], 0x6574
jne 0x41cc48
call fcn.0041ca41
mov al, 1
call fcn.0041ce35
mov dword [edi], 0x6f6c623c
mov dword [edi + 4], 0x75716b63
mov dword [edi + 8], 0x3e65746f
mov dword [edi + 0xc], 0x6165683c
mov dword [edi + 0x10], 0x3e726564
lea edi, [edi + 0x14]
push esi
add esi, 6
call fcn.0041d04f
mov dword [edi], 0x65682f3c
mov dword [edi + 4], 0x72656461
mov byte [edi + 8], 0x3e
lea edi, [edi + 9]
pop esi
jmp 0x41cfaf
cmp dword [esi], 0x696c753b
jne 0x41cc72
cmp word [esi + 4], 0x7473
jne 0x41cc72
call fcn.0041ca41
mov al, 3
call fcn.0041ce35
mov dword [edi], 0x3e6c753c
add edi, 4
jmp 0x41cfaf
cmp dword [esi], 0x696c6f3b
jne 0x41cc9c
cmp word [esi + 4], 0x7473
jne 0x41cc9c
call fcn.0041ca41
mov al, 4
call fcn.0041ce35
mov dword [edi], 0x3e6c6f3c
add edi, 4
jmp 0x41cfaf
cmp dword [esi], 0x6f70733b
jne 0x41cd02
cmp dword [esi + 4], 0x72656c69
jne 0x41cd02
call fcn.0041ca41
mov al, 5
call fcn.0041ce35
mov dword [edi], 0x7465643c
mov dword [edi + 4], 0x736c6961
mov dword [edi + 8], 0x75733c3e
mov dword [edi + 0xc], 0x72616d6d
mov word [edi + 0x10], 0x3e79
add edi, 0x12
push esi
add esi, 8
call fcn.0041d04f
mov dword [edi], 0x75732f3c
mov dword [edi + 4], 0x72616d6d
mov word [edi + 8], 0x3e79
add edi, 0xa
pop esi
jmp 0x41cfaf
cmp dword [esi], 0x79656b3b
jne 0x41cd24
cmp dword [esi + 4], 0x64726f77
jne 0x41cd24
cmp byte [esi + 8], 0x73
jne 0x41cd24
add esi, 9
mov ecx, dword [ebp - 0x530]
jmp 0x41cd47
cmp dword [esi], 0x7365643b
jne 0x41cd6b
cmp dword [esi + 4], 0x70697263
jne 0x41cd6b
cmp dword [esi + 8], 0x6e6f6974
jne 0x41cd6b
add esi, 0xc
mov ecx, dword [ebp - 0x52c]
push esi
nop
mov al, byte [esi]
lea esi, [esi + 1]
test al, al
je 0x41cd5a
cmp al, 0xd
je 0x41cd5a
cmp al, 0xa
jne 0x41cd49
dec esi
mov byte [esi], 0
push ecx
call fcn.00402b74
mov byte [esi], al
jmp 0x41cfaf
jmp 0x41cfaf
call fcn.0041ca41
call fcn.0041cd90
jmp 0x41cfaf
call fcn.0041ca41
call fcn.0041cd90
jae 0x41cd84
jmp 0x41cfaf
mov al, byte [esi + 1]
cmp al, 0x23
je 0x41ce7b
cmp al, 0x5e
jne 0x41cfaf
jmp 0x41cfaf
add esi, 2
mov dword [edi], 0x3e703c
lea edi, [edi + 3]
or dword [ebp - 0x650], 0x202
mov dword [edi], 0x6320613c
mov dword [edi + 4], 0x7373616c
mov dword [edi + 8], 0x2261223d
mov dword [edi + 0xc], 0x3d646920
mov byte [edi + 0x10], 0x22
add edi, 0x11
push esi
call fcn.0041ceeb
mov dword [edi], 0x72682022
mov dword [edi + 4], 0x223d6665
mov byte [edi + 8], 0x23
lea edi, [edi + 9]
pop esi
call fcn.0041ceeb
mov word [edi], 0x3e22
lea edi, [edi + 2]
mov dword [edi], 0x3e612f3c
lea edi, [edi + 4]
mov al, byte [esi]
jmp 0x41c37f
xor ecx, ecx
inc ecx
lea esi, [esi + 1]
mov al, byte [esi]
cmp al, 0x23
je 0x41cf26
cmp al, 0x20
je 0x41cf27
cmp al, 9
je 0x41cf27
cmp al, 0xd
je 0x41c566
cmp al, 0xa
je 0x41c566
cmp ecx, 6
jbe 0x41cf52
mov ecx, 6
call fcn.0041cfd4
shl ecx, 0x10
mov dword [ebp - 0x64c], ecx
add ecx, 0x2030683c
mov dword [edi], ecx
mov dword [edi + 4], 0x223d6469
mov byte [edi + 8], 0x48
lea edi, [edi + 9]
call fcn.0041d03c
mov word [edi], 0x3e22
lea edi, [edi + 2]
cmp dword [ebp - 0x64c], 0x10000
je 0x41cfa3
call fcn.0041d03c
mov dword [edi], 0x73626e26
mov word [edi + 4], 0x3b70
lea edi, [edi + 6]
or dword [ebp - 0x650], 1
jmp 0x41c2f4
mov al, byte [esi]
lea esi, [esi + 1]
test al, al
je 0x41c61e
cmp al, 0xd
je 0x41cfc4
cmp al, 0xa
jne 0x41cfaf
xor al, 7
cmp byte [esi], al
jne 0x41c292
inc esi
jmp 0x41c292